Monday, December 1, 2014

Made it.

Overall Experience

I came into this course in hopes of minoring in computer science along with my Architectural Studies major for two reasons. Firstly, I enjoy and prefer logical problem solving subjects rather than memorization. And secondly, I thought it would be a great compliment for my application for a master's degree in Architecture, as well as become a vital asset career-wise. When people think of computer scientists, they think of a bunch of smart people most likely with glasses on typing away and doing all sorts of things on a digital/virtual world. However, little did they (I) know how much real-world applications of logical proofs this has taught me. I strongly believe that I'm better at countering argumentation and claims made based on weak facts or stories. For a first year, fresh out of high school, with no background in computers, CSC165 was not a breeze. It requires careful attention, quiet a lot of time, effort, and work. It’s been a good couple of months and I'd like to thank Professor Heap and my TA, Madina, for all their efforts!

Week 11-12

Diagonals!

When we were initially given the Diagonal Count problem, I thought 'Okay, let's do this." But admittedly, it was probably on a higher level of difficulty than expected compared to the previous ones. Fortunately we have Polya's Problem Solving Techniques in mind to aid this journey of logical justification and revelation. First of all to solve anything, we need to understand what the problem is. I had to carefully read the issue twice - Once when I scanned through to get the gist of it and the next to fully comprehend it. So we're given a rectangle that's length and width is known by the make-up of n columns and n rows. Of course m and n are positive whole numbers. We are also given a line drawn from the upper-left corner to the bottom-right (the diagonal!). Now what we need to do is devise a plan to concoct a formula with the given information to figure out how many grid squares the line will pass through. Just like mostly everyone in this class, I tried to find a pattern by assigning different values to m and n. I also noticed that the shape forms two equal right triangles, giving me an idea to perhaps somehow use the slope (diagonal) in my formula. One more thing discovered in class was that the interior squares crossed when n = m + 1 was the same as when m + n -1. After a lot of thought and becoming more familiar with the problem by reading through the solutions link provided, as well as other students' slogs, it was clear this had several solutions, unfortunately, none that I came up with on my own. I'm hoping Prof Heap goes over this problem and clears our thinking soon...

Assignment 3

 When this was posted, I had no lack of work to already get done for my other courses leaving this task at the bottom of my to-do list. When I did get to it however, I tried not to panic as I went through. Most of it looked familiar so I wasn't too worried...until I got to the last two questions.
Anyway, question 1 wasn't bad at all. All it took was to sit down and clearly understand, plan, and implement. As I was going through my solution, another shorter and more efficient approach came to mind so I used that as well. Question 2 was similar to the ones we'd done enough times in class, although it did take me more time to solve than expected. Questions 3 and 4 were where I got stuck for a while, confused as to how L'Hopital's Rule on limits was to be used. Thankfully, attending the next lecture helped a lot where some hints were given. As for question 5 and 6, I had to thoroughly go through the course notes, lecture slides, as well as running a Google search on what the halting problem even is to attempt solving them. Up until Question 5, I understood what’s being asked, but Question 6 had me lost for hours. Fault on my side for not paying attention during the lecture where this was covered. After a while, it didn't seem as challenging anymore and my fear of getting that 20% on the question was gone. Again all these problems required me to try out some approaches, some worked, and others didn't. Some of them seemed to have worked, but once re-reading, mistakes were found, but hopefully, I've created solid enough ones for the standards of this course.


Friday, November 14, 2014

Weeks 9 and 10 - Almost there!

After continuously working with Big-Oh statements about polynomials, its gotten pretty easy to prove them. That was up until logarithmic functions (rather than exponential) were introduced; when we had to prove things like 2n O(n2). In order to prove these statements, the use of limits and L' Hopital's Rule was need. I'd heard of this rule a number of times in calculus before, and luckily we re-learned it again in my MAT135 that same day. Basically it uses derivatives to help evaluate limits of indetermined forms such as 0/0 or ∞/∞. It is fairly simple. 
Moving back to the proof, if the limit evaluates to infinity, then we could easily prove the statement with the help of these tools. 

By now, having the definition of Big-O carved in my knowledge, the definition of big-Omega came more easily. The only difference was the inequality at the end changing direction. This all came as pretty straightforward until Friday's lecture rolled around, where Prof Heap had lost me on a much earlier stage than I'd hoped. This brief fall break and working on assignment 3 will hopefully aid in making it more comprehensible.

Tuesday, November 11, 2014

Week 7 and 8

These two weeks were focused on learning everything properly that were required to do the second assignment and test. The concept of disproving was stressed somewhat and was fairly simple to grasp. We went over the structure of proofs in more details (all the inferences) and then moved on to sorting strategies.  Another interesting exercise was given to once again help us practice understanding the problem, devising a plan, and carrying it out. This pennies problem required us to think of a sequence that would produce two piles of pennies using one of two ways {L,R}. The obvious first move was splitting the 64 into two piles of 32 so {L,L} {L,R} would work.

Next we were introduced to the Big Oh, and that's that part in this course where I'd never seen or heard of this, making me uncomfortable. After Google doing what it does best - save lives -  I was okay. When Prof Heap started talking about linear search, the worst case, its upper and lower bound, I wasn't following him entirely and am still a little unclear about it. Either way, doing some examples of these proofs with quadratic functions made life much more sensible. It wasn't until after when these sorting methods were introduced in my introduction to programming class that I finally fully understood what alien doings were going on.

Meanwhile, assignment 2 was driving me crazy. I had a couple of more assignments and tests due that same week making it such a perfect time to catch a cold! On top of that, I was struggling to sneak in a few hours of sleep here and there, desperately waiting for the week to end. Good news was that assignment helped me prepare for the test so too much time and effort wasn't consumed studying for it.

Tuesday, October 21, 2014

Week 6

    Since it was the thanksgiving long weekend, there were only two lectures this week. I don't think there was a tutorial either. It's still midterm season so most of my time was spent focused on other courses and therefore, unfortunately, don't have much to say in this entry about CSC165. What I do remember is more proofs. The structure of proofs, including the indentation and reasoning, was stressed. Prof Heap went through five proofs. 
   
    First was a proof of non-Boolean functions, where rather than a true or false value, something such as a number is returned. The second one was using more of the definition. Both of these involved a statement involving the floor. I had no idea what that was so seeing its \lfloor x\rfloor  symbols that looked like the absolute value |x| with legs kind of threw off the slight bit of confidence I'd built up about this course. Google always comes to the rescue though so now I'm okay with this.Third proof was about how to prove a false claim. Here we could negate the statement and then prove it which was pretty interesting and it would have taken me some time to figure out that approach on my own. Fourth, proof by cases wasn't so bad; it was a longer process but it made perfect sense. Lastly, the proof about limits was where he lost me for a good amount of time. I still need to review all the lecture notes to become more comfortable with everything. 
    
    Also, assignment 1 marks didn't turn out so well...which means I clearly need to work a lot harder. Assignment 2 was just posted and I haven't gotten a chance to look at. As much as I would love the challenge, it does make me nervous. Let's see how this one goes.  


Friday, October 10, 2014

Week 5

Monday morning, despite the fact that our first midterm was in two days, we moved forward into learning proofs. Although they might seem slightly confusing at some points, I enjoy the challenge. What I particularly like is how everything is layed out nicely in clear step by step transitions. Also, it isn't just a straight forward method you follow to prove every statement; you have to try out different directions, points of view, or you simply have to try to prove the existence (or lack of it). It enforces you to think differently and approach the problem from all angles. 

Tuesday, all I had for the day was the tutorial for this class at 9am that I rushed in and out from because today was the day I had to start (and finish) studying for the midterm exam the next morning. I was stressing, and all those posts on piazza did not help. They always make me feel like I'm much farther behind on my work while everyone is almost done. Not nice. Thankfully I was done going over everything fairly early in the night. I went to sleep not with not much confidence, thinking of how badly I might mess this up. Well I don't think I'm alone on this one...the exam was a huge relief. I'm sure all of us expected a rather difficult version that we'd all be clueless in and fail. 

I hope this pace continues.

TGIF

Monday, October 6, 2014

Week 4

This week we started off with transitivity, which wasn't too bad, but then we got to this graph that confused me so badly. Fortunately, it made more sense after I attended my calculus lecture. Coincidently those two classes had almost the same concept being conveyed. The last thing I remember learning was the introduction to proofs. For me this was the part of the week where I got more comfortable because proofs were something I'd done more than enough times in grade 8 and grade 9 in my school back in Dubai.

Outside of the three hours spent on lectures for this class was the time spent on our first assignment for this course. The first time it was posted and I looked at it...I closed the tab immediately thinking how on earth am I going to do this. Eventually I sat down one night and looked at it again. That time wasn't so bad and I finished most of the questions then and there. I still wasn't too sure of my solutions though. This uncertainty was the scariest part of this entire experience. What if I'm wrong? Everyone else seemed to have finished it so fast and so easily. Was I missing something? I didn't know what to do. Finally I replied to one of the posts on piazza about someone looking for a partner. We met up Friday afternoon, looked over just the first question together and both our solutions were completely different. Thats when we decided to go try the office hours...didn't work out so well. It was so crowded and Prof Heap didn't have time for us. So that was that. I came back home, looked over my solutions again and hit submit, putting all that stress to bed.