Tuesday, December 4, 2012

End of the term


Hi, since the term is closing to an end, I thought I should give my general overview and how I feel about this course.

I believe this course was very beneficial to me as it provided a lot of fundamental insights on how computers and programs work and the history behind them. My initial intention of choosing this course was to familiarize myself with some of the basic intuition that is needed in order to program. Being in 3rd year of Astrophysics specialist, I realized how important programming is and that programming is inevitable in modern science. In experimental physics, almost every apparatus is run by a program and every data analysis is collected by using a program. This is the case because doing anything manually always introduces new errors and it is not very efficient when there are a lot of repetitive procedures.

At first, I really did not like programming as it was something that I was not use to and I would always make small mistakes and not know why I kept on getting errors. It was especially frustrating when you know what to do in your head but you can’t seem to be able to code it with correct syntax to make the program work. But after taking this course, I think I can safely say that my confidence in programming has gone up. I also enjoy programming these days as the feeling one gets when they finally get the program to work is incredibly amazing.

The power of programming really shines when you need to do something that’s repetitive and you find yourself doing it manually. It’s times like those where you would rather have a program to do what you’re doing in a second. Another beauty is that once you have a program do something very simple like combining all the colours of pictures, or cropping a picture to a background, it is re-usable whenever you need it again.

Overall, I really enjoyed this course as it was very a fun learning new functions from Dr.Racket and all the history behind the creation of computers and algorithms. I really hope this course remains available for many more years as I think it is one of the most useful and interesting introductory courses one can take in University of Toronto. 

Sunday, December 2, 2012

What to study/Going into the exam


Since the end date for SLOG is before the exam date, I thought I should provide my current plan for how I am going to study for the exam.
I think it is much simpler to study for this exam if we were to break it up into 5 parts:
     1) General basic knowledge
·         This will be done by mainly relying on the lecture notes and studying the slides
·         You also can’t underestimate the additional notes that were posted on the website
·         I also found from previous tests that some basic searches online helps a lot to understand the topics better
·         Don’t worry too much on small details/facts because most questions on the past tests have been conceptual and based on a idea (all word questions for basic knowledge part
·         If the exam is anything like test 2, then this section is very critical as half of the marks from test 2 was based on general knowledge on lecture notes and additional notes that were posted on the website
     2) Calculations
·         Although this is 100 level course and there aren't many calculations that has to be done, there are still some calculations within the course such as the binary to decimal and vise-versa
·         Since you know if the exam is anything like the past tests, it will have the general knowledge questions (usually word questions) then couple of calculation question that may have to do with Dr.Racket codes or just basic calculations we learned from the course such as Boolean outputs
      3) Coding (Dr.Racket)
·         This section is probably what is viewed as most difficult component of the test, however I think this is perhaps the easiest
·         First of all, we had a lot of time to deal with all the functions that would be mentioned on the test since we had tutorial and quiz every week that we had to prepare for
·         Secondly, professor told us that if we do not know a specific function and how it works, we can ask for that. Thus, we shouldn’t have any problem with a specific definition that we are not familiar with. Which implies that the only thing we have to worry about is the concept behind these functions and its capabilities
·         Lastly, in order to get more familiar with Dr.Racket, I am planning to re-do all the recommended questions and mainly focus ones that has answers as well so I can always double check if I did the coding correctly, rather than expecting that I did
Make sure to look over past exams and our previous quizzes which will give us a huge hint on how the exam will be formatted.
Good luck studying everyone!

Saturday, December 1, 2012

Tutorial exercise #9


Hi, I noticed that I did not write much about this week’s tutorial exercise (#9). So although it has already past, I thought I should give my impression of this week’s tutorial and also the quiz.

Starting off with koch.rkt, there are two primary functions within this program. Firstly, the koch itself which uses the input given (which is a number) and displays an output of a line or multiple lines. It will just output a normal horizontal line, but as you increase your number value as input, it will rotate 60 degrees then rotate -60 degrees from the last position to make a triangular shape (with no bottom) like ‘^’.  It will continually add as you increase the number. Thus in the next function, the koch-snowflake, it takes these individual koch’s and puts them together. Which will ultimately create and snowflake shape if the value for input is high enough. Next program is spiral.rkt. This program seems to have the same intuitive concept as koch.rkt where the user inputs a number and depending on that value, it will display an output of spiral lines. Overall, the two programs were not very complicated once one is able to wrap their head around it. The quiz consisted of 5 questions which were all related to the functions mentioned above, I am not sure if I got them all right but the questions were very fair considering that the questions were directly from the program we studied during the tutorial.

I hope everyone did well on the quizzes and project #2!