CSCI 3081W, I am ready

| 1 Comment

This is a challenging semester. I take many challenging classes, such as CSCI 3081W, where the professor's goal seems to be to make the class as painful as possible. But I think the painful experience will bring me lots of useful skills, so this will have a happy ending.

I used to participate in the Olympiad in informatics and the ACM programming contest. So before the class, I was already familiar with C++, debugger, data structures and algorithms. That does not mean I am an expert programmer, but that I have skills necessary for the class already. The most important experience that I want to share is that anyone in my situation should keep practicing. For example, instead of asking others to help me debug, I always sit in front of the computer myself, and do the work as long as it takes. Although it takes a lot of time, it is very helpful in improving my debugging ability. I also like to modify codes again and again until the code is pretty simple. Sometimes it is readable, but sometimes it is hard to understand, largely because I use a lot of bit operators and implicit conversions between bool and int.

If you want to choose a book to self-study C++, I strongly recommend Accelerated C++ as the first C++ book you should read. With less than 300 pages, it covers the most important features of C++ and dives into STL, without focusing on the tiny details of the language. I am extremely grateful that I chose this book as a primer, and not C++ primer which has 2000 pages!

I have written tens of thousands of lines of code to practice the contest problems. But contest is just contest, not real world problems. When looking at the topics that our class will be covering, I noticed that I still have a long way to go. For instance, I did not spend enough time on commenting. A good programmer should always make effective comments. When I did the "railroad" project in 1901 last semester, it needed a large amount of comments, but that responsibility largely fell to my partner. I am not good at writing comments, so I avoided this job and let my partner to do it. In the future, I should face my weaknesses and dare to challenge them. I hope to overcome this through this class.

The design pattern is also an interesting topic. In the "railroad" project, I just added new functions to satisfy the new requests. I never thought what design pattern I should use and how important it was to programmers. I heard many people and many books talk about it, but I just never dabbled in it. Therefore, I hope to understand it more thoroughly though this class. I hope this semester will be fruitful. I really feel I am challenging myself this semester.

1 Comment

Hey Ark,

I remember you writing code for one of the first labs we had and I was amazed at how fast you were able to look through the code and type the required new loop. I sat down later to do it on my own and it took me about 30 minutes :P This blog of yours explains why you're so fast. I suppose the only way to really improve in programming is to actually write more code. I also have problems writing comments. What I have always done was write what the function is supposed to do and what it takes as arguments.

This class does seem like one of those classes that will push the individual. Hopefully we all walk away as better computer scientists.

See you in class,
Keng Kue Lor

Leave a comment

About this Entry

This page contains a single entry by xuxxx728 published on September 27, 2011 9:13 AM.

Benefits and challenges when working in team is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


Powered by Movable Type 4.31-en