Sunday, 31 March 2013

SLOG Entry #9 Week 9 Test Week!


I have realized that instead of complaining about proofs, it would be more productive to embrace them instead. This hasn't been so hard to do this week since reducing complex polynomials to simpler expressions and coming up with constants to prove Big-Oh statements is challenging. I knew what Big-Oh meant from CSC148 last semester, but the definition we used in that course was very vague. The more precise definition that Professor Heap taught us in class on Monday was exactly what I was looking for and it made proving Big-Oh statements possible. Having done proofs for the past few weeks and constantly working with inequalities, the proofs just flowed from the tip of my pen. In all honesty though, current course material didn't really concern me this week since we had a test on Friday and I was focused on doing well on the test more than anything.

Considering that I did quite poorly by my standards on the previous test, I felt a lot of pressure to do way better on this one. Keeping that in mind, I was disappointed on Wednesday when we did no review whatsoever for the test and instead did a problem solving challenge. I enjoyed the in class problem solving challengs but I would rather have done it next week. On Friday, I was confident about the test but that didn't stop me from soaking my T-shirt in sweat. I don't know why, but my body was nervous about the test even though I wasn't. When I opened the test, I was relieved to see easy problems within it. By the end, I was more concerned with whether or not my writing was readable and if that's not a sign that I did well, I don't know what is. I feel very confident about the test and I can't wait to get my results. I think the fact that I didn't have another test immediately after and that there wasn't a snowstorm, really helped me concentrate and not make silly mistakes like I did on the previous one.

Lastly, I have picked the diagonal line problem as the problem that I would like to solve for the SLOG assignment since I think that I got very close to the right answer when we did it in class and the fact that someone else has already done it improves my confidence. In a nutshell, this week has been fun and educational but I do miss doing more course related things like in a regular week without a test.

Wednesday, 27 March 2013

SLOG Entry #8 Week 8

I would first like to say that the last post and next few posts I'll be making have been sitting in my notebook for some time but I've been too busy with other subjects to get around to posting them. I guess that's what happens when you don't have a laptop and your commute is 1 hour and 15 minutes one way. Here is my SLOG that I wrote for week 8:

My wishes from last week have been fulfilled while we've continued doing algorithm analysis and step counting. Also, the inclusion of graphs when we were discussing complexity classes really helped visualize the concept better. I've done this kind of visualization before where I've plotted 4000x4 and x5 and saw that at x = 4000, x5 overtakes 4000x4. However, proofs have gotten a little tedious by now and looking at the course notes suggests that they won’t be going away any time soon.

As for tutorial, I found it to be quite difficult and confusing since we used a method for counting steps much different than the one in class. For example, instead of each line contributing one step, all of the comparisons and indexing in a line of code were counted as steps. While I do think this method is more accurate, it seems to defeat the purpose of getting a sloppy approximation like we did in lecture. The sigma notation which I haven’t seen in a while threw me off quite a bit and I noticed myself trying to understand the sigma notation more than the actual problems. This time, I was very happy that the quiz was easier than the tutorial handout since I was not able to come up with the right answer for each handout problem on my own.

This week was much tougher than I expected it to be and the confusion between lecture and tutorial didn't help. Lastly, while I realize that proofs are important, I have become very bored with them and I’d rather get to a more problem solving oriented part of the course.

Saturday, 23 March 2013

SLOG Entry #7 Week 7


I would like to start this blog post by saying that I was very excited to getting back into the coding aspect of computer science. During the break, I made several python programs just to test my skills after not having programmed since 3 months ago. It turns out that my skills were quite rusty at first but I got back on track very fast after about an hour. This leads me to express my liking for this week’s course material. I have come to realize that what I said in my previous blog post does not hold for delta-epsilon proofs. By that I mean it can be very difficult to pick a value for delta such that the limit holds for any value of epsilon. In some cases I like being proved wrong and I was glad to learn that there is much more to proofs than I had thought right before the break. Also, I would like to state my fondness of the algorithm analysis that we did Friday’s lecture. It was fun coming up with expressions for how many steps an algorithm takes and in all honesty, I never even knew we would do that in this course so I’m ecstatic about it.

In CSC-148, algorithm analysis was much more theoretical and it seemed as if we simply had to remember the time complexities of different sorting algorithms instead of derive expressions for them ourselves. Because of this, I was curious to see the behind the scenes of determining the complexity for an algorithm and I satisfyingly learned how on Friday. Tutorial this week unfortunately did not live up to my expectations yet again, and I found myself quite bored in it. Having said that, the quiz was more challenging than the previous quiz and proper indentation was required which I was pleased with.

CSC-165 has taken me by surprise this week with in depth step counting and algorithm analysis and I am glad we have  been engaging in this because a few of my future courses are specifically about algorithm analysis. I would like to end today’s post by saying that I wouldn't mind more code analysis in class in the future and that the practical part of algorithm analysis is just as important as the theoretical part.

Monday, 11 March 2013

SLOG Entry #6 Week 6


Proofs are quite easy for me. The examples we've done in class this week have been simple and logical. Having said that, I don’ think that I would consider them to be so easy without doing a proper outline first. For many of the proofs that I've seen so far, formulating a concise outline with clear comments has been more important than the detail of the proof itself. Figuring out how to manipulate inequalities and what values to pick for variables when existential quantifiers are involved follows smoothly from a great proof outline.

Tutorial this week disappointed me because, like the first one, it lacked depth and difficulty. The only part that I struggled with was the indentation for proofs, more specifically, where to outdent. However, this crucial part of the proof outline wasn't even relevant for the quiz and this disappointed me even more because I wanted to know how I was doing with indentation. Nevertheless, I consider it to be good practice and therefore a productive way to spend my time.

In summary, this week has served a confidence boost for me since I think that I understand the material better than many other students. Also, there wasn't anything this week that surprised me or made me question my knowledge. Overall, I think that this effect on my self-esteem makes me feel more comfortable about the upcoming assignment that Professor Heap has yet to post. In reading week, I plan to read about some more difficult proofs online to fill the lack of neural stimulation that I had in these past three lectures.  

Sunday, 3 March 2013

SLOG Entry #5 Week 5


I've been thinking about actual applications about the things we have learned concerning quantifiers and implication over the past few weeks. My question was finally answered on Monday when we began studying how to write outlines for proofs. Writing the outline is a relatively easy task but proving statements is where ingenuity comes in. The proofs we've done so far this week have been simple but I can imagine cases where the body of a proof is difficult to come up with. My enjoyment of finding out that what we've learned for the past 4 weeks is useful information was quickly extinguished by the upcoming test.

First of all, I had a test on Thursday and another test on Friday besides this one. Unfortunately, last semester didn't prepare me at all for this kind of hectic test schedule since the tests were all spread out. When it came time to write the test on Friday, my mind was already on the next test I had to do and also the hectic weather. Furthermore I was surprised to see such a heavy focus on list comprehensions and far less focus on implication. I am certainly not looking forward to getting my mark back for this test and I am striving to do much better on the next one.

In conclusion, this week has been a lesson for me in terms of how to prepare for multiple consecutive tests and it has also made me happy to see the application of logic in proofs. When I've had to prove things in calculus, I was always unsure if the assumptions I was making were allowed and if I had done enough to show that a statement is true. This class, almost halfway into second semester, has proved to be just as important and fun as CSC-148, even though it lacks the practical programming part which I love.