Well
this is it, my final blog post. It’s been a fun journey this semester learning
about logic, proofs, complexity and computability. Monday was a daunting
lecture for me through which I was confused about why there are infinitely many
more real numbers than rational numbers. I’m going to keep reading the notes
and hope that something clicks because the proof shown in class once again didn't convince me. Tutorial was super easy since the reductions we had to make didn't require much work. I liked the in-class problem solving episode we did on
Wednesday and my partner was definitely onto something. I didn't go to class
today since I needed the time to study for my upcoming exams but I’m sure that
it was a very fun lecture. Most importantly, I figured out the perfect solution
to the diagonal problem on Tuesday night and I showed it to Professor Heap on
Wednesday morning and he confirmed that it was correct. Here it is:
def
diagonal(m, n):
x = fractions.gcd(m, n)
m = m / x
n = n / x
return x*(m + n - 1)
As
you can see, the solution is quite simple and it involves reducing the problem
to a case where either m or n is odd. I felt an amazing satisfaction when I
finally figured it out and I’m really glad that the problem solving approach
taught in this class led me to the right answer.
In
closing, this course has been crucial to my understanding of proofs and logic.
It has taken my knowledge to new heights and I can’t wait to start CSC236 next
year. Professor Heap’s teaching style and jokes (most of which I think I was
the only one that understood), were the best I have seen so far in my first
year in university. He was also very approachable and helpful with a variety of
different course materials. I hope that I have him as an instructor in my
future courses since he is concise and entertaining. So long CSC165!