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.
Just checking to see if the comments section works.
ReplyDelete