Monday, 28 October 2013

ASSIGNMENT 2 AND EXERCISE 5

THIS NEW CONCEPT OF USING A METHOD RECURSIVELY SIMPLIFIES THE CODE YOU NEED TO USE BY A GREAT DEAL. HOWEVER CALLING IT PROPERLY IS A LITTLE CONFUSING. SOMETIMES YOU HAVE TO CALL IT, FOR EXAMPLE, ON A SELF.RIGHT, WHILE OTHER TIMES SELF.RIGHT HAS TO BE THE ARGUMENT WHILE YOU CALL IT ON A CLASS. THIS IS A GOOD CONCEPT TO USE FOR THE ASSIGNMENT. HOWEVER THE ASSIGNMENT IS MORE A BACKWARDS VERSION, WITH QUITE  A FEW BASE CASES. WHICH MAKES TRYING TO FIGURE OUT THE RECURSION QUITE DIFFICULT. ALSO FIGURING OUT HOW TO PARSE THROUGH THE STRING IS INTERESTING, IT HAS TO AGREE WITH THE BASE CASES PROPERLY, EXECEPT THAT THERE A QUITE A FEW DIFFERENT EXAMPLES YOU HAVE TO TAKE INTO CONSIDERATION.

Monday, 21 October 2013

Midterm/E4

PAST WEEK WE HAD THE MIDTERM AND EXERCISE 4 DUE. THE MIDTERM WAS A GOOD TEST OF ALL THE THINGS WE LEARNED, RECURSION, DEFINING CLASSES AND TEST CASES, AND GOING THROUGH A FUNCTIONS OUTPUT. THE PLACES WHICH WERE THE MOST CHALLENGING WAS IN THE FUNCTIONALLIST, AND ACTUALLY RETURNING A FUNCTIONALLIST, NOT JUST A NORMAL LIST.

E4 IS THE BEGINNING OF STUDYING RECURSIVE DATA STRUCTURES(TREES). I STRUGGLE WITH IMPLEMENTING THE CORRECT WAY TO CREATE MY STRUCTURE WHEN I HAVE THE IDEA IN MY HEAD, AND WHEN I DO, TRYING TO SIMPLIFY THE CODE.


Monday, 14 October 2013

OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING IS BASED ON DEFINING A THING THAT WE CAN PERFORM DIFFERENT ACTIONS ON. IT IS TYPICALLY ASSOCIATED WITHIN A CLASS. IT ALLOWS US TO STORE VARIABLES IN OBJECTS AND THAN PREFORM ACTIONS ON THESE OBJECTS. IT IS HELPFUL BECAUSE WE DONT HAVE TO DEFINE A NEW OBJECT EVERYTIME WE WANT TO PERFORM AN ACTION ON IT, AS LONG AS WE HAVE THOSE OBJECT DEFINED AND THE ACTIONS WE WANT TO PERFORM ALSO DEFINED AND RELATED TO THE OBJECT

RECURSION

RECURSION IS A VERY HELPFUL TOOL TO PROGRAMMERS. IT IS  CALLING A FUNCTION INSIDE ITSELF BUT USING A SLIGHTLY SMALLER CASE, ALONG WITH ITS OWN BASE CASE. IT ALLOWS US TO SOLVE QUITE COMPLEX PROBLEMS WITH RELATIVELY SMALL AMOUNTS OF CODE. INSTEAD OF WRITING CODE FOR EACH INDIVIDUAL STEP WHICH WOULD END UP BEING BASICALLY THE SAME THING, JUST FOR A DIFFERENT CASE, WE CALL THE FUNCTION INSIDE ITSELF TO DO WHAT IT DOES FOR EACH INDIVIDUAL STEP. IT IS A LITTLE CONFUSING TO LEARN AT FIRST. IT FEELS LIKE WE JUST HAVE TO TRUST THAT OUR FEW LINES OF CODE, USING THE FUNCTION INSIDE ITSELF AND OUR BASE CASE, WILL SOMEHOW PRODUCE THE DESIRED OUTPUT. AFTER PLAYING WITH RECURSIVE PROGRAMS FOR A WHILE IT DOESNT SEEM QUITE SO WEIRD.