This class was tough.
This class is mandatory for all CIS students, therefore I can't really NOT recommend the course. I would recommend a different professor but at the time that I took it, Yoon was the only professor teaching it. The class is relatively difficult and will require you to study for it to understand the concepts. It's not very math heavy; however, it is very logic based and it WILL challenge you. The programs themselves can be made in either C++ or Java and aren't very hard, but the tests are killer. Thankfully they are usually almost carbon copies of problems he shows during his lectures but unless you memorize the problem itself you still need to understand the concept (which I suggest regardless).
This course gives you more insight into the logic of computer programming and is useful in that aspect. Additionally you begin to get into encryption and decryption during the end of the course. Aside from that, the first few weeks are you relearning old topics from Discrete Structures I (CIS 275).
Hours per week:
Advice for students:
Study, study, study. This class has no homework, therefore you don't get any experience practicing with the problems. Thankfully, the examples are usually straight forward and the programs are relatively not very difficult (compared to CIS 275). While being on the easier side I still recommend starting the projects early which gives you time to focus on studying the topics in class more.