One of the topics that I think I have reasonably known well is writing effective comments. From my previous programming experience, I had got to know that comments are essential to let first-time readers to know what is going on with your code and it is especially important if you're working on the projects in a group. Provided that you have a bunch of well-explained comments, you would be able to communicate with your partner(s) better as coding progresses.
Another topic that I think I have grasped in pretty well is values, pointers and references. I have had intensive experience of exercises/practices in these subtopics when I took CSci 1902 and CSci 2021. Creating pointers to store a bunch of data and later referencing the pointers to retrieve the data was kinda fun in a way that I realized that pointers and arrays are such powerful structures to hold data and to play with.
One topic that I don't really know well would be testing frameworks and writing good tests. I have had hard times writing merely simple test cases when I was programming in Java, so don't mention "good" test cases. I was kinda confused as to how to really write several(strong) test cases that would really prove that the functions work correctly on all test cases.
Another topic that I wish to get out of the class by the end of the term is to be good at programming in C++ (using classes, inheritance, templates). I did not have a chance to really get most out of Java last time and I am glad that I am now given a chance to learn more about creating classes and inheriting them from one to another to function a big project as a whole. Having done continuous effort on projects but always not getting the expected outcome was always a nightmare to me. I truly hope that I can get much out of this course, or at least more than what I already knew.
Pointers are interesting. The C code rely on pointers. But I think in C++, we should use a few pointers. Because it's so easy to generate bugs.
ReplyDeleteFangzhou Xu
How to writing effective comments is one of big topic of me, because I used to write code by trail and error, though finally I finish my program, few people can understand my code. To avoid this, I think to fully understand the code you want to write is a good way.
ReplyDelete--Cheng, Chung-Yuan--
I agree with you that C++ program language is a big part of this class. But you said you've learned C before, C++ is similar with C. I believe it won't be hard for you to be good at C++. And a good test case will be helpful for your future study. You will have fun in this class.
ReplyDeleteLetao Jiang
Writing a good comments is really necessary when you works in the group. But, writing a good comments is also necessary for the writer himself. When you write a large program like the one we do right now in CSCI 3081W, sometimes we want to modify our code later on and we need the comments to understand our code again.
ReplyDeleteChristopher Jonathan
i know exactly what you mean about the comments, but it's not just first time readers. it helps you not get lost in your own code too. =] -jakub nemec
ReplyDeleteI agree with most things you said. However I really dont think it is that difficult to write test cases? You want to just test each conditional/switch type statements to make sure it does what it is supposed to no matter what kind of data is given. I am also very excited to do a giant group project!
ReplyDeleteAustin Norby
@lucasa24 (sorry, I don't see your name): Nice entry. There's one point though, a bunch of comments may not help. If the code is clean and targets the right audience, then a few lines of informative comments would be great. Too many comments may make the readers lose their interest.
ReplyDelete@Fangzhou: I think we still use a lot of pointers in C++, at least with my experience.
@Austin: What if the intention of the conditional/switch statements is wrong in itself? In other words, what if the algorithm is wrong? And how to test all the conditional/switch statements is another thing for me to learn from the class.
You are right comments are essential to have and pointers are definitely a lot of fun. I feel you accomplish more when you write code using pointers, which is true because pointers are great for speed and quality in your program.
ReplyDeleteKengkue Vang
This comment has been removed by the author.
ReplyDeleteI wish I got in the habit of commenting well. That is something that will be very helpful for you and your colleagues throughout your career. I remember back in earlier CS classes looking at my code, trying to remember why I wrote that, then trying to explain it to the person I was getting help from.
ReplyDeleteBrett Bedeaux
I think this class is more about introduction to software engineering. Learning C/C++ is really a by-product of this course as a way to practice techniques that are used. I feel like as computer science major students, we are not just programmers, we are more a scientist how to design and improve computing in general. Writing programs is just like writing English papers, every one of us write at some level but we do have people who are in English major or writing studies. They are there to help us, In the same sense, we computer scientists should just be like them to help other follow non-computer science programmers (other engineering students maybe?)
ReplyDeleteBuyu Chen
Buyu Chen