Saturday, December 6, 2014

Week 11&12

There was no lecture on week 11.

On week 12's lecture, i was doing assignment 3 and i found that assignment was hard. Fortunately, Larry gave us some tips for assignment 3 during  the class, which do helps me a lot. Later, Larry started the last lecture of this course. He introduced countability. We were told that integer and rational number are countable, but real number is uncountable because it's "dense". In functions cases, Larry told us that the number of functions we can write in python is countably infinitely many. And he gave us the proof of it. However... Zzz ( i actually don't get it).

Later, Larry introduced induction to us. I learnt induction in MAT137, too. However, it's not as the same as the MAT137 one. The proof by using induction is clear.

The CSC165 course was over, except the final exam. In this course, I learnt a lot of concepts of computer science. I love the reasoning and logic part of this course. It was challenging and interesting. Thanks a lot professor Larry Zhang. Wish you the best.

Now, i need to review for the final exam. Wish me luck as well. :D

Week 10

This week's lecture was also complicated to me. We first did another practice problems of big theta proof. We needed to over-estimate to find upper bound and under-estimate to find lower bound in order to solve the problem. Then, we realized that all the problems we have done were specific cases like “Bieber is better than Lohan.” (LOL!!!) However, in reality, general problems are more meaningful.. The proof of general cases were much more complicated than the specific cases. I was so confused by it. Even now, i still don't think that i got it.

"Why computer suck at certain things?" (from lecture slices) This question made me laugh at the beginning, but then, i wanted to know the answer. The answer Larry gave us is "Computers solve problems using algorithms, in a systematic, repeatable way. However, there are some problems that are not easy to solve using an algorithm". (Lecture slices) It's impossible to write halt for all functions; therefore, computer suck at certain things.

Week 9

The last term test was on this week. I did okay this time. This week's lecture was really helpful. First of all, Larry showed us the specific way to do the big oh and big theta proof. The lecture slices were really clear and easy to understand. I did a lot of practice problems following Larry's steps. After we got the polynomial problems, we were introduced the non-polynomial questions which i thought was more complex than the polynomial ones. We needed to use limit as a technique in order to solve the problem. It was also about the L'hopital's rule, which i already learnt in my math class. Therefore, it was not really hard to me. We are going to do more exercises of big oh and big theta proof next week and maybe computability.

Week 8

This week's lecture is really complicated at the beginning. We started to learn Big Oh and Big Theta. Larry introduced the formal definition of big oh and big theta. And then he showed us the method to proof these two. A little trick for us to find upper bound is to over-estimate, and under-estimate when we are asked to find the lower-bound.

Larry also taught us how to calculate the run time of a program for worst case. To be honest, I didn't get it. However, I think if I review lecture slices more and more times, i could finally get it :D.

Week 7

It's the 7th week of this year. At the beginning of the class, we were announced that assignment 2 was posted. I felt great since I can practice what I learnt in past few weeks and see what my weaknesses are. After the announcement, we first went over the method of proof. We were introduced that the proof by cases. Larry showed us the Four Colour Theorem, which i was really interested in. I google this theorem a lot after the class and i was impressed by the power of computer program.

Later, we went over all the proof patterns that have been covered so far. The other theorem Larry introduced for fun is Fermat’s last theorem, which is cool as well, especially the funny video clip LOL. And then, the hardest problem for me in this week's lecture is Running Time. I first thought that run time is about the real time that program need to be finished. However, run time is actually the steps that programs need to take to be finish. Therefore, the hardware is not the cause of the slow run time, the bad algorithm is.

Next week we are going to learn more about algorithm analyses.

Tuesday, November 11, 2014

Week 6

I couldn't believe that i only got 60 something on my first term test. I spend a lot of time reviewing. After i got my test back, i realized that i misunderstood the question on the test, which result in a 0 on a question that weight a lot. I felt extremely frustrated - i don't know if i can still apply for computer science specialist next year. I could not be focused during this week's lecture because of the test result. I could only remember the proof of "floor" and limit stuff. Wish i can get out of this sad mood.

Week 5

I had term 1 test this week. I didn't expect the test to be 'easy' like this. However, i hope i do get a good mark. After the test, Larry comforted us that even if we leave test all blank, our mark is only 3% below the final average, which made most people in class feel some how good i think. He then showed us how to do proof by using contrapositive. He taught us that "When it’s not easy to prove P => Q, try proving ¬Q => ¬P", which is important indeed. It helped me solve a lot of complicated problems. When we are asked to pick an x for "there exist x", i recall the material i learnt in MAT137 class. In math, we are asked to pick a valid delta to satisfy the proof. In computer science, we are asked to pick a valid x to satisfy the proof. I like the feeling of connection. I can see that the courses i take have connection between each other. Next week, we are going to do more exercise of proof.