Friday, October 24, 2014

CSC 165 SLOG #6: (Week 7)

This week, our class covered how to disprove once again. I had a quiz as usual and I think I did pretty well on this quiz. The quiz was on about proof. I think this week's quiz material was related to learning how to structure a proof 2 weeks ago. My progress on studying proof is going well as I practice proving various problems 3 times a week.

Professor Heap also announced that Assignment #2 is posted online now. I guess it is time for me to start on CSC 165 Assignment #2. The first assignment was a success as I achieved A on the assignment. However, I would like to aim higher and achieve above 90%. When I first enrolled in CSC 165, I expected that it would be so difficult and boring that I have to study all night. However, right now, CSC 165 is the most interesting course during my first term at U of T. It has changed my perspective on how I look at the problem. CSC 165 has also enabled me to dream of becoming an Artificial Intelligence specialist. When I first started Computer Science at U of T, I just wanted to become a computer scientist. However, as I take CSC 165, I have found various interesting and specific details about computer science.

For this week, allowed inference part of the lecture was most significant lesson to me for this week. There are many types of inferences that are available to us to prove the claim.

I would like to list various types of inference I have studied during Professor Heap's lecture.

- Conjunction elimination
- Existential instantiation
- Disjunction elimination
- Implication elimination
- Universal elimination

All these techniques were the ones we used to prove various types of question during the lecture.

On the lecture slide named 'more inferences' by Professor Heap, it introduces what other inference exists. 

These are implication introduction, universal introduction, existential introduction, conjunction introduction and disjunction introduction which I already understand well enough.

I also attended Larry Zhang's lecture to learn more about proof. I learnt that introduction is used to infer from smaller statement to larger statement whereas elimination is used to infer from larger statement to smaller statement. 

Then we learnt about sorting algorithm. Sorting algorithm is very important as this is a fundamental for software programming. When I was in grade 11, I studied programming, but I never knew the importance of the algorithm. All I cared about was learning programming at that time. However, taking CSC 165 enabled me to realize the importance of algorithm in computer science. Although I found learning sorting algorithm a bit hard, I already knew a bit as I learnt Python programming language. 

There are two types of sorting algorithm. These are insertion sort and selection sort. Professor Heap also told us that for this class, we will focus on learning algorithm speed and care 'worst' specifically. He said that average of algorithm speed is important, but he told us that we still do not have a strong background to learn that. 

I think taking CSC 108 sometimes helps me understand the content of CSC 165. As I learnt how to program in Python, I understood what the code posted on the lecture slide meant. 

Despite the content of CSC 165 is becoming more rigorous, I feel confident that I can do it. Let's study CSC 165!

Friday, October 17, 2014

CSC 165 SLOG #5: Prove/Disprove (Week 6)

I just finished studying week 6 materials for CSC 165. On this Wednesday, I got my score for CSC 165 term test 1. I was satisfied that I got 90% on my very first test. Hooray! When I looked over my test to find out what I got wrong, it seems like I had hard time explaining the last question of the test. However, I am glad that my first test was not a fail. I feel confident that my score on the test shows how much effort I have put into CSC 165. Mathematical logic is not about memorization. It is all about practice. As I practiced for the test, I was able to explore more deeply on CSC 165. Learning proving and disproving was not that hard. Even limit proof was not a challenge to me. In fact, I was able to understand it at first glance. I am very eager to learn proof in depth to enhance my skills as an amateur computer scientist. I am glad that I finished half of my first term with success at U of T. Now I have my one last midterm test which is Mathematics. I guess I have to spend more time on Mathematics just like how I devoted more time on CSC 165 for the term test. Time to study Math!


Friday, October 10, 2014

CSC 165 SLOG #4: My first test (Week 5)

Now it is Week 5 of CSC 165. This Wednesday, I had my first term test for CSC 165. This term test was also my first test at U of T. I think the best way to study for the test was to practice solving the past exam. As I solve little by little, I started to understand and know how mathematical logic plays a role in our lives. Not only that, mathematical logic is very significant in computer programming as we have to understand how computers' function works. But what I had the most problem was translating from symbolic logic to English or vice versa. I think it is because I was confused with the difference between implication and conjunction. Before learning about implication and conjunction in CSC 165 lecture, I always thought of them equal or very similar. However, as I learnt CSC 165, I came to realize that these two represent totally different things. I think solving Assignment #1 was also a big help for me to study. What I also found interesting was that doing CSC 165 SLOG also assists me in my study with mathematical logic. I feel like doing my SLOG is like my review for the course materials we covered. Not only that, SLOG made me realize how I have to prepare for assignments and tests. I hope I can achieve high marks on my term test. I have learnt a lot for five weeks and I am eager to learn more about mathematical logic.

I would like to demonstrate my ability in translating from mathematical logic symbol to English.
I am going to let X as the domain of all games and point, G as game, P as point, C(x,y) as x contains y and F as fascinating. 

Symbols: ∀x X, G(x) -> (¬y X, P(y)∧C(x,y)∧ F(y))
English: Every game contains one fascinating point.

For this week, we learnt about proof. I think proof is one of the most essential parts in Computer Science. Up until now, I learnt about the basic of mathematical logic to prepare to learn about proof. When I first encountered proof in CSC 165, I was surprised. I always thought of proofs that I learnt during Mathematics class. However, in this course, we learnt how to structure our proof. This was also on the quiz that I took this week. I feel like proof is going to be a tough challenge to me. I hope to master the beauty of proving and disproving statement.

On Friday, I learnt that I can prove the problem in various ways. But I think I still need to practice how to prove something false as I get lost in the midway of proving. To overcome this challenge, I decided to review during the weekend. I already went over CSC 165 notes that I took this week. But if I look at it again during the weekend, I think I can understand the content of the lecture better than last time. It's like reading same books over and over again. Reading multiple times always allowed me to interpret the content much better and easier. I will try my best learning how to prove an implication.

But what interests me the most is how proving and disproving play a role in our real lives. Proving is the most significant area in computer science. But how about in art, history or physics? I hope to learn how these skills I learn is used not only in computer science but also in other areas like arts. Even if it may not be related with subjects like art, it still plays a huge role in Computer Science, Mathematics, Commerce, Economy which affects our daily lives. As I learn CSC 165, my way of viewing the world has changed. CSC 165 is such an amazing course.




Friday, October 3, 2014

CSC 165 SLOG #3: Another Challenge (Week 4)

As I start a new week, I began to find CSC 165 more challenging than before. Double quantifiers were the hardest material for me to understand. Despite I read over the notes again, I still found the material I learnt this week as challenging. What I found easy was the tutorial and the quiz I had this Tuesday. De Morgan's Law and transforming -> to (not) and (or) for equivalence was the easiest thing I did this week. I was able to understand very quickly. I hope to get 2/2 on this week's quiz.
To demonstrate my understanding on De Morgan's Law, distributive law and etc, I decided to solve one equation that I made it myself.


P(x) → Q(x)∧R(x) <->¬P(x)∨(Q(x) R(x)) 

                            <->(¬P(x)Q(x)) ∧(¬P(x)R(x))

What I found interesting was that as I practiced for the tutorial, I get used to tranforming and using De Morgan's Law.


However, the proof was another obstacle that I had to overcome. The concept of approaching to infinity was easy since I already learnt that in Math. However, other proof to prove various mathematical expression was so confusing to me.


Learning transitivity was easy as I was able to understand in one glance. The professor has given us an example for transitivity which is shown below.


x X, (P(x) → Q(x)) (Q(x) → R(x))


Not altering the truthfulness was very challenging for me and I had so much problem to understand that. As we explore more on logic and mathematical expression, it gets more challenging. 


Last thing I want to talk about is CSC165 Assignment #1. I worked with one other person to complete the assignment. Question 4 on assignment was very challenging to me, because at first, I thought that there should 3 sets existing. However, I realized that one set is universal set and two sets are within the universal set. Negation and changing symbolic form to English and vice versa was very easy to me as I have already practiced a lot during the last weekend. I hope that I do well on this assignment, because I believe the first assignment should be the easiest one among three assignments. 


Now that I have my first CSC165 mid-term test coming up, I plan to study 5 to 6 hours over the weekend. Although I have already been studying for the test, the practice makes perfect. So I will keep putting my effort into study. Let's do this! I hope to achieve high marks!