In short, recursion is just a special case of naming. When a definition includes the name we give to the entire definition itself, we have recursion. This topic is not a hard one, though sometimes it is not easy to find the pattern when unwinding. Other than that, I just have to be extra careful when defining a function, not to miss out on any cases and make sure it is a recursion based on previous elements. The topic on time complexity is the one that caused most trouble for me this week. After reading the slides over and over again, I still can't seem to understand how to calculate the time complexity of a function. For this, I am going to ask for help from some friends, and if that doesn't work, I will go talk to the TAs next week.
ASSIGNMENT #1Also, this is the week that assignment 1 is due. I was expecting the assignment questions to be on the same level of difficulty as the problem sets, but I was wrong. The first question was ok, but the second and third question took me quiet a while to figure out. I was stuck on figuring out a general technique for making the lunch menus for a long time. The TAs at the Help Center were a great help. They made the question look so easy. I guess I was just thinking too much.... Oh, one other thing, I didn't start looking at the assignment sheet until the weekend, and I found it pretty rushed to get all of the questions done. I didn't hand in the assignment until the very last minute. For next time, I'll know to start working on assignments early, not going to leave it to the last minute again.