This week we learned about proofs by cases, we reviewed proofs, and learned about algorithms.
First, we were introduced to the concept of cases. This concept allows for us to split the argument into different cases in order to make sense and add structure to the proof. It allows for us to examine the possibilities that lie within the proof, and then actually moving on to proving them. We then did an example of a proof in which cases were used, and found that cases helped in the organization of the proof, as well as helped me visualize all of its components. We then learned about the mathematical prerequisite of uniqueness, which can be denoted with the phrase "one and only one." It is a type of existential quantification which indicates that there is an argument with a certain property.
We then talked about the proof patterns of introduction (smaller statement implies larger statement) and elimination (larger statement implies smaller statement). We then learned about the different rules for both patterns by negation, conjunction, disjunction, implication, as well as their universal and existential forms. It is important to practice in order to understand and apply these concepts effectively. I plan to do more practice problems in order to better register this new information in my mind.
We then learned about algorithm analysis and asymptotic notation. We were introduced to this concept with an example of bubble sorting and merge sorting. We checked which of the two aforementioned methods of sorting was the most effective by analyzing their respective algorithms (the process they use to complete the task). Algorithms are of most importance because they determine the running time of a given program. We also learned about how we do not really care about the number of steps withing an algorithm, but about how the number of steps increases as the size of the input increases.
Later, we learned about asymptotic notation, did a few examples with the new greek letters introduced for this type of notation, and then learned how to analyse the time complexity of a program. We learned to make this type of analysis through examples with python and linear searches. I found this part of the lecture interesting as an insight into how programs work.
In the tutorial we did the tutorial exercises, which I was more prepared for solving because I had asked Professor Zhang for help. I understood the material better, but I was not able to complete the quiz question correctly. I plan to ask for help from the T.A. next time in order to have a more complete understanding of the material during the notation.
No comments:
Post a Comment