Sunday, June 22, 2014

Week 2

Class:
This week was quite a bit more challenging than the last. C++ is a very tricky language and it appears that as a developer you can choose to override a lot different things that java doesn't even come close to allowing. For example, you can override the += operator to handle objects instead of just the built in types. As a result it becomes important to know exactly what kind of things you can put on either side of the operator as well as what the final operation returns. This happens to be the weakest part of my understanding as two bombed quizzes have revealed. I need to swing by office hours this week to get this l-value and r-value stuff clarified and understood as soon as possible. Im also very excited for the next topic since this last Friday the professor got to talking about memory management. People are usually TERRIFIED of this concept but lucky for me I had spent some time last semester looking at some cool videos online to prepare for some of my C++ interviews. For those of you who are coming from java and are completely lost when it comes to C++, I highly recommend watching these videos from Stanford University. The class (CS106B Programming Abstractions) was taught by Julie Zelenski way back in 2006 so a lot of the stuff she shows is from C99 but its still an excellent introduction to C++. Anyways, in this particular lecture, she does an excellent job of motivating the idea behind pointers and follows into the next lecture explaining some of the really important concepts that Professor Downing explained this past week.

Project:
Collatz was a pleasant success. I started working on it Monday at noon and was done by 8pmish. This is mostly due in part to the fact that I had spent much of the weekend doing this exact same project in python. The majority of the time goes into fulfilling the many requirements for the project but I don't actually mind them as I can practically see how some of them are useful. Wednesday went really well with the introduction to the Australian Voting Project. Seeing that I have a partner in the CS373 class and I need to be as available as possible for that project I decided to go it alone for this one as the difficulty does not look so bad. This project seems to make perfect sense even though a lot of other students seem to be a little lost on it. I am a little bummed that the only extra credit we can get on this project stems from being with a partner which means I'll have to be extra careful not to loose points anywhere. My other reason for going solo on this project is that I really want to make it a habit to follow the professors templates and recommended development cycle as closely as possible. Its usually the case that other seasoned programmers will be set in their own ways on how to develop code which usually means implementation before test code. I really want to avoid that.

No comments:

Post a Comment