This past week our Allocator project was due. I am very satisfied with the way my partner and I delivered it. We finished our solution relatively fast and got an efficient, well-performing memory allocator. I think it is definitely amongst the sexiest projects I have done in UT C S. And, like the rest of prof. Downing's projects, what took longer than expected was the "secondary" requirements, a.k.a. creating the issues in Github, closing them with each commit you make, getting the unit tests to work and testing most of the corner cases! This one definitely took longer than expected. But altogether I think it is for sure a project worth bringing up during an interview. Prof. Downing has not posted the next project yet but I am excited for it and, as mentioned before, I will definitely be using a partner given the rough time I had with the first project given I didn't do pair programming.
I could not come to class on Friday but from what I can see and have heard we are starting to discuss to major data structures: Stacks and Queues (as well as Priority Queues, which I have always liked more than regular queues). I still remember the first time I was exposed to these Data Structures in my C S 314 class. I think they are fun to implement, especially the Priority Queue given that it has an added element of 'difficulty' which is the constant checking of priority level to determine whether an element should go in front of the next one or not.
Tuesday, October 28, 2014
Sunday, October 19, 2014
Week 8
This past week we had two major things happening. One was the release of the new project, called "Allocator," which is due this coming Thursday and we also had Twitter come to class as a guest speaker. Unfortunately I could not come to class on Friday so I did not hear what they had to say but I am sure it was awesome. We also received our grades back for the test, which in my case were a bit disappointing. I am very certain that, among other questions, I missed the first one, which was implementing the pre increment and post increment functions without using the ++. I already discussed with my study group that we need to improve the way we study for the second test but it's definitely tricky to study for this type of test.
For the project "Allocator" prof. Downing walked us on Monday through the behavioral structure of it. I remembered much of it from my CS 429 Computer Architecture course where they went in depth to explain how a memory allocator chooses which blocks to give out what it does with them when it gets them back. So the theory I understand pretty well. My partner and I are in the process of starting to implement it. I think that one of the key aspects of the memory allocator is the fact that when it gets back small blocks it needs to merge them to always keep large blocks free. We will see how this project turns out.
For the project "Allocator" prof. Downing walked us on Monday through the behavioral structure of it. I remembered much of it from my CS 429 Computer Architecture course where they went in depth to explain how a memory allocator chooses which blocks to give out what it does with them when it gets them back. So the theory I understand pretty well. My partner and I are in the process of starting to implement it. I think that one of the key aspects of the memory allocator is the fact that when it gets back small blocks it needs to merge them to always keep large blocks free. We will see how this project turns out.
Sunday, October 12, 2014
Week 7
This week was "first midterm week." The test threw me off a bit because I was expecting a very similar format to what prof. Downing's S E class's tests. But for this test we had no multiple choice. It was all code and, what was a bit weird for me, writing tests of our code. One of the questions that I am kind of mad at myself because I know I should have known it better than I did during the test was the one about writing the overridden pre increment and post increment functions without making use of the '++'. I just remembered that post increment has to make a copy and it stores before incrementing the variable. Pre increment, increments and then stores. But still, I think I didn't do as hot in that question as I would have liked. We will see how I did on the rest of the test, I'm kind of nervous for getting back my grade.
Other than that, project 3 has been posted already. It is called allocator but Prof. Downing hasn't gotten a chance yet to explain it (probably on Monday). I definitely learned my lesson and I will be working on it with a partner (given that I did last one by myself). Doing pair programming really is much safer and efficient than working by yourself. So far I have enjoyed the class very much. There are so many principles of object oriented programming that you need to put in practice in order to fully understand them. I think this is a great class for that.
Other than that, project 3 has been posted already. It is called allocator but Prof. Downing hasn't gotten a chance yet to explain it (probably on Monday). I definitely learned my lesson and I will be working on it with a partner (given that I did last one by myself). Doing pair programming really is much safer and efficient than working by yourself. So far I have enjoyed the class very much. There are so many principles of object oriented programming that you need to put in practice in order to fully understand them. I think this is a great class for that.
Sunday, October 5, 2014
Week 6
This past week has consisted in a lot of preparing for the test. For example, Prof. Downing gave us a hint: We need to know how to implement any function, such as Fill, Count, Reverse, etc. that takes in three parameters, two of which represent a pointer to the first element of each array, and one of which represents the size. These, among other examples, have been what this week has been about. Preparing for a Downing test, as I have mentioned before, is not easy and very different from the way you prepare for other tests. There is little or no concepts you memorize, you just need to know how to implement stuff. You need to know how to make software on the spot with a time limit, and this, my friend, is not easy.
On the other hand, Prof. Downing has been very generous and given us an extra credit opportunity, which consists in solving another problem from the UVa online judge repertoire. This one is called "A Node Too Far." I already took prof. Downing's Software Engineering course and there we weren't given a programming exercise as extra credit. I can only imagine that this is because Python is a much more simple and user friendly language than C++ (mainly because of the absence of memory allocation) but it also leads me to think that in his Object Oriented Programming course, students tend to need more extra credit at the end of the course and therefore the extra credit programming exercise. Who knows, I'm definitely doing it though!
On the other hand, Prof. Downing has been very generous and given us an extra credit opportunity, which consists in solving another problem from the UVa online judge repertoire. This one is called "A Node Too Far." I already took prof. Downing's Software Engineering course and there we weren't given a programming exercise as extra credit. I can only imagine that this is because Python is a much more simple and user friendly language than C++ (mainly because of the absence of memory allocation) but it also leads me to think that in his Object Oriented Programming course, students tend to need more extra credit at the end of the course and therefore the extra credit programming exercise. Who knows, I'm definitely doing it though!
Subscribe to:
Posts (Atom)