Wednesday, December 5, 2012

Final Exam Time

Here it is. The first time I'm going to be having a 'final' in University. Stereotypically, university students stay up all night in the library with cans and cans of red bulls, pouring over books and books. Luckily, this term is easy, as I only have one final to write. Though it seems like many students have already started pulling all nighters in the library, I plan to organise my time to not pull and such thing.

To begin with, I need to go over all the lecture slides and take the notes about computer history. Actually this part is really important for me since I always lost marks on the computer history part.

Then, I found out that the video clips about DrRacket are also kind of important because these videos are the base of the application of DrRacket. Since the material got more difficult, the base is essential to understand.

Next, I may not forget the contents in every single tutorial. The tutorials contain useful information. Also the quizzes I got back with the feedback from the professors will be useful review materials.

Finally, I hope I will get good marks. :)

Converting into Binary

On September 26th, I learned about binary numbers for the first time. I was like "oh my god, what's these weird numbers". As I looked around the room, it was clear that a sense of confusion had ran across the entire classroom. My classmates all had a puzzled face, a few who understood, and others, who already gave up.  I know the importance of Binary number so when I came back to home, I searched it up on the website and then I finally got some ideas.

Take converting 255 into Binary numbers as an example.

Step 1: Understand the Problem
I looked at it, and understood the problem. It wanted to convert a number in regular base 10 form in a number in base 2 form.

Step 2 :  Devising a Plan
Since I looked at it from an online source, all I had to do was copy the solution posed on for a different number and apply the same formula for the number 255

Step 3 : Carrying out the plan
I solved this problem by doing the following.

-Divide 255 by 2, I get 127, and the remainder is 1
-Divide 127 by 2, get 63 , and the remainder is 1
-Divide 63 by 2, get 31, and the remainder is 1
-Divide 31 by 2, get 15, and the remainder is 1
-Divide 15 by 2, get 7, and the remainder is 1
-Divide 7 by 2, get 3, and the remainder is 1
-Divide 3 by 2, get 1, and the remainder is 1

After doing this, I got the answer by starting from the bottom of the chain
So the answer should be---- 1111111

Step 4 : Looking back
Since I got the answer, I checked the answer by doing the followings.
1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^5+1*2^6+1*2^7=255

There you go!


My Second CS Project

Here's  my second CS project.
Actually it was much easier than the last one,  but involved more math calculations.
Basically what were required was to write some check-expects in onder to make all the tests pass.
I found something interesting while working on the project.
When I was required to write two check-expect expressions for interpolate-image, one  for when n = DENOM, the other for whem n = NUMER, I tried two kinds of check-expects and they all worked.

Firstly I tried

(check-expect (interpolate-image pic:calendar (flip-horizontal pic:calendar) 30)
              (flip-horizontal pic:calendar))
(check-expect (interpolate-image pic:hacker (flip-horizontal pic:hacker) 30)
              (flip-horizontal pic:hacker))

 and then I tried

(check-expect (interpolate-image pic:calendar (flip-vertical pic:calendar) 30)
              (flip-vertical pic:calendar))
(check-expect (interpolate-image pic:hacker (flip-vertical pic:hacker) 30)
              (flip-vertical pic:hacker))

The difference was that I used "flip-horizontal" in the first one but "flip-vertical" in the second one but they all worked! Yeah!

By the way, doing project really helped me prepare the test!

Sunday, November 25, 2012

The second term test result

Last Wednesday, I got the second term test back at the end of the lecture.
The marks is a little bit lower than I expected :(
I did okay on both part 2 and part 3, but I got screwed up on the part 1 which is about computer history.
What  I figure out is that the part one maybe a little bit challenging for students like me whose first language is not English.
Anyway, It's very impressive to know that we can bring a "cheat sheet" to the final exam.
When I went throughout the test questions, actually I found that part2 and part3 are not that difficult. The part2 is really similar to the quizzes I did in the lecture, and part3 is like a conclusion about the project we did before the test. However, the part1 is a nightmare since I never practiced before, just memorizing some histories according to the slides. 

For the final exam, I will study really hard about the computer history by organizing the notes and going through the slides very carefully. Hopefully I will do a better job on the final exam. 

Tuesday, November 13, 2012

My First CS Project

Honestly, I spent almost a week on the first project. After I submitted last friday, I felt a big relief.Generally speaking, the project was long and complicated than I expected.

Before I did the project, I was still confused about writing the (check-expect) stuff, even though I watched the "check-expect" video many times. But not, after doing the project, I got a clear idea about writing the (check-expect) because I practiced writing the "check-time" many times in the project. Hoever, I still got one question.
Im not quite sure about how to write the "check-expect" about this one.


; stop? : clocktime -> boolean
; Is c-stop/go a stop sign:
; !!! create two (check-expect ...) expressions for stop;
; insert them before the definition




(define (stop? c) (equal? (clocktime-stop/go c) STOP))

I tried many times but it still did not work  :(



Anyway, this project helped me a lot getting prepared the term-test on Wednesday. 
Wish me good luck on the test 

Sunday, October 28, 2012

Wikipedia Project


When I started to write my third blog today, I found out that I did not post the two I wrote before. What I did was I saved them instead of posting. Since I never used Blogger before, I made a huge mistake. How come I cannot tell the difference between the "save" and "post" ><. However, I will get used to it. :)





The wikipedia project is really an impressive project. 
When every time I need some information about some specific stuff, I usually search it on the Wikipedia.  I never noticed that how much work behind until I really edit the wikipedia page by myself. And now it's time to give something back to the society. :)


The pages I would like to edit are :
http://en.wikipedia.org/wiki/Angry_Birds
http://en.wikipedia.org/wiki/Xbox_Video
http://en.wikipedia.org/wiki/Dance_Dance_Revolution_Extreme


For the article “Yellow Ribbon”, I suggest to split the article by including the two songs “She Wore a Yellow Ribbon” and “Tie a Yellow Ribbon Round the Old Oak Tree” as sister articles to the main article. By doing so, they can be discussed in further detail, without making the main article too long.


In the “Angry Birds” article, I suggest splitting the “Ports” section into 3 additional subsections including: “Mobile/Android”, “Gaming Consoles” and “PC” since the ports fall under these three categories. This would help to organize the information and make the “Ports” section less intimidating. In addition, I suggest that some of the information in the section “Other Media” be removed and placed into a section called “Television and Advertisement” where much of the information under “Other Media” falls under.



For the article “Xbox Live Music”, since it was created only three days ago, it lacks much of the information that people may be looking for (ie. Development and Release as well as Reception). Thus, I propose to do some extended research and contribute useful information to the page.


Finally, for the article “Dance Dance Revolution Extreme”, there are sections that have a title, but contain no information. For example, there is no information under “Challenge Mode”, “Nonstop Mode” and “V-Rare” though they have been made into subsections. Therefore I plan to do some research on my own in order to supplement the lack of information in these subsections.


Midterm Marks

Today I checked the midterm's marks, and it turned out that it was not impressive at all. :'(
I was kind of stuck at the last question. Because is was such a long question, every time I see a long question, I assume it is could be really complicated, and then I will lose my patience to answer it.
Actually the last question was not that hard, as long as I had patience, I would able to solve that. What's a  pity :(

Luckily, the term tests don't account for too much for this course(only 10% for each term test). If I do well in the quizzes and the assignments, I still have a chance to get higher marks in this course.

The last term test is coming soon and the materials are more hard than before. In order to master this course, I need to practice coding with the DrRacket more. Basically what I did before was just went through the notes and slides with less practice.