Thursday, 4 April 2013

Problem


 

So now I have the choice of which problem to solve "the 165 way"...I chose the Diagonal Problem.

So now we start with the first step:



Step 1: Understand the problem

So the problem here is to find a a pattern to predict the number of squares crossed by a diagonal on a cxr grid.



Step 2: Devise a plan.
So the plan here is...
Draw out the squares and keep adding grids and diagonal lines across the grids. Record each of the findings in a chart and create an equation based on the results and recordings.


Step 3: Carry out the plan.
Carry out the plan with rows and columns, keeping track of how many grids the diagonal line crosses each time grids are added.
 
rows           1 | 2 | 2 | 2 | 3 | 3 | 3 | 4 | 4 | 4 | 5 | 5 | 5 |
colums       1 | 2 | 3 | 4 | 3 | 4 | 5 | 4 | 5 | 6 | 5 | 6 | 7 |
diagonal     1 | 2 | 4 | 4 | 3 | 6 | 7 | 4 | 8 | 8 | 5 |10|11|


Step 4: Look back, and draw a conclusion.

The conclusion I can draw from this chart is that when the number of grids of rows and columns are equal, the diagonal line goes through the same amount of grids that there are (eg. row = column = diagonal); when either the row or column is even, then the diagonal goes through as many grids as 2 multiplied by the smallest column or diagonal; and when both the row and column are odd, then the diagonal goes through the number of grids 2 multiplied by the smallest of the row or column plus 1.

Friday, 29 March 2013

Second Last Week

This is the second last week.
We have started the halting problem. I don't yet know how to prove anything with halt, because I don't fully understand it, but hopefully I will soon.
My partners and I have done all the assignment questions except the last one, the one on halt.
Next week, when we have our last 3 classes, we'll be able to finish the last one....and then there's just the exam to complete.

Wednesday, 20 March 2013

Important Questions...

So the midterm went alright. I think I did alot better than I did on my other midterms that week.
It was all on proofs and I'm starting to see how knowing Calc helps with these proof problems. One of the friends took MAT157 and I see how easily proofs come to him. He understands things almost instantly, whereas it takes me a while to grasp these concepts since I'm not used to math.
We just got back our midterms and I'm worried because the class average was 80%. This means that the exam will probably be very hard.
I still don't know if I'm in the right program, and I think about it all the time. It really bothers me because I know I'm not math-oriented, and I still don't know if I can even handle later years of Computer Science, if I can barely handle it now.
I was planning to go into Computational Linguistics, because I love languages, grammar, and creative writing. But I don't know if I would be able to do that. When I look around the lounge, everyone either seems like they love math, find it easy, or they couldn't imagine themselves doing anything else. I always feel out of place, like I think in a differently than them.
I think I will go to the registrar to ask them what they think.

Wednesday, 13 March 2013

Week of Test 2!

It's mid March, and you know what that means.....
Time for the 2nd set of midterms! Three in one week, as per usual.
I am really nervous because I've already had two tests this week that haven't gone as well as they should have. I'm hoping this test will go better than the other two.
I know this test is going to be on proofs, but I'm not sure if big O proofs are included as well or not.

I'm glad we can use cheat sheets again, but still a bit nervous for how that will affect the level of difficulty of the test itself.
I looked over the notes on proofs today, briefly, but I feel like proofs are something you can't truly study for. You can memorize the proof structure, and I feel I've done that, but for the proofs themselves, in the words of the student I talked to who got 90% last semester, "you just need to know how to prove stuff." Which makes sense. The only problem is, I'm not the best at proving stuff.
I guess now is the chance to change that.

Thursday, 7 March 2013

Assignment 2 Week

The next midterm is coming up next week, and I know I have to really just sit down and study for it.
I have 3 next week, and I'm really nervous for all of them. I need to find some place where I won't get distracted and where I can study to the best of my abilities. I think EJ Pratt would be a suitable place because there are a lot of quiet spots there. The CS lounge is always too loud and distracting, filled with people who took this course last semester and are bragging or complaining about their marks for it or making some lame joke about the halting problem..
My me for took me to EJ Pratt before the first midterm to study there, and I think that would be the best place for me right now.
I'm going to go there today after my math lecture and study there.

This week was also assignment week, and luckily we finished earlier this time and were able to submit it by about 8:00pm. Hopefully we got a good mark because my partner and I spent a long time trying to figure out all the questions and perfect the proof structures. For me the hard part is never whether the proof itself is true, but to try and find ways to actually prove it so it makes sense.
And then the comments..
But I think we did alright. We'll see.

Thursday, 28 February 2013

Revelation

This week we did more proofs. And in tutorial now we are doing more than just the proof structures. We are filling in the middle and actually formally proving them.

The tutorial exercises this week weren't that bad. I pretty much understood them, the only problem is I never know the next step in what to do. Once I see the answer, then I understand, but before that I never know how to get to the next step.

The last two questions seem fair as well. Just subbing in positive integers/positive real numbers will allow you to see which statement is correct out of the two.

We now began assignment 2. Yesterday I recieved great advice from my mentor (who's in 2nd year Computer Science). He said he would help me, and he helped me with a question, and then he told me to do the proof of it. He told me to suffer through it because that's how you truly learn. And then he left the room and said he wouldn't come back until I had solved the proof and proven it.

I did what he said and found it extremely hard to do. I sat staring at the proof for a long time, not knowing what to do for it. I tried different things, tackling the problem from different angles. I tried the "165 method to solving a problem" and looked at what the output of the proof should be, what I'm proving and where I want to go.
When he came back he asked me if I was tired, frusterated, wanting to give up, and I said yes. Then he said, "good, that's how you know you're learning."

And at that point I knew I truly had the greatest mentor.

I realized that teaching someone how to solve problems like this is ten 10x more valuable than helping someone solve the actual proof. This is the true method of helping someone learn.
After he left once again, he said "I'll give you ten more minutes."
And in the ten minutes I realized something. I realized that squaring the n and then doing algebra on it would create the q we needed in the problem. And then it came, all the steps after just flowed out of me and I got that rush of dopamine that the Prof was talking about in the first week. I got that high from the satisfaction of solving the problem.

I couldn't thank my mentor enough for this lesson. In life, you have to try really hard to get somewhere. And every day I wonder if Computer Science is for me, whether I'm doing the right thing being in this program which is extremely challenging for me.
I've always thought of myself as an "Artsy", a writer. A year earlier I never even thought I would be doing anything to do with math or logic.
But here I am now, suffering through it. I did it to challenge myself. And I know that if I succeed, if I manage to complete my degree and accomplish what I thought was the hardest thing for me to do, I will get the greatest rush of all, the greatest sense of satisfaction and accomplishment,

because to feel something you've never felt means to do something you've never done,
and to accomplish something you never thought you could is the greatest feeling of all.

Wednesday, 13 February 2013

Test Results & Proofs

We took up the test. I was really nervous when we went through it. I was relieved to see that I got the list comprehension part right, and I also understood the last question as well; but when it came to the delta proofs I didn't really understand it, so I'm not sure if I got that one right.

This week we started on proofs. At first I was overwhelmed with how much we had to write for them. When I saw the Prof post the slides on proofs, and write them all out during class time, I was very confused.

Then I looked over the tutorial exercises and saw they were on proofs too. I had been told that proofs were an important part of the year.

∀x ∈ Z, ∀y ∈ Z, x ≤ y ⇒ ∃z ∈ Z, x ≤ z ≤ y

I saw this statement and I understood the meaning of it is

"For all x and all y that are integers, if x is less than or equal to y, then there exists an integer z, which is greater than or equal to x and less than of equal to y."

Then we had to put "assume" statements and indent them in the right format.

Assume ∀x ∈ Z, ∀y ∈ Z
     Assume  x ≤ y.
          Let z' = ....
          Then, z' ∈ Z
          Then, x ≤ z' ≤ y
          Then, x ≤ z ≤ y
          Then, ∃z ∈ Z, x ≤ z ≤ y
     Conclude x ≤ y ⇒ ∃z ∈ Z, x ≤ z ≤ y
Conclude ∀x ∈ Z, ∀y ∈ Z, x ≤ y ⇒ ∃z ∈ Z, x ≤ z ≤ y

By the end of the tutorial, I understood the format and how to basically write out easy proofs, but I was still really confused about the difference between the structure of proofs and actually proving the statements.

Wednesday, 6 February 2013

Week 4: Midterm!!

The midterm is in 2 days, and I still don't fully understand proofs. I was trying to solve what the Prof wrote in class while he did it, and to understand what he was writing, but I couldn't keep up with him.
And now I'm trying to go over it at home to understand it because it seems pretty complicated.

I'm really nervous about the fact that we have the option of bringing in a cheat sheet, becuase I feel that the Prof will make the test a lot harder than it would be without one. And I also don't understand too well how it works. Can I just write anything on the sheet?

I was happy that there was no tutorial quiz this week, but a review tutorial would have been nice to review all the material for the midterm.
Today I'm going to go over all the material and try to understand everything. Hopeful I can understand it all by Friday.

Wednesday, 30 January 2013

Third week: Proofs

This tutorial we did proofs. At first I was confused about proofs because I didn't know whether to negate them or use the rules; I only understood how to negate statements, not prove them.
So I didn't really understand the first tutorial question, but I got the second one. I was also confused about the third one because I thought it involved vacuous truth and I got the opposite answer than the answers the TA gave.

Then today I went to office hours and it cleared it up for me. 
I still find the logical notation very confusing; just when I think I have understood it and grasped the concepts, I forget it and have to relearn it and look at it over and over. Hopefully I'll soon be familiar enough with it for it not to be confusing anymore.

I put:

(A ^ B) => C
But the answer was:
(A V B) => C
And then I subbed in the statement:
If the temperature is hot, or the sun is shining, then it's swimming weather.
When looking at this statement, I didn't know if both A and B were needed for the statement to be true or not. That's why I was confused. I didn't know which one was right.
After office hours today, I saw how (A V B) => C could change to (A => C) ^ (B => C) by using the identities, distribution, and DeMorgan's law.

(A V B) => C
¬(A V B) V C
(¬A ^ ¬B) V C
(¬A V C) ^ (¬B V C)
(A => C) ^ (B => C)

As for the proofs, I now realize that I have to negate them, and I DO have to use DeMorgan's law and the other laws.

I still have trouble with them, but hopefully I can get them down by the test next week.

Wednesday, 23 January 2013

Week Two: Vacuous Truth & symbols

The tutorial exercises this week were even more confusing, so I decided to get some help. I went to office hours and asked about the material.

Despite the fact that English to symbols is supposed to be unambiguous, and despite of the point of it being to write it in a straightforward way which cannot mean something else, I found that the symbols were very unclear in the way they could be written. After trying it many different ways, my answers were, even by the end, all very different than what the actual answers were.

I finally grasped the concept of vacuous truth, which was really helpful in understanding some of the other concepts.

An implication can only be false if the antecedent is true and the consequent is false.
If the antecedent is false, it doesn't matter whether the consequent is false, the statement will still be true.

I also learned about inclusive vs. exclusive or; it's interesting how when we use 'or', we always use the inclusive 'or' (meaning 'A or B or both'), and we have to add more to the statement for it to be an exclusive 'or'.

Tuesday, 15 January 2013

Universality & Existentiality: The First Week


                Logic and expression. And reasoning. That’s what this course is about. How to express yourself and to practice your reasoning skills in solving problems logically. It’s an interesting combination, in my opinion: math combined with writing and expressing yourself. I never would have thought that you could express yourself in math. I have always leaned more toward expressing myself in writing, so this should be interesting.

I thought that learning about the different steps to solving a problem was very useful. I have always had trouble with how to tackle logical questions which require thought and reasoning, so I will always try to apply this method to all the problems I want to solve from now on. In fact, the other day when I started on a programming exercise for another computer science course (CSC148), I tried to use that approach to tackle the problem. As a result, I successfully solved the algorithm and coded it in even less time than I would usually take.

We started this week on logic. Universality and existentiality. It reminded me of grade 12 Philosophy, in which we also learned about these things. Lots of proofs with p’s and q’s, deductive and inductive reasoning...and other forms of logical comprehension.

The first problem the Prof showed us, the streetcar drama, was an interesting one. He said no-one had solved it since the 1900s. When I looked at the problem, it seemed sort of simple, because the explanation was simple, but when looking deeper into it and thinking about it in depth, I realized it was a lot harder than it seemed.

A: Haven't seen you in a long time! How old are your three kids now?

B: The product of their ages (rounded down to the nearest year) is 36.

A: That doesn't really answer my question.

B: Well, them sum of their ages is [fire engine goes by]

A: That still doesn't tell me how they are.

B: Well, the eldest plays piano...

A: Okay, I see: their ages are [you have to get off the streetcar]

In order to solve this problem, you must first understand the problem, the inputs and the outputs. Then you must think of different ways/methods to solve it. Only after you have done these first two steps can you officially start carrying out the plan you chose. If it doesn't work, figure out exactly what part is not working and why.
I admit I had problems with the first exercise we were asked to do in class, and it made me a little nervous about how the course would play out in the end. I have heard from a lot of people how they thought this course to be very rigorous and challenging, and I could see from the beginning how much thought was needed to be put into this in order to understand it.

I worked on the tutorial exercises as best I could, trying to apply the information from the lecture into the problems. Again, it reminded me very much of what we did in the logic unit of grade 12 Philosophy, which was good because I enjoyed that unit. We learned about universality (when we state that ‘all’ of p is q) and existentiality (when we state that ‘some’ or at least one of p is q).

The tutorial exercise made me think very hard because it was a bit confusing, and I came out with a number of different results, but by the end of the tutorial I had mostly understood it.