Sunday 1 February 2015

W4: If at First You Don't Succeed, You Must be a Programmer.

    Well, that sure went by pretty quickly. On January 9, 2015, I remember thinking, "why. is. this. first. week. taking. so. long.", but I seem to have just skipped through the second and third week. I attended one of the ramp-up sessions  because I felt a refresher would be of benefit, even though I just took csc108 last semester.


This picture accurately describes how I feel about computer science at times.  
The first weeks started with some confusion but I think I'm starting to get right into things. The biggest adjustment, I think, from csc108, is the change in lecture style. 

    Csc108 was run as an inverted class- which I enjoyed and found very helpful. 
(1) we had in class work-sheets, the opportunity to see if we understood the material and was capable of implementing it ourselves; and if not, ask the prof or the TA's!
(2) the amount of questions asked was also significantly higher (in my opinion), I find sometimes in lecture, people are too shy, or don't necessarily get the opportunity to ask question(s). Maybe several which are common among students. 
(3) sometimes, in lecture, I see the example and I think, "yeah, I could've come up with that", when in reality, it probably would've taken much effort but because I saw it, instead of trying it myself, I thought I could.

  As I adjust to the lecture style of csc148, I realize that the weekly labs have definitely been of help to me because I have the chance to apply what we've learned about in lecture, in practice. The labs are also more specific, focusing on one aspect at a time with a TA available to look at your work and answer questions or explain certain things. This also allows for me to figure out what I am uncomfortable with or uncertain about and ask for help with.

Recap: 
_______________________________________________________________________

As for week four, I didn't know why my friends were so excited, but now I see.

def. Recursive loop: See "recursive loop". 

    To be honest, I had never done programming before I decided to study it in university. In the summer, before I came to Toronto, my very talented friend Paul, who self taught and self learned programming taught me some programming- or attempted to, is probably the better phrase. I worked with Java for maybe a period of three weeks with him as my instructor. We'd meet once a week for a lesson and then he'd give me an assignment to complete for the next class. I must say I did learn a great deal of things from him, but I didn't understand everything as a whole at the time; it all started being pieced together and making sense in 108. We didn't really start with the basic foundation, but rather, the basic concepts, and one of the concepts he taught, was recursion. 

    My general understanding of recursion at the time was, "so it's like code-ception..." This understanding, is somewhat correct, but there's definitely more to it. I've taken a look back at the assignment I had to do in Java over in the summer, which was to make a recursive method that will return based on a given index, the corresponding term of the Fibonacci sequence. For those of you that don't know, the Fibonacci sequence is formed by adding two numbers before the current term together (first two numbers of the sequence are 0 and 1); looking back now, I have a better understanding. In lectures, as well as this week's lab we've been practicing tracing recursive functions of different depths as well as writing our own simple little recursive function. Tracing, I think, helps to understand it. 

People often joke, that in order to understand recursion, 
you must first understand recursion.

2 comments:

  1. Loved the joke at the end. Code-ception should be the definition of recursion :)

    ReplyDelete
  2. Thanks! So, I'm not the only one who thinks that haha :)

    ReplyDelete