Friday, 21 February 2014

Week 5: Scope, namespace...WHAT?!

In lecture this week we began with a simple trace of recursion, 

How I see it is simply, first you have a simple list, that finds the largest number. But what if you have a nested list. This case is simple, similarly you call the same function again through the nested lists, than find the max between the nested and non-nested lists. The examples given in the slides were straight forward and allows one to see how recursive calls could find the max number easily. Just as any day was a nice way to fully understand recursion, and how we can trace a code ourselves. 

Interesting enough we moved on to have a deeper understanding of scopes and namespaces. Namespaces are defined as the mapping of names to objects. Some examples of that could be the global names in a module, for example: If you have a module named GetStudent.py. Then have a class within that called Student(): or you have local names such as a method named add() 
The important thing I understand from a namespace is between module to module you can have the same name to a method in both, in order to differ between the two you must call with the prefix of the module or class, ex: GetStudent.add(). 
In addition to namespace, there are scopes. What the namespace is declared to be and the scope in which they can be found or called without having to assign where the function is. 
for example, a function named 
there is a local name of a function: add_numbers()  which is the inner-most 
--i  see this as the function that is in the program you are working with. 
then there could be a function which is called with the module name, so there is a module named mathematics, the outermost scope is mathematics.add_numbers() 
-- at this point it could be in, or out of the module, but it will search the module then find the local name of the function for execution. 
then the last place to search for this function name would be in the builtin namespaces. 
for example: max() 
--after not finding the name anywhere in your own namespaces, lets look through global namespaces. 

Sunday, 2 February 2014

Week 4: blog post

Started the week off with a bang in tutorial!  Out of the labs so far, this one really helped me use what I have read and learnt about in lecture and apply it to hands on programming. I had walked into lab believing I have a full understanding of inheritance, but while working with my partner and TA I had learnt that I was approaching programming tasks incorrectly, for instance, when initializing the Motorized class we had included current_pos within the arguments, but the current pos will never be given by the user, it will always start at (0.0, 0.0) then the program will adjust it with the new position. Failure to draw out a program and understand what it is expected to become has hurt me in the past so I am training myself to first plan and draw out what is expected then start creating the program on the computer.
UNITTEST, so I'll be honest, and I hope all of you are as well. I totally forgot about unittest or that it was something of importance in our crazy student lives. I knew the name happened somewhere in my life as a CS student but it's significance or operations did not jog any memory, I knew it was a built in testing method in python. Overall the technicalities are not what I wanted to talk about because I think once we read what the expectations of a unittest were and how to implement it in your program it was pretty straight forward. What unittest has taught me this week which I had never taken into consideration in 108 was building a program, testing that program etc. Obviously with the assignments from last semester we did create a final product but I feel as if 148 is helping us build something of our own to a certain extent.

Lecture was great! Dustin really gave us interesting examples of how recursion is helpful in programming and gave examples of how it worked, I feel like I have an overall understanding of the topic.

In conclusion this week has really helped my understanding of the course, I felt pretty lost in the first three weeks. Even after completing the readings and going to lecture, there wasn't a connection or lasting understanding of the material. I'm excited for this week see you all in class, tutorial or in the lab working on a1! 

MUCH LOVE! :)