This week we continued learning the master theorem, and we also learned a new concept developed by Guass which helps reduce the time complexity of a function. We have been looking at a lot of divide and conquer algorithms which are more complicated to determine the time complexity, but a lot more efficient.
It really helps to have learned these algorithms last year and to know the time complexity for each, because it makes it easier to understand how to solve proofs of equations representing these time complexities. I find these proofs a little tricky since they involve recursion, and I'll need to read more about them or look at examples in the textbook.
One thing I forgot to mention in last week's post is that we received our graded midterms, and as I expected I lost marks on the second question. I'll be sure to be more prepared for the second midterm. Also, I did well on last week's quiz, and I think I did well on this week's quiz as well. This week's quiz was on developing a closed form using unwinding, which I don't have difficulty with.
Saturday, 27 October 2012
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.
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.
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.
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.
Subscribe to:
Posts (Atom)