I just wanted to make a note of some of my thoughts on the test.
Overall, it was quite straightforward. There was nothing new that we didn't cover in class. Time management is of course crucial for any test, and that's definitely something I need to work on for CS, because I'm not used to having to work under pressure for programming. I think gaining more familiarity with Python syntax overall will help quite a bit (for instance, I didn't know how min() evaluates a list of tuples, and assumed that it looks at each integer and outputs the lowest number, which is incorrect), but more importantly, I need to work on more exercises to familiarize myself with the type of questions you can come across for each concept we covered.
Then there are the silly mistakes. For one of the questions, I replaced what should've been a parameter inputted by the user with a value. Got tricked by the docstring example. Oh man.
On the bright side, I have a much better grasp of recursion now. The thing that didn't click with me in the beginning with recursion was how the function returns after it has reached its base case. In actuality, it's just like evaluating a mathematical function, you replace f(x), with the value it evaluates to. The return from say f(x) is what replaces the 'bigger' f(x) at the level above. The problem becomes very simple when you realize this.
I remember at the beginning of the course when we first did sum of a nested list. Danny told us not to trace through the steps, but to think on the surface of how the problem can be broken down and just go for it. I came across the same piece of advice when I was looking online on how to approach recursion problems online. In a way, you just need to have the general intuition that the problem will be broken up into smaller bits when you call the recursive function with a parameter that breaks up the initial input, and eventually reach a base case that will start returning the result at each step, where the function then evaluates at each step. You just need to trust it. And in that way, recursion is quite magical.
Well, that marked the beginning of test crunch, and now we speed towards the end of the semester. It's great that I have a much better idea of how I should study for tests now. Here's to doing much better on my next test!
Glad to hear that you know how study better for your next exams. Good luck with your exams and the rest of term.
ReplyDelete