Tuesday, September 16, 2014

Week 1 - Introduction, Precision, Quantifiers


The introduction to this course shed some light on a number of interesting points such as the significance of ambiguity and precision when traversing back and forth between informal English to logical expressions and then to computer code.  One could say that this is very much a communications course in mathematics.

Ambiguity can be very frustrating particularly for Comp. Sci. students and I guess students in general.  Even the slightest obscurity in the course information and Piazza (our course forum) lights up with questions.  Those of you who are also taking CSC148 this semester know what I’m talking about.  But it’s not all bad.  For one thing it does add humor to our lives.  I definitely had to stop and think for a minute after reading those “double meaning headlines” in our lecture notes.

To illustrate the problem solving aspect of the course we went through a fun exercise about the man on the streetcar with three kids of unknown age.  The problem solving procedure that was presented seemed pretty standard to what’s been drilled into us since elementary school but I was able to take away a couple important points.  The first would be to keep a log of all the mistakes and dead-ends encountered through the process of solving the problem.  I think this is a great idea to help track all the silly syntax errors that you make when programming.  This way you can avoid stupid mistakes on programming exams and midterms.  The second point relates to the exercise we did in class and that is useful information can sometimes be hidden within things that appear to be useless. 

We were also introduced to set operations in Python and how they relate to universal and existential claims.  I found this part to be somewhat tricky, as it required us to translate English sentences (mathematical statements) into logical python code.  It then got even trickier when we started adding negation operators and tried to translate the code back into English to explain what a function does.  It didn’t help that I had not previously seen some of the set operations used in class.   This statement was particularly frustrating: “{x in S2 for x in S1}”.  I had to test this in the lab before I fully understood what those functions meant.  Did you know that this statement returns a set of True or False or Both?  I didn’t.  But it makes sense since we are using those with the any( ) and all ( ) functions.

1 comment:

  1. Just checking to see if the comments section works.

    ReplyDelete