Friday, 15 February 2013

Week 5 - Term Test !!




Not a lot happened this week other the term test madness. I was surprised that the term test just popped up out of nowhere because it was not even around the time midterms start. As I looked at the term test from last semester I thought to myself maybe this course is not as easy as I judged it to be. Seven pages and questions worth 5 and 10 marks? YIKES! I was confident about the computer history and the definitions-expression part of the test but not so much with the scary 10 mark question where you had to provide a check-expect statement, contract comment, and completing the define statement and body of the definition... Just the question sounds intimidating, not to mention the fact that I was not even quite sure what some of terms even meant. In the process of preparing for this test, I spent a good 2 hours trying to understand how to add, multiply, convert to integers the binary numbers only to realize the morning of the test that it will not even be on the test. (Jeez! I should really check my webmail more often!) 

The test was in fact challenging and I messed up big time on the 10 mark question just like I had predicted… Should have spent more time on figuring out that question than on the binary numbers that was not even on the test....

Week 4



Week 4... hmm. ah yes! The history of computers! 

This week we learned about how modern computers we have today came about in existence. In class the professor started talking about how clay tablets were the first computers..! Yes, clay tablets because the definition of a computer includes a device that is capable of storing information that can be retrieved later, and since clay tablets were capable of accomplishing exactly that, they are considered the first computers. Who would have thought?? Then it was the abacus which were beads on wires or rods that was used as an early calculator. I remember when I was a kid, I was enrolled in this special abacus school where they taught how to do math using only the abacus (I still do basic math in my mental abacus sometimes!) After that were looms that was able to read patterns off of punch cards and mimic that,  and engines (with the invention of the steam engines), and then came the first "computers" as we know today. These first computers were powered by steam in glass tubes which had numerous disadvantages leading to the use of transistors to replace glass tubes.

Week four was also the week part I of the Wikipedia assignment was due. When I first created my account and followed the instruction posted on the course webpage I was completely disordered because there were just so many links and so many sub categories. After much frustration and a power nap I read the instruction one more time and realized that the assignment is not as complicated as I perceived it to be. Finally I selected a couple articles that I wanted to work on including one on a really old Indian movie featuring one of my favorite actors (yay!) and submitted it on MarkUs.

This was the first time we had to actually had to read the Picturing Programs textbook for a tutorial and surprising I found it quiet helpful than the videos because the book has more examples and its easier for me to refer back and forth to it when working on the exercises. Maybe I will use the textbook more often! 

Monday, 4 February 2013

Week 3


I know... it’s a bit late for week 3's blog but I never had the time till now so here goes. 

Week 3 has been the most productive week for me so far because I was able to catch on quickly with this week's lessons and had a triumphant time with the activities.  We learned about definition, or in other words, defining identifiers for images, numbers, words, etc. I always find it fun to work with images because it gives me the freedom to use an image of my choice which gives me a little motivation boost to do the activities. Two of the many activities we had to do for this week were:

1) Calculate the sum of 149 divided by 7 with 83 times 15.
2) Append the first six characters of "sixty-five" to the first two characters of "twenty"

And I have to admit, after several failed attempts at doing this with no help what so ever, I felt like an absolute genius when I got it right!

Solution for #1 
> (+ (/ 149 7) (* 83 15))
>1266.285714

Solution for #2
> (define one "sixtyfive")
> (define two "twenty")
> (define first-six (substring sixtyfive 0 6))
sixtyfive: this variable is not defined
> (define first-six (substring one 0 6))
> (define first-two (substring two 0 2))
> (string-append first-six first-two)
"sixtyftw"

First, I was absolutely lost because I was so confused as to where the brackets and the math signs go but I found A 'Dr.Racket Manual' online which showed me just how to write those math functions.  For question number two, however, I did not know what function to use and was not able to find it on this online ’Dr.Racket Manual'. So, I felt especially smart that I came up with the idea of creating place holders or identifiers for each of the words that were to be used in the 'string append' function and ever more so when I later found out that this method wasn't even taught in class for 'string append'. Yes, there is a simpler and much easier way but still I figured it all out myself using only what was taught on the videos so I am going to keep up the pride.

Later that week we had a tutorial quiz on which a new function was created called 'sandwich' with its definitions and we had to figure out what that function would do in a certain case. Since I was familiar with this tactic (thanks to my ingenious moments with the definitions activity) I was able to seamlessly ace that quiz!   

Tuesday, 22 January 2013

Week 1-2


First 2 weeks of CSC104... 



My first reaction to this course was "uugghhhh its too early in the morning !!" Living almost 2 hours away from campus, getting to a lecture at 9 AM in the morning in the harsh January winter is close to torture. By the time I get to class, Im cold, sleepy from waking up too early and hungry from not having the time to grab breakfast in between the morning rush. However, I perform the same streneous task three days a week regardless of the pains for the sake of learning the "How and Why of computing" and for the sake of taking a course with my best friend of 15 years.
Now shifting the topic to the actual course material, I found the simple functions of "flip-verticle", "image-width" almost effortless and obvious having a basic knowledge in the Turing program.

One week later, it was time for the first tutorial. After a long day of work , I came home to take a look at the videos on values and try some of the exercises for myself, only to repeatedly receive a "function not defined" error message. After several frustrated attempts, I decided to call it a day in order to get to the lab in time the next morning. The next morning, after aimlessly trying to find the Bahen building in the ruthless cold, my friend and I ended up in a crowded lab with no available computers. I managed to put my time with the TAs to good use and figured out the reason behind the annoying error message I kept receiving (I had been entering function on the wrong side of the split screen without remembering to press 'Ctrl R'). Thirty minutes later I wrote a surprisingly effortless quiz on the functions well discussed in lectures and walked to the subway hoping to learn more challenging functions to add on to my pre-existing knowledge.