This week was spent on revision, the test is coming up on Wednesday. I am working on an aid sheet full of help for different parts of the syllabus, however I am not feeling so well and haven't been for the past few days and hope I'll be able to attend.
I finished the assignment right on time. It wasn't perfect, actually it had quite a few hiccups especially when it came to regex_match and is_regex. My code looked right to me but I had an issue spitting out the list of valid regexs depending on the input. I got very very frustrated with it, but I had to upload it as time was running out. I've worked on every assignment and exercise by myself this year and I don't think it was the best of ideas. I think I figured out one of the most essential part of programming, asking for help. Every start up has a group of people, hell even our tutorials focus on working in pairs. Next year/next programming class will definitely push me to groups and I am looking forward to it.
This week's readings focused on Sorting but the first lecture focused on running time analysis with big-Ohs and logarithmic questions coming to haunt me from my other classes into this one. I am so used to using (a bit repetitive used and using) logs in math that seeing it in a programming course takes me a back a little but I am excited to see how to use old knowledge to grasp new one.
Big-Oh hierarchy sounded hard when first looking through the slides but the annotated ones were more useful with Danny summing it up nicely in this way:
The rest was all about sorting which I found to be fairly simple when explained properly. It makes sense, way more sense than anything containing Recursion.
While going through the different Sorting methods I tried to find ways to remember some of them, I also couldn't help but notice Bubble Sort being listed, I know it's an obvious one but can't help but remember when Barack Obama mentioned how inefficient it was at a talk.
Was hoping the tutorial would be about sorting but it was focused on linked list traversal with the task being to complete:
def inorder(root: BTNode) -> (LLNode, LLNode):
"""Return the first and last nodes in a linked list that contains every
value from the binary tree rooted at root, listed according to an inorder
traversal.
"""
and then write the code for longest which took the root of a binary tree as an argument and that returned the first node in a linked list that contained every value in a longest path from the root of the binary tree to one of its leaves which was quite challenging although with the help of my teammate and the TA wasn't that big an issue, just hoped that I would remember it all once it came to the test.
Interesting SLOG of the week:
http://dirtystevecsc.blogspot.ca/
His post for Week 10 was fairly similar to mine and that's why it stood out for me. He talked about how he felt the questions in the course were easy however the lack of trial and error that comes with written tests was too much of a burden. I agree with him completely, Computer Science tests lack a major component in my opinion, the Computer part. Like Steve said (I'm assuming his name is Steve based on the dirty-steve-csc blog name) the tests feel a lot more like trying and learning confusing syntax.
No comments:
Post a Comment