This class was tough.
This professor absolutely knows what he is talking about, very smart guy. But his accent is kind of hard to understand, and he is a research professor. Which means he only teaches because he has to, he is mostly there to do research. Which means he really does not care if his entire class fails his class. He does not curve. His explanations are either you understand completely what he is saying, or you are 100% lost. His programming assignments build on one another. So if you fail the very first one, you are completely hopeless for the rest of the class. Example, he makes you program an iPod basically with 10 songs and a certain amount of memory. Then next assignment adds on, and next assignment adds on even more, so on and so forth. So DO NOT GET BEHIND on programming assignments.
I honestly struggled a lot in this class but I learned linked lists, classes, strings, c-strings, 2-D arrays, dynamically allocating memory, vectors, pointers, using almost everything I just listed inside of functions, driver files, pointers to other pointers, bubble sort, sequential sort, LIFO, FIFO, stacks, structs, objects of structs, arrays of string, arrays of structs, parallel arrays.
Hours per week:
Advice for students:
Do not skip his class ever. If you feel even the slightest bit lost, ask him for help and do not be afraid to tell him you still do not understand. The programming assignments start out kind of simple, but make sure you do them and understand what you are doing. Because his very next assignment will add-on to the previous one, so basically need to know how your source code works like the back of your hand so you can modify it quickly and easily. Read on your own and do extra homework about the topics discussed in class because they are pretty difficult. His final exam is basically just like his programming assignments on the iPod you basically program. Most of his tests are formatted by him giving you a problem, and you must write the code for it. Sometimes you only have to write the function for something, and sometimes you have to write the entire source code for a problem. Best way to study is to code code code. Code so much you dream about it.