Saturday, 29 November 2014

CSC165H1F - 12th week

We first started learning about Cantor's example. Even though it was hard to understand I understood his argument after reading 3-4 times.  It did make sense to me and when you think about it it's actually a true argument. To summarize, the argument means the set of real numbers has more elements than the elements of set of the natural numbers. I also think it is true because between 0 and 1 there are infinite real numbers but there are only two natural numbers that are 0 and 1. Then we continue talking about countability.  We learned that number of functions in python is equal to the elements of natural numbers because every letter we write in python has a value in the set of natural numbers. The 'ord' function finds the value of the string. Then we talked about diagonalization. It means that there are more of behaviours than python functions. Behaviours means that if a function halts(gives output) or not.  We also talked about simple induction even though it won't appear on the final exam. I really liked the topic. We proved some arguments with induction and it wasn't that hard. We proved P(n) : 3**n >= n**3 by induction and it was fun. On Friday, we did some problem solving exercises it was tough. We tried solving it with the person sitting next to me even though we couldn't't solve it. While solving first we understood the problem. The input was 2 natural numbers and the output would be a natural number. Then our plan was to try it with small numbers, while the difference of row and columns was 1. As long as we started to carry out the plan the class ended. That's why we didn't finish it. I also got really happy when I learned I got 100 on A2. I hope I'll get that grade on A3 and the final exam!

@Hoyoung Lee: I agree with you. I hope I will be like them, getting good marks acing the course. I also think this course is kind of hard!

Friday, 21 November 2014

CSC165H1F - 11th week

This week was actually a short week because we didn't have tutorials and Monday, Tuesday was holiday and there weren't any classes. In the lectures we did on Wednesday and Friday, we mostly talked about interesting things. Firstly we talked about halting problems. I learned that all of the functions don't always halt(give output). Danny wrote a function which determines given two functions that it will halt or not and showed to us. It does work correctly most of the time but sometimes it returns the wrong output. On Friday we talked about computability and countability. I learned the terms "extends" and "reduces to". I was really surprised when heard about that the size of the set of the natural numbers and rational numbers are the same. It didn't make any sense to me, but since I'm in this course there should've been a logical explanation for it.

Friday, 14 November 2014

CSC165H1F - 10th week

I learned a lot about the big-o in my tutorials and I think I did well on my quiz. On the tutorial we worked on proving Big-O for the polynomials. I thought proving these were hard before coming to tutorial but thanks to my TA I understood that they're easy, you just have to think about it. Also I learned disproving the Big-O for the polynomials and most of the disproofs are similar to each other, thats why its easy to learn them. In the first lecture of the week, we learned about using L'hopital's rule to prove 2^^n is not in the Big-O of n^^2. L'hopital's rule is saying that if the limit of the numerator and denominator is both going to infinity or 0 you can solve it by taking the derivative of the both numerator and denominator. In other lectures we proved ∀f,g,h ∈ F, (f∈O(g) and g∈O(h)) -> f∈O(h). At first I got complicated and didn't know how to solve it when I first saw it, but as we started doing similar proofs to this implication I got the idea. Finally, I was expecting higher on my Term Test#2. I got 2 points lower than my expectation but I'm still above the average so I'm happy about my result.

@HermanKeiley: I agree with you, I also prefer the use of examples over theoretical teaching practices.

Friday, 7 November 2014

CSC165H1F - 9th week

In this week, we mostly did examples about proving the big o for the worst case. We can write it in a logical notation as : ∃c \in \!\, ℝ+ , ∃B\in \!\, N, ∀n\in \!\,N, n>=B => f(n) <= c times n squared. Danny told us that when they want you to prove something, you should first write the structure of the proof. Writing the structure is very important because it will reduce the thinking. The term test was not that easy. I hope I will get a good grade. The first question was the easiest question in the exam and the second question was the hardest. In the first question they gave us an implication where in antecedent they would give a value of m and n, and in the consequent they would want us to add them and prove the implication. The third question was a similar question from Assignment 2. Instead of writing +1 , they wrote +z on the test. I mostly thought about the second question in the exam I wrote something but I'm not sure if it is right. Also with the examples we did today I understood the logic of proving the big o of the polynomial equation. I'm going to review what we did this week to learn it.

I don't agree with mycaranaway's post of this week. He says "Probably didn't do too well, the practice questions made me underestimate the range of questions that they could give us causing me to just study simple proofs." I think it's a bad way to study for tests like this. It doesn't mean that if practice questions are easy the test will be easy. If practice questions are easy, study from the harder questions. Solve questions from other books. This is the best way of studying I think.

Saturday, 1 November 2014

CSC165H1F - 8th week

In the first lecture of the week, we talked about time complexity and running times of programs. As an example Danny gave us some programs including a while loop in it. We calculated the steps of each line in program in terms of length. It was really a fun work. We also found how many steps will happen if the first index where x is found is j. I think I understood most of the work we did in the first lecture of the week. Then in the second lecture we started talking about the upper and lower bound of the worst case. The worst case is at least as bad as the lower bound and the worst case is no worse than the lower bound. It wasn't that hard to understand the definition of the lower and upper bound and write it in terms of logic. Then we proved the logical definition of the lower and the upper bound.  It took us time to prove these two and I had really hard time understanding the proofs because they are so long and they require so much thinking.

As Junru Shao wrote on his Slog: "When Proving Big Omega, proof structure looks like this.

Let c = __
Let B = __
Assume n ∈ N
     Assume n >= B
        
                  .
                  .    #playing around number until I get f(n)>=c g(n)

          Then f(n)>=c g(n)
     Then n>= B  ->f(n)>=c g(n)
Then  ∃ c ∈ R+    ∃ B ∈ N     ∀n ∈ N    n>=B  ->  f(n)>=c g(n)"
I think its a long proof and its hard to memorize it.

Friday, 24 October 2014

CSC165H1F - 7th week

In this week we mostly talked about proofs. We proved the limits of a function, learned about the floor of x. Also I learned how to disprove a function. You should negate the implication and you should prove the negation of the implication because if the implication is false the negation will be true and if the implication is true the negation will be false. Also the contrapositive of the implication is equal to the implication so if you have a hard time proving the implication you can take the contrapositive of the implication and prove it. There are different methods for proving. As an example if you know A and B, you can conclude A or B separately. This method is called conjunction elimination. Additionally, we talked about some algorithms for sorting a 5 card euchre hand. These are insertion and selection sort. All quadratic equations are same for computer scientists. On Friday, we did a problem-solving question. According to the Polya's problem solving techniques, first we have to understand the problem. Then, devise a plan, carry out the plan and look back. Me and my group members understood the problem which was given a number of pennies they ask us to find the last amount of pennies. Our plan was to find a pattern and working with small amount of pennies but even we carried out the plan we only concluded how to get 48 from 64 pennies but we haven't finished solving the problem. Thus, we didn't have a time to look back.

I finally got where we did wrong after reading my friend(Starreyes24)'s slog. We had to work backwards to solve the problem. I realized that it is not that hard exercise after looking to starreyes24's slog.


Saturday, 18 October 2014

CSC165H1F - 6th week

We only had 2 hours of lecture in the 6th week because it was thanksgiving and the university was closed on Monday. Also we didn't do any tutorials this week! In the 2 hours we worked on proving some of the implication and we learned how to disprove some implication. If we want to disprove something we take the negation of it and prove the negation of it.  The structure of the proof is more than the content. For example even you leave some blank lines and you feel like you can't solve the proof , the TA's will likely to give you points. I think proofs are difficult because you have to think a lot and you need to have a great mathematical knowledge. In the exam also there will be a time pressure. I'm working on to understand the contents of proofs. I should understand to prove things because in the other half of the course we will be doing proofs about everything.

I disagree with A.M. In this weeks slog she wrote that the hardest thing about limits is devising a plan  to find the values. I don't think it is that hard. It's all about calculus stuff. I think the hardest thing about limits is memorizing the equation with logical symbols. I'm saying that because I'm really bad at memorizing stuff both in real life and school life!

Friday, 10 October 2014

CSC165H1F - Review about the 5th week

In this week, we mostly did works on proofs of some implications. For example we proved if n squared is an odd number then n should be an odd number. It was actually fun doing the proofs but you have to have a strong mathematical ability and background to prove something. The course is actually about mathematics by the way. In the tutorial session, we tried to do an abstract structure for the proofs. Even though I didn't understand what to do when I first saw the question my partner helped me how to do it. I understood that it is not that hard to write a proof structure. Just, you have to know the basic terminology such as "assume, generic integer, then etc." and the steps of writing a proof. The term test # 1 was actually an easy test but I messed up in the first question because of stress. I'm feeling regretful right now because of it because it was a simple mistake and I realized my mistake after 10 minutes of giving my test paper. I hope I will do better on the term test # 2 and final exam. On Friday in the lecture we continued doing some proofs but with the different quantifiers in one question. Also we learned something new called "proving by contradiction". I didn't understand what it does because it was really hard to understand. Even though, we haven't solved a question about it I want to learn it by solving a question. That's how I learn in applied courses.

As I read my friends SLOGs, I saw that Term Test #1 was easy for everyone not only for me. That's bad for me because my mark could be below average. As I said before I did wrong a simple question that I could've get full marks.

Friday, 3 October 2014

CSC165H1F - 4th week

In the 4th week, we did chapters 2 and 3. I knew transitivity from high school, but I learned that if you switch the order of different quantifiers the sentence becomes so different than it was before. I think it was the most important thing I learned in this week even though it was simple. Also, I learned how to write a limit notation in terms of symbols and graphs. I also knew double quantifiers from high school because of that it was easy to me. The most complicated topic which we studied this week was the introduction to proofs. Although it seems simple while reading someone else's proofs, when you start to write a proof it comes harder than it looks. We even did an example proving if n is odd, n squared must be odd. Even everyone knows that it is true, we really had a hard time writing the proof of it. You have to think of every step while writing a proof. Tutorial section was really helpful to me, I learned new things and I hope I will get a good mark on the tutorial quiz and next week's exam. In the tutorial section we learned how to prove two logical statements are equivalent to each other. To do that we have to start from one part and go to the other part. A1 was very difficult to solve. As a conclusion, this week was a beneficial week for me. I hope I will get a good mark on the next weeks exam.

As my friend Kayman wrote in his slog, I also feel like I learned a lot from A1. It is like a practice for this course. You have to do a lot of practice and solve practice questions to learn this course I guess because it's like an applied science course.

Friday, 26 September 2014

Review about the third week

In the third week, we did mostly "logic" except the last lecture time. I know some of the subjects from the high school. For example I knew "disjunctions and conjunctions", "De Morgan's Law" and drawing a truth table, but I realized I forgot some of the parts. This course helped me to fill the blanks in my mind. Danny told us that negating some statement is the most important thing in this class. I really enjoyed these topic because I really love math and these topics were related to math. I found negating the statements challenging because you have to practice with some questions to fully understand it. I figured it out while trying to do Assignment 1. Solving the questions in Assignment 1 was also challenging to me because I get confused with symbols and statements. Also I learned tautology and contradiction and some of the properties used in logic. If an implication is always true it's called a tautology and the opposite of it called contradiction. I am mostly confident about the material covered this week. I learned a lot of things in the tutorial session but I still don't know the result of my tutorial #1 quiz. When I looked at the tutorial exercise before going to tutorial I could only do %40 of the questions and with the help of the TA before the quiz I understood the every question asked. I realized they are not hard. I hope I will get a good grade on quiz #2.

I agree with my friend Shreyansh and I want to quote a sentence from his slog: "In order to illustrate implications and symbolic statements, we were introduced to truth tables which really allowed me to gain a better understanding of implications, conjunctions and disjunctions." It was hard to understand implications, conjunctions and disjunctions I think. When you make a truth table you assign the value '1' as true and '0' as false and its easy to make.

Friday, 19 September 2014

CSC165H1F - Review about the first and second week

In the first week of lecture, we talked generally about the sets, problem solving and the outline of this course. In the first 2-3 courses I didn't understand anything. The sets in computer science language seemed really challenging to me even though we did it in the high school. Then I studied the course notes. It really took me a while to understand the topic, but when I understood the topic the questions of the topic seemed really easy to me. Also I really enjoyed doing "All, there exists.." and answering questions based on a table. So, it was really a useful week for me.

In the second week, I learned the implications, universal/existential claims and more about sets in venn diagram. The tutorial was really helpful to me because it covered some of things that are new to me about the venn diagram. The course notes also helped me to understand the course. At first I was unconfident about the implications. It did not make any sense to me and it was really a challenging topic but once you understood the logic of it the rest comes. But I am still uncomfortable with finding P's and Q's in a sentence. I have to work on them by looking at the examples and analyzing the logic of it.  Also it now makes sense that how the implication can be true or false. Actually, I really enjoyed studying implications, contrapositive and converse of a statement. It is really a fun topic.  In the last lecture, we did "if and only if" statements and I also have to work on them by reviewing the course notes and understanding the logic behind it.

I want to clarify that as my friend Vugar wrote in his slog I'm also an international student and it is sometimes hard to understand some of the vocabulary used in this class. When I don't know a word my professor says, I look at the Turkish translation to understand. While looking at the translation, I miss some part of the lecture thats why I started to write the words I don't know and look at them after the class.