This week was our last lecture! It all seemed to fly by so quickly, and before we know it the final exam will be upon us. I hardly remember what the lecture was on honestly, because it wouldn't be necessary for the final exam. My friend and I had been slaving away at assignment 3 for most of that afternoon, and by the time class rolled around I was pretty brain-dead. What was important though was the tiny review that the professor did at the end of the class. It gave me a great idea about how to study and what to study so that I do well in this exam.
I have very mixed feelings about this class, but overall am sad it's over. I didn't necessarily enjoy it all that much, but what I learned was incredible. I learned about logic in a new way and I got to freshen up my calculus. I discovered that peers can be even better than instructors at teaching material, and that I do in fact love math and computer science. It was hard material for me, but I think that by the time I write the exam I will be ready. As challenging and stressful as this class was, I am glad I had to take it because it gave me a new perspective on math, logic, and what I am capable of learning.
M
Sunday, November 30, 2014
Wednesday, November 12, 2014
halt(hammer, time)
Well we got our midterms back this week, and like most of the class I didn't do as well as I expected. The graders were very strict it seems, docking marks for the smallest omissions and fallacies. It makes sense if you want to learn how to write strong proofs but it does hurt when you receive your test back. At least I know where to study the most for the final exam, which isn't too far away now!
We also did a recap of proving growth functions, and determining whether they were bounded by Big O or Big Omega. I liked the polynomial examples I think the best because numbers are intuitive. The generic functions were interesting too, and seemed pretty clear as well. I am a little concerned about the calculus aspect required for some of the non-polynomial functions, because it's been so long since I have done calculus.
Then finally we took a look at some python functions to determine whether they were computable or not, using a halt(f, f) function and an initialized(f, f) function. I couldn't quite grasp it by the end of the lecture because it was a little bit of pseudo-code, and I'm going to have to go back later and revisit it.
It's hard to believe we are nearing the end of the term. I am a little terrified for this final exam!
M
We also did a recap of proving growth functions, and determining whether they were bounded by Big O or Big Omega. I liked the polynomial examples I think the best because numbers are intuitive. The generic functions were interesting too, and seemed pretty clear as well. I am a little concerned about the calculus aspect required for some of the non-polynomial functions, because it's been so long since I have done calculus.
Then finally we took a look at some python functions to determine whether they were computable or not, using a halt(f, f) function and an initialized(f, f) function. I couldn't quite grasp it by the end of the lecture because it was a little bit of pseudo-code, and I'm going to have to go back later and revisit it.
It's hard to believe we are nearing the end of the term. I am a little terrified for this final exam!
M
Wednesday, November 5, 2014
Take Me To L'Hopital
This week was our second midterm, and I felt like it went pretty well. I only wish I had more time to write it! The questions were appropriately challenging, and I felt like they were a twist on our second assignment. I will look forward to getting the solution to it, because there were a few times when I had an idea of where to go but couldn't exactly figure out how.
After the test, we moved on to proofs related to Big Oh notation. I quickly realized that this was the hinge between the mathematical proofs and the computer science. We took a look at some examples and techniques to prove whether a polynomial function was in Big Oh. With enough practice, it seemed like it will be a straightforward procedure. Then we moves to logarithmic functions and learned about L'Hopital's rule. I found it interesting but felt a bit lost yet again. I am already looking forward to assignment 3, because they've been the most helpful way to learn everyhing so far. I like how this is all tying back to computer science though, and I am eager to see where this all goes.
M
After the test, we moved on to proofs related to Big Oh notation. I quickly realized that this was the hinge between the mathematical proofs and the computer science. We took a look at some examples and techniques to prove whether a polynomial function was in Big Oh. With enough practice, it seemed like it will be a straightforward procedure. Then we moves to logarithmic functions and learned about L'Hopital's rule. I found it interesting but felt a bit lost yet again. I am already looking forward to assignment 3, because they've been the most helpful way to learn everyhing so far. I like how this is all tying back to computer science though, and I am eager to see where this all goes.
M
Wednesday, October 29, 2014
Exponential Growing Pains
This week we were introduced to "big omega" and formal definitions for "big oh" and "big omega". We looked at some examples about growth, and how functions need to be compared after the break-point to determine which grows faster. Moreover, we learned what it means for a function to be "in" O(n^2) or Omega(n^2) by looking at some graphs and examples. It was somewhat interesting and pretty straightforward, which was a nice change. There was a slide that showed the order of speed of various functions, where f(x) = n^n is the fastest growing function. I found it interesting to learn that slower growing functions are the most desirable algorithms for computer science, so that they are able to handle huge data sets efficiently. It made sense after the instructor explained it, but I wouldn't have thought of that on my own.
We also took a look at some insertion sort functions, and how to produce an equation to determine the speed of the algorithm. The equations came back to show how they were examples of "big oh" notation and growth speed, creating a well rounded lecture. All in all it was fairly interesting, and I am starting to see the bigger picture about how "expensive" some programs can be and why.
M
We also took a look at some insertion sort functions, and how to produce an equation to determine the speed of the algorithm. The equations came back to show how they were examples of "big oh" notation and growth speed, creating a well rounded lecture. All in all it was fairly interesting, and I am starting to see the bigger picture about how "expensive" some programs can be and why.
M
Friday, October 24, 2014
O(n^2)wards
This week in 165 we wrapped up our introduction to proofs by looking at different introduction and elimination rules. I found them simple enough because they are some concepts we've already seen before. After that we moved on to Algorithm Analysis and Asymptotic Notation, which I enjoyed learning about. We looked at different sorting methods and why one might take longer than another, and why certain algorithms are more favourable than others because of their speed. It was nice to see something finally make sense right off the bat.
The tutorial this week was also very good, and I finally feel like I'm starting to get a grip of what we are learning. I was able to solve the simple proofs in the tutorial, or at least know where to start. The TA we have is also getting better at explaining certain concepts to us by getting a feeling for what we are confused by. It also helped that my friend and I spent that afternoon working on assignment 2 together, and working with a partner helped me understand what I was missing. So far assignment 2 is a good blend of challenging proofs and accessible proofs. I was even able to get one on my own, which really surprised me.
I think overall this course has inspired me to give math another chance academically, and probably pursue computer science to a depth I hadn't considered before. I feel like soon I'll be past an initial road block, and after that I'll grasp many new math concepts easier than before. Who knows, maybe I'll even take the next proof course after this one.
M
The tutorial this week was also very good, and I finally feel like I'm starting to get a grip of what we are learning. I was able to solve the simple proofs in the tutorial, or at least know where to start. The TA we have is also getting better at explaining certain concepts to us by getting a feeling for what we are confused by. It also helped that my friend and I spent that afternoon working on assignment 2 together, and working with a partner helped me understand what I was missing. So far assignment 2 is a good blend of challenging proofs and accessible proofs. I was even able to get one on my own, which really surprised me.
I think overall this course has inspired me to give math another chance academically, and probably pursue computer science to a depth I hadn't considered before. I feel like soon I'll be past an initial road block, and after that I'll grasp many new math concepts easier than before. Who knows, maybe I'll even take the next proof course after this one.
M
Thursday, October 16, 2014
Proof by Hoping
We received our midterms back this week, and unfortunately I didn't do as well as I hoped. I sort of understand what I got wrong (at first glance) and I think I can do better next time. I think it was an accurate assessment of what I know thus far, and at least it gives me an understanding of where to go from here. This week in lecture we kept moving forward with proofs, and took a look at some more examples of strategies for proofs. It seems pretty straight forward, but I still feel nervous about it all. I just don't think I have the resources (or smarts, sometimes I worry...) to actually look at a problem and know what to do. I am a bit eager for Assignment 2, because I think I'll feel more confident when I start to dive into problems. The examples make sense in class, but looking at the statement before going through it I feel completely lost. It might be time to attend some office hours too, but I should do more work on my own first to really find out exactly what I'm not understanding. Overall the class is still really enjoyable, I just wish I was an expert!
M
M
Thursday, October 9, 2014
Assume i = me
I got it. I finally got it. Last week's tutorial somehow made it all come together. All of these laws I was fretting over suddenly made sense, and there was no memorization necessary. It was like my brain was downloading information very slowly over the course of the first month, and then finally it hit 100%. The TA was explaining the laws of distribution and how to negate an implication, and it finally just all came together for me. Just in time too, because this week was our midterm. I felt the midterm went very well actually, much to my relief. After the test, we continued to dive into proofs even further. Instead of the basic P => Q examples, we used more specific examples of equivalency. The structure of the proof was a bit confusing because I didn't understand how the professor knew what to do for each step. I decided not to worry too much about not understanding, because I'm sure there will be lots of time to learn what to do. For now, I will look at how to structure proofs in general instead of worrying about individual examples just yet.
So far it's still very exciting and interesting. I like the creativity required to move forward in a proof, and am looking forward learning more. Speaking of which, I really ought to read the course notes, because I'm sure there is lots there that will be helpful.
M
So far it's still very exciting and interesting. I like the creativity required to move forward in a proof, and am looking forward learning more. Speaking of which, I really ought to read the course notes, because I'm sure there is lots there that will be helpful.
M
Thursday, October 2, 2014
Fire Proof
This week, we started off with more implications and laws. First we looked at bi-implication, and a few different ways of writing these statements. I think I am slowly catching on, and I feel somewhat confident about finding the negation of most statements. Equivalency is still a challenge though, and I am not too sure how the laws of distribution work in some cases. Next we covered transitivity which seemed straightforward. Working through Assignment 1 gave me a bit of understanding with transitivity as well, so by the time the material came up it seemed fairly clear. We moved on to mixed quantifiers next, demonstrating how switching around a statement might mean different things. An example was shown about how this is done in math, and while the math equation was not too challenging, the way the instructor explained it was a bit convoluted. After studying the example for a while I think I understand, but as he was explaining it I was completely lost. After a break, we had our first introduction to proofs. I had done a few proofs in calculus in high school, so this was not extremely new to me, but the types of transformations are. I suppose these first few weeks have been about learning the building blocks that we will use to accomplish the proofs that are yet to come. This is somewhat exciting actually, because it will help me learn the laws that we have been working on. I think proofs are very beautiful, and I would love to be fluent in solving them. For now though, it does feel like my head is on fire, panicking as it can't escape the burning equations falling on top of it.
M
Wednesday, September 24, 2014
Alien vs. Predicate
I'm the alien, but I'm slowly learning their ways (rules). Last week's tutorial went better than I expected. My patient friend explained to me what I was missing, and after some time I started to understand. I was able to make more notes which is always a good sign, and after we went over the exercise we had our quiz. I think I got the two questions right actually, and I came away from that class feeling more confident about filling in Venn Diagrams.
Yesterday's class went pretty well too. A lot of it made logical sense, so I felt like I had a pretty good grasp on what we learned. Earlier today, I took a look at the assignment for tomorrow's tutorial, and I don't really know how to answer the questions. It's the introduction of (x,y) that confused me, because we hadn't gone over a lot of examples about mixtures of predicates. The class notes were somewhat helpful, but not enough that I knew the answers. I felt like I was able to come up with a guess or a partial answer, but I know there's something I'm missing. I'll have to pay attention during the tutorial so I can figure out how to translate the sentences into predicate statements. Maybe my patient friend will give me some clarification as well, but I feel bad for asking him too much!
Another week, another confusion.
M
Yesterday's class went pretty well too. A lot of it made logical sense, so I felt like I had a pretty good grasp on what we learned. Earlier today, I took a look at the assignment for tomorrow's tutorial, and I don't really know how to answer the questions. It's the introduction of (x,y) that confused me, because we hadn't gone over a lot of examples about mixtures of predicates. The class notes were somewhat helpful, but not enough that I knew the answers. I felt like I was able to come up with a guess or a partial answer, but I know there's something I'm missing. I'll have to pay attention during the tutorial so I can figure out how to translate the sentences into predicate statements. Maybe my patient friend will give me some clarification as well, but I feel bad for asking him too much!
Another week, another confusion.
M
Thursday, September 18, 2014
Quantifying Confusion
It's a double meaning, in the spirit of statements and precision. The first meaning implies that I left class feeling a little bewildered on Tuesday. My ability to understand the material during the lecture went from "okay, sure..." to "wat". In the beginning, learning about universal and existential quantifiers was pretty straight forward. Answering the example questions was slow-going for me, but when the answers were explained I was able to understand what was going on. After I made a little cheat chart in the margin of my notes, I was feeling comfortable with the new symbols being introduced for subsets, intersections, and complements. From there we moved on to Predicates which seemed a little too abstract for me to make sense of. Maybe because the words and numbers are slowly disappearing and being replaced with symbols and letters, I'm not sure. When we spent time going over the examples it started to become clearer, but I am still worried that on my own I wouldn't get the right answer. Then all my hopes and dreams were dashed when we moved on to Implications. Take all of your common sense and nuke it, because there are a new set of rules in town. I kept running up against the same issue; if I tackled an example myself I got it wrong, but when the professor explained it I started to understand. However, I never got the feeling that I understood well enough to learn it. Just merely understand why that was the case. There are so many rules and examples that I couldn't keep them straight, and for some reason my logical thinking was failing.
Which brings me to the second meaning of my title. I don't know how to determine out what I don't know or how much I need to go over. Someone might say "you should post a question on the discussion board!" but I wouldn't know what to ask specifically. I could find an example somewhere of an implication about weather and umbrellas, but for some reason I don't feel confident that it will help me for an exam. The very basic examples are not that bad of course, but it's when the words like "sufficiently" or "only" are introduced that I panic and start hurling P's and Q's at all parts of the sentence. Sometimes I wonder if I over-think things, and I have wondered that during many tests and difficult questions in my academic career.
So tonight I am going to go to the tutorial ready to target questions and hunt down answers. I will be interested to see how the quiz goes tonight, and I hope it will be a useful study-aid for the future.
M
Which brings me to the second meaning of my title. I don't know how to determine out what I don't know or how much I need to go over. Someone might say "you should post a question on the discussion board!" but I wouldn't know what to ask specifically. I could find an example somewhere of an implication about weather and umbrellas, but for some reason I don't feel confident that it will help me for an exam. The very basic examples are not that bad of course, but it's when the words like "sufficiently" or "only" are introduced that I panic and start hurling P's and Q's at all parts of the sentence. Sometimes I wonder if I over-think things, and I have wondered that during many tests and difficult questions in my academic career.
So tonight I am going to go to the tutorial ready to target questions and hunt down answers. I will be interested to see how the quiz goes tonight, and I hope it will be a useful study-aid for the future.
M
Wednesday, September 10, 2014
Day One
Yesterday was the first day of Mathematical Expression and Reasoning. Going into this class I was nervous; the title sounded somewhat intimidating and there were warnings out there that the material was challenging. This also happens to be the second course of my first year of undergrad, so naturally I as a little nervous. Once we had gone through the syllabus and admin talk, we launched into course content. To my surprise this class was basically covering some topics I had seen before. This summer I read the wonderful book Godel Escher Bach, and followed it as best as I could. With my programming background it wasn't a far stretch, but it was definitely challenging. In class yesterday I realized that a lot of the topics would be familiar with chapters and ideas from GEB. The lecture was lighter and more fun than I expected too, but I could tell some of my peers were finding it difficult to follow at the speed the professor was moving. The concepts are very abstract and unlike anything most people have seen before, and it was only my prior knowledge in programming that helped me that day. I can only imagine it will be another week before my head is spinning though. My impression is that the learning curve is steep, but I will just keep studying.
I am already looking forward to next week however, and am really excited to dive in to the material. It's been so long since I've done any serious programming that I'm really looking forward to starting again. Until then, I guess I'll take a look at some course notes.
M
I am already looking forward to next week however, and am really excited to dive in to the material. It's been so long since I've done any serious programming that I'm really looking forward to starting again. Until then, I guess I'll take a look at some course notes.
M
Subscribe to:
Posts (Atom)