...and with it, exams, and the end of this course. For my last blog entry, I thought it would be good to reflect on my experience in this course, and how it has (or not) met my expectations.
Coming fresh out of CSC165, I was looking forward to this course. I actually enjoyed most of CSC165 and wanted to dive deeper into the world of proofs and algorithms. The first section of the course, truthfully, I found overly simple, but that may be because I've seen induction in other courses prior to coming in.
Part 2, on recursion and complexity, offered more new material. The process of unwinding recurrences was new to me, but was intuitive enough that I was able to grasp it (and am surprised we never used it in CSC148). I was particularly interested on the Fibonnaci sequence; it was surprising that a sequence of natural numbers could have such a strange closed forms (that included irrational numbers). I plan to revisit this after I learn more about differential equations.
Part 3 of the course was the least enjoyable for me. I understand the use of program correctness, loop invariants, recursive correctness, but they all seem very tedious and not intuitive when deriving them. This made A3 the most difficult part of the course for me, particularly the question 4 with the binary search algorithm. This is something I'm going to have to work on for future CS courses.
The end of the course, on formal languages, actually turned out to be my favourite part. The process of generating and proving DFSAs and regular expressions takes a combination of logic and lateral thinking, and it was very rewarding when you finally find the solution. This part of the course has inspired me to want to take CSC448 and go deeper into these topics some point in my undergrad future.
This was definitely my favourite course of this semester. I found it helped me to think logically and aided me in my other math courses as well. As a bonus, I also learned some of the basics of LaTeX (although I mostly used LyX, sometimes it just didn't cut it, and so I switched to LaTeX). After taking 165 and 236, I am very much considering taking 3rd and 4th year courses on computational theory to go deeper into this challenging but interesting field.
If you've read up to this point, thanks! This will most likely be the final entry in my sLog. I hope it provided a decent insight into the experience of a student in CSC236.
On an unrelated note, take a look at this puzzle. It has a surprisingly logical solution that can be found inductively. (Here is a rough solution if you don't bother solving it).
Well, that's all for me. Peace out!
- Jake
No comments:
Post a Comment