Saturday, 20 October 2012

Week 6

This week we continued learning time complexity and unwinding to develop general equations for time complexity, but with more complicated problems. We applied these concepts to merge sort, and we also learned a new concept; the master theorem.

So far the master theorem is one of my favourite concepts in this course because it allows you to determine the time complexity by plugging in values into a formula, and these values are easy to determine as well. It's times like these when I am extremely grateful for the people who came up with these formulas and short cuts to solving problems, but it also amazes me at the fact that they developed these formulas. I also wonder how they came up with them and how much time it required.

Our quizes from last week were returned this week, and I did well on last week's quiz although I was a bit unsure about the material we learned last week. I spent some time reading about the concepts and now I am more familiar and comfortable with these concepts. I think I did well on this week's quiz as well.

Saturday, 13 October 2012

Week 5

This week was short since Thanksgiving was on Monday and we only had one lecture this week since our first term test was on Wednesday. I found the term test relatively easy for the most part, I believe I did well on the first two questions, but I wasn't sure about how to solve the last question so I probably lost marks there.

This week we started learning time complexity for recursive functions. We also learned the concept of unwinding to develop a general formula for the time complexity of a recursive function, and then how to use induction to prove that the formula is correct. I'm having a bit of trouble trying to grasp these concepts, and I've never fully understood the concepts of time complexity in relation to log functions. I'll have to do some more reading about these concepts in the textbook and practice problems.

I feel like this will eventually lead to proofs about constants and breakpoints, which I didn't enjoy too much last year. However, if it does lead to those topics then I'll do the reading and become completely familiar and confident with the material.

Saturday, 6 October 2012

Week 4

The second tutorial and quiz was not as great as the first. We have a different TA for our section, and although this TA explains the questions and concepts well, I prefer the teaching styles of the previous one. I don't think I did well on this quiz because I was expecting a different type of question, and now all I can do is hope for the best!

This is unrelated to the course itself and course material, but it's already been a month since university started! I can't believe I am already done with one third of the semester and exams are only 2 months away. One of my favourite things about university is that the semesters themselves are shorter, but the amount of learning we do is the same if not greater.

And back to CSC236. This week we learned Structural Induction and how it can be used to solve problems with sets (number of variables and number of operators). This theory uses Mathematical Induction so I find it relatively simple. We also did an example about the Fibonacci sequence, which is a recursive sequence so it relates to concepts we learned in computer programming last year. At first I found it difficult to grasp the concept of recursion, especially when it comes to finding the base case to solve the problem, but given a formula in this course for the Fibonacci sequence it is much easier to find the base case. I'm going to try and apply this strategy in the future when trying to find a base case for a recursive method in programming. 

Once again, this course directly relates to programming and I can't complain! I think that is one of the reasons why I didn't enjoy CSC165 last year too much; it involved proving a lot of theories about math rather than programming concepts. 

Saturday, 29 September 2012

Week 3

Tutorials started this week, and with the first quiz out of the way, we're moving on to well-ordering. I found the quiz easy, and I like that we take the time to go over the tutorial problems and answer questions before we right the quiz.

I missed parts of lecture this week because I showed up late to class, so I don't fully understand well-ordering. The theory seems simple but I have not practiced any problems with well-ordering myself, so I will be sure to do that next week. We also did more examples with mathematical induction this week.

What I find interesting is that many problems, including some on the assignment, can be solved using either complete induction or mathematical induction, or even some other form of induction according to the professor. At first I thought each theory only worked for certain types of problems, but in the end they are all following the same basic concept (induction) with a different approach and equation.

I'm also happy about the fact that all of the formulas we learned so far are not hard at all to remember. I find it helpful to understand what the formula actually means or is trying to prove as a way of remembering it.

Sunday, 23 September 2012

Week 2

Tutorials were supposed to start this week, but there was a change in the schedule so we don't have a quiz this week. I think that also means we will have only 8 quizzes this semester instead of 9. This week we learned Complete Induction. One of the examples that the professor did in class this week was with full binary trees. It's much different, and in a way more complicated I find, proving theories about programming concepts than mathematical concepts. With math it's easier to prove an equation by manipulating the equation, whereas with programming you have to grasp the idea of the programming concept and visualize it, such as in the case of trees.

I'm happy to see proofs about programming concepts, since I did take Computer Science to learn how to program, because it better helps me understand the concepts themselves and I can find an extra use of and benefit from this course. 

Back to Complete Induction, although the structure of the theory is quiet different from Mathematical Induction, I think they are actually quiet similar, especially when it comes to proving mathematical equations through algebraic manipulation. 

Saturday, 15 September 2012

Introductory Week

I was going into CSC236, feeling skeptical about how well I would do in this course and how much I would enjoy all of the rigorous proofs where great portions of the proof seem redundant. But after the first lecture and taking a look at the course outline and marking scheme, I have a good feeling about this course.

The first concept we learned this week was Simple Induction (aka Mathematical Induction), and it holds true to its name because it is simple. I must admit I like algebra, so a lot of the proofs we do with Mathematical Induction I actually find enjoyable. I never though I'd say this about any kind of proofs. I'm actually looking forward to next week's tutorial and quiz, and it doesn't hurt that we don't have lecture on Wednesday.