2012년 11월 23일 금요일

Term Test 2, Wikipedia, and Project 2

When professor Heap mentioned that he will return the marked term test 2. I was bit nervous because personally, I thought I did not do well. I have written answer to every short answer questions during the test but I was not sure if two of the four questions where correct as well as the last question regarding to explaining what was happening in the sample recursion formula. When I got my test back, I was relieved to see that I did well. I was glad when professor Heap mentioned that there is 4 point boost because I wanted a grade higher than 85%.

Wikipedia assignment wasn't extremely difficult to do. Because I did some previous research about the topic I want to fix and about the language used by the Wikipedians. I began by adding some missing information. During editing process, I have come across multiple problems even though I did some basic research. To resolve the issues, I read guides and looked at the language of the articles that already had features I wanted to include in the topic I was revising. It took some time, but in the end, I managed to repair all the problems. When enough information was added, I wrapped it up by polishing some grammatical issues.

Just after finishing project 1, project 2 was given. I looked into it and attempted to revise the definitions and add appropriate check-expect lines. I successfully wrote all the necessary codes except one definition. But I wasn't worried about it too much since it was due November 30th. What I am planning to do in order to make the definition to function properly is to ask my peers and ask professor Heap to obtain some hints.

Overall, although CSC104 course covers diverse topics, it is an interesting topic. However, I would not recommend to people who does not have any computer knowledge at all. This is because I know that my brother who is taking course with me is very strong in Life Science courses. In CSC104, most of the times, he has no clue what are the main concepts to take away from the lecture slides nor what professor Heap is trying to explain. I sometimes have this problem because lecture slides contain too little information to fully comprehend the necessary concepts. The lengthy online lecture notes are great, but again, to computer dummies, I don't think it is a safe alternative for understanding concepts and for performing superbly. I would recommend this course to people who have some basic knowledge.

2012년 11월 9일 금요일

Finishing up the Project

After going through so much midterms, I started working on Project 1. In the beginning, it seemed so confusing because there were so much codes jumbled and mixed together. However, after reading the assignment handout and the instructions written after semi-colons, I slowly began to figure out what I must do. The check-expects I had to add were easy. I breezed through them all. The difficult part was fixing the definitions so that it matches with the previously written check-expects. Fixing "clarify-color" was easy. But, "check-key" function took some thinking to figure out the definition's code. Personally, the hardest one was "clarify-image" command. I tried various things to make it suit not only for the check-expects, but also for the clock hand images. At first I knew a condition code was need in the definition code. It took various attempts which all failed. This was because most of them gave an error of 'in a argument, a number was expected but an image was given.' I was getting really frustrated, but before giving up, I wrote one more code that actually worked for check-expects. Unfortunately, it did not work for the clock because it only showed white circles with alpha value of 0. As a result, after the lecture was over last Wednesday, I asked professor Heap for hints. He advised me to look through the map-image activity he went through. Unable to figure it out even after the professor gave me the hint, I called a friend who took CSC104 with me. He and I thought our brains out but couldn't resolve the issue. In the end, he decided to ask to his TA and left library.

Even after he left, I tried to think what map-image had to do with "clarify-image" definition code carefully. The exercise had "map-image" command and two arguments: another function and an image. I knew that "map-image" was just "map-image", and the image (2nd argument) was the variable c. Then, it hit me. I realized what I need for the 1st argument. Because the condition of r+g+c is greater than 650 was already included in "clarify-color" command, all I had to do was (define (clarify-image c) (map-image clarify-color c)). When it was ran, it worked perfectly. All the check-expects passed through and the clock was working properly with proper clock arm pictures.

Embracing the joy of success and the fact that I finally fixed the issue made my day. However, I soon realized that there was another project. Hopefully, the next project won't trouble me as project 1 did.

2012년 10월 27일 토요일

Another Uncomprehensible Lecture

Wednesday's lecture about key features of modern computers and mass storage devices was interesting but for some reason, I couldn't focus during the lecture. Half of the times, I dozed off or thought about something else. I didn't get what professor was trying to teach not because it was confusing but because I wan't in appropriate mindset to learn something new. After what it felt similar to three hour lecture, the class was over and I headed home. 2 days after I started reviewing the lecture based upon the recording I made and Professor Heap's online notes. It made so much clear what the lecture material was about. Last time I reviewed for algorithm, I read online notes as well. Although I am not sure if other people prefer professor's live explanation, professor's online notes were more suitable for me in terms of understanding the concepts.

So far the course in terms of work load and difficulty, it is okay. I thought the course would be easy but I underestimated it and gradually started to spend more time on studying CSC104H1. Although I haven't reviewed DrRacket codes yet, I am hoping they won't be too difficult.

2012년 10월 19일 금요일

Lecture so Confusing

The Wednesday's lecture was pretty confusing in the beginning. It explained the concepts related to Alonzo Church and Alan Turing. They involved how many problems do not have algorithms to solve them. The professor went to idea of Proof by Contradiction and to an example question using "This statement is false." Although, he was trying his best to explain clear to students, I think most of students, including myself and my friend, didn't understand what he was trying to say and got eventually lost. For me it was because, he was repeating "true"s and "false"s so much. Other concepts such as problems with computer listing the Fibonacci sequence were easy to understand. So, after the lecture, I reviewed the lecture two days later, trying to understand the Proof of Contradiction. I listened to lecture recording slowly and repeated the section where professor was explaining the concept 3 times. I still didn't get it. So, I went into Youtube and searched for Proof of Contradiction. I watched one of the video that KhanAcademy posted and it clarified so much what the Proof of Contradiction was. However, in order to confirm what KhanAcademy explained was what professor was trying to say, I looked at the online notes and realized what was going on with "This statement is false," example. I took little bit of searching and logical thinking but eventually, I understood it. After such work, I begin to think that computer science was more of a philosophical work plus computer programming. Hopefully, next lecture will not be as confusing as this one.

As for the midterm, I did pretty well. I knew I was going to lose some marks in the history question but other than history section, I did really well. Marks were deducted from other questions as well but I accepted the deduction because I didn't know what to write when I took the test.

2012년 10월 11일 목요일

Test, The Aftermath

Completed the midterm yesterday night. It wasn't hard but it was somewhat unexpected. Because professor Heap did not provide the format of the midterm, I was expecting the history section to be in form of multiple choices because there wasn't any detailed information about the history of computers in the lecture notes. However, it turned out to be two short answers. I could confidently answer the comparison question between tubes and transistors, but for the other question, I jotted down what I could. Binary calculation and the Boolean logic questions were easy. I was ready to breeze through it. By the time I reached the last question about DrRacket commands, I was little bit confused of what the professor wanted as an answer, but eventually, I figured out. While I was furiously writing down the answer to last short answer question, I saw professor answering a lot of questions related to Boolean logic questions. I thought they were really easy but I guess many people were confused because AND, OR, and NOT was combined altogether. I remember I was confused first when I did the practice test that professor upload. After some time, I figured out why the answer in the practice test was the correct answer. That helped me a lot at understanding how to Boolean logic questions worked. In the end, I thought I did pretty well. Probably a grade of A because I didn't do well in history questions.

The lecture about algorithms were very interesting because I was never aware of that. I was also surprised at how detailed the algorithm commands had to be in order for a machine to perform a certain function and why programming an AI was extremely difficult. I didn't understand half of what the professor was doing with DrRacket. Need to review.

Overall, test was well done and lecture was intriguing.

2012년 10월 10일 수요일

Preparing for a Midterm

I have just finished nutrition midterm yesterday and there is CSC104 midterm today. It seems like I am drowning in tub of midterms. However, if I study for it, I shouldn't be hard. I attempted to go over the lecture slides and DrRacket exercises. Memorizing the history of computer took longer than expected. I guess it is because I am weak at history. Only thing I knew before reading about history was the abaci and ENIAC. Those were easy to store it in long-term memory. Then, there were binary exercises. I tried few addition and multiplication questions I made up myself and it turned out to be fun. I tried converting decimals to binaries and worked out converting some easy fractions to binaries. I did get every question right. So, I felt confident that binary questions should be a piece of cake. Then again, it is a test. It is unpredictable what Professor Heap might do. As for the DrRacket, I watched the videos from tutorial 1 and 2. I didn't go over tutorial 3 because I knew all the concepts. Tutorial 4? I downloaded to Racket codes professor posted and tried to understand what each line meant and why was the data represented as it was if the codes were ran by the program. In the end, I understood everything from DrRacket, but  I need to go over tutorial 3 and 4 before the test starts as well as review the lecture notes all over again so that I feel confident that I absolutely know everything to get over 90%.

Lecture after the midterm.... I personally don't like it but then it is supposed to be 3 hour CSC104 altogether. Wasting 2 hours is not something professor wants to do. So, I guess I have to accept the fact that we are having a lecture. Hopefully, the test turns out to be well.