I was right to feel positive after I wrote the first term test, as I did quite well. When I told my parents how well I did they wondered if I had chosen the correct subject for my degree. Hopefully I can continue to do well, but the material is getting harder.
I haven't looked at the tutorial material for this week yet, but in lecture we looked at algorithms, and continued to work on our clock. I found the algorithm material a bit harder than previous material because it is such a broad topic. Since you can have an algorithm for almost anything (but not everything) I found that learning generally about them was difficult. The information wasn't concrete and saying that something was used to "solve a problem" was too broad for me to grasp. But once I inserted a problem on my own, like the paper-folding problem this made the material much easier to understand. I also found the example of the unsolvable algorithm quite interesting. I always find it interesting that bugs of that sort exist in our world.
Monday, October 22, 2012
Sunday, October 14, 2012
Term Test 1 Has Been Defeated!
I recently completed the first term test for the course and I feel so good about it! The way that this course is structured works perfectly for me and is really set out in a way that is going to help me do very well. I know that a lot of people hate quizzes that occur as frequently as ours, but I love them! They are never difficult, but simply knowing that they exist forces me to keep up with the material and study what we have learned from week to week. Since I study a little bit every week, it makes things a lot more manageable when it comes time to study for a test. Since I have already done the bulk of the work, some review about the history of computing, and reinforcing my understanding of how to do math in binary* was all I needed to do in order to prepare for the test. Normally if I hadn't studied and crammed my brain full of knowledge in the 24 hours leading up to the test I would have been FREAKING OUT, but not this time! This time I was well prepared and not stressed at all! All that being said, I don't have my mark yet so hopefully I won't have to eat crow upon receiving it.
Soon we will have to complete the second part of our Wikipedia assignment which involves learning the ways of the Wiki community. I'm not sure how I feel about this assignment yet in terms of how interested I am in completing it, but being an avid Wiki user I feel as though this assignment will certainly help me better appreciate the time and effort that complete strangers put in to helping me better understand the extremely complex genes and proteins I find myself investigating for other courses. For the most part I have chosen to help create better references in my chosen articles. Many a time I have been told by some academic authority not to trust anything I read on Wiki. I feel as though it doesn't have to be this way, and an easy way to fix that is by adding references. I would much rather use Wiki as a way of finding various scientific papers that I need to refer to than searching the U of T libraries website for hours on end. Anyway, a slight digression, but I am more than happy to contribute to a website that I greatly appreciate. Again, I am very fond of the way that this project has been broken down into three parts. It makes it much more manageable and keeps me on top of the things that I am doing. Perhaps I should be setting out a structure on my own for my other courses and projects...
* Math in binary is awesome! I loved learning this, though no matter how hard I wrack my brain I can't quite put a finger on why.
Soon we will have to complete the second part of our Wikipedia assignment which involves learning the ways of the Wiki community. I'm not sure how I feel about this assignment yet in terms of how interested I am in completing it, but being an avid Wiki user I feel as though this assignment will certainly help me better appreciate the time and effort that complete strangers put in to helping me better understand the extremely complex genes and proteins I find myself investigating for other courses. For the most part I have chosen to help create better references in my chosen articles. Many a time I have been told by some academic authority not to trust anything I read on Wiki. I feel as though it doesn't have to be this way, and an easy way to fix that is by adding references. I would much rather use Wiki as a way of finding various scientific papers that I need to refer to than searching the U of T libraries website for hours on end. Anyway, a slight digression, but I am more than happy to contribute to a website that I greatly appreciate. Again, I am very fond of the way that this project has been broken down into three parts. It makes it much more manageable and keeps me on top of the things that I am doing. Perhaps I should be setting out a structure on my own for my other courses and projects...
* Math in binary is awesome! I loved learning this, though no matter how hard I wrack my brain I can't quite put a finger on why.
Wednesday, October 3, 2012
Making Programming Useful!
I'm really enjoying the things that we have been learning in the course so far. After the third lecture, we created a "clock". For the first time I can actually see how you would put the things we are learning to use in a game or on a website for example. At the beginning, I didn't really know why we would need to create a red circle in the program when we can also just copy and paste in images. But now that we can make things take action at certain times, and after the press of certain buttons, things are coming together.
I've just completed the tutorial exercise where we play around with big-bang, and making an action occur on the "tick". In lecture we didn't learn how to change the time interval that each tick represented. It was kind of fun to discover how to do this on my own. There were some things represented in the text (Picturing Programs) that were performed in a different way than we learned in lecture. The text makes an image rotate clockwise like this:
The most difficult task presented to me in the exercises for tutorial 3 came when we had to alter the window size by adding additional arguments to (on-draw) rather than overlaying the image on a second image. This hadn't been discussed in lecture, so I searched the help desk for "on-draw" and it provided me with the following information:
I wasn't really sure what "render" or "expr" meant, but I tried using this formula:
Eventually I figured out that "show-it" that we used previously may represent "render-expr" and that "width/height-expr" may represent numbers. So I tried one more time with:
I was finally successful! I'm pleased that I am slowly being able to problem solve my way through the world of programming. Part way through this exercise I was prepared to take this issue to my TA, so I am really happy that I was able to figure it out on my own.
Things are starting to seem pretty complicated, and I am not sure how well I am going to retain the information. I'm very comfortable playing around with DrRacket and correcting things when I get an error message, but I am concerned about my ability to recall the things that I have been doing when it comes to the first test. That being said, there have only been three tutorials so far and since the test is next week, I feel confident that with enough practice I will do just fine!
I've just completed the tutorial exercise where we play around with big-bang, and making an action occur on the "tick". In lecture we didn't learn how to change the time interval that each tick represented. It was kind of fun to discover how to do this on my own. There were some things represented in the text (Picturing Programs) that were performed in a different way than we learned in lecture. The text makes an image rotate clockwise like this:
(on-tick rotate-cw)In lecture we would change the rotation degree to a negative in order to make it rotate clockwise. While discrepancies like this were originally confusing, upon examining them further it was fairly enlightening to see that there are multiple ways to do the same thing. So far my impression of the programming world is that it is fairly strict, so seeing some flexibility here was refreshing.
The most difficult task presented to me in the exercises for tutorial 3 came when we had to alter the window size by adding additional arguments to (on-draw) rather than overlaying the image on a second image. This hadn't been discussed in lecture, so I searched the help desk for "on-draw" and it provided me with the following information:
(to-draw render-expr width-expr height-expr)
I wasn't really sure what "render" or "expr" meant, but I tried using this formula:
(on-draw render-expr width-100 height-100)
Eventually I figured out that "show-it" that we used previously may represent "render-expr" and that "width/height-expr" may represent numbers. So I tried one more time with:
(on-draw show-it 100 100)
I was finally successful! I'm pleased that I am slowly being able to problem solve my way through the world of programming. Part way through this exercise I was prepared to take this issue to my TA, so I am really happy that I was able to figure it out on my own.
Things are starting to seem pretty complicated, and I am not sure how well I am going to retain the information. I'm very comfortable playing around with DrRacket and correcting things when I get an error message, but I am concerned about my ability to recall the things that I have been doing when it comes to the first test. That being said, there have only been three tutorials so far and since the test is next week, I feel confident that with enough practice I will do just fine!
My First Programming Experience!
At this point in time I have officially done my first bit of programming and I am quite proud of myself! Programming has always been a huge mystery to me, so getting some basic insight into what the term "programming" even means has been extremely enlightening.
Before beginning the course I was worried that I didn't have enough computer knowledge in general in order to be taking a computer science course, but soon after the lecture began I found that was not true at all. So far all of the programming that we are supposed to be doing has been well explained, and the videos provided by the instructor proved to be extremely helpful. Typically I don't have a problem following written instructions, but being able to see exactly what needs to be inputted into DrRacket is quite helpful.
The instructor decided to use DrRacket because of the clarity of the error messages it provides to beginners, and this is really helpful as well. The only difficulty that I have come across so far is memorizing the inputs. DrRacket makes it really easy to figure out your mistakes from the error messages, but error messages aren't a luxury available to you on a written quiz. I find that sometimes the order that the values need to go in isn't always intuitive to me, so I need to spend a bit more time memorizing that information. For example when creating a solid, blue circle, there is nothing in my brain that makes me remember size comes before "solid" which comes before the colour. To me I could write "blue" 150 "solid" and it means the same thing. A lot of review, and I was able to remember the correct order. I don't know that I would necessarily call this issue a "difficulty" but at the moment it was the only challenge presented to me after the first tutorial.
One final difficult I have been having is remembering that we are using DrRacket, and not DrRatchet, which I seem to be calling it.
I'm really looking forward to continuing on with the programming, and maybe eventually doing something that I can see being put to use.
Before beginning the course I was worried that I didn't have enough computer knowledge in general in order to be taking a computer science course, but soon after the lecture began I found that was not true at all. So far all of the programming that we are supposed to be doing has been well explained, and the videos provided by the instructor proved to be extremely helpful. Typically I don't have a problem following written instructions, but being able to see exactly what needs to be inputted into DrRacket is quite helpful.
The instructor decided to use DrRacket because of the clarity of the error messages it provides to beginners, and this is really helpful as well. The only difficulty that I have come across so far is memorizing the inputs. DrRacket makes it really easy to figure out your mistakes from the error messages, but error messages aren't a luxury available to you on a written quiz. I find that sometimes the order that the values need to go in isn't always intuitive to me, so I need to spend a bit more time memorizing that information. For example when creating a solid, blue circle, there is nothing in my brain that makes me remember size comes before "solid" which comes before the colour. To me I could write "blue" 150 "solid" and it means the same thing. A lot of review, and I was able to remember the correct order. I don't know that I would necessarily call this issue a "difficulty" but at the moment it was the only challenge presented to me after the first tutorial.
One final difficult I have been having is remembering that we are using DrRacket, and not DrRatchet, which I seem to be calling it.
I'm really looking forward to continuing on with the programming, and maybe eventually doing something that I can see being put to use.
Subscribe to:
Posts (Atom)