Doing well in ICS 211

For many students ICS 211 is a challenging course. Getting a B or better (not a B-) is a prerequisite for taking ICS 311. The course is not graded on a curve, so students really need to know the material in order to do well in the course.

The most important part of the material is proficiency in Java programming. The assignments are designed to help you develop that proficiency, but ultimately each student is responsible for programming as much as needed to really internalize the skill of programming. If you need extra assignments in order to really understand what is happening, ask for additional assignments! Or, if you just need to understand what the assignment is asking, ask the TA or the instructor.

One of the best way to do well with programming is to really enjoy creating programs. If you enjoy programming, you will program in your free time, you will program to solve actual problems you have, and you will learn what you need to learn. If you already enjoy programming, great! Do as much of it as you enjoy. Any way you can motivate yourself to learn and practice will help you. Grades can be helpful motivators, but they are not nearly as wonderful as just enjoying what you do.

On the other hand, simply being a good programmer is not sufficient for this course. The course includes many concepts, ideas, and algorithms, and these are also necessary for doing well in the course. The textbook is the primary reference for all this material, but the instructor and the TA should also be considered valuable resources.

Some simple techniques can make the material much more accessible. Chief among them is to read the textbook before coming to class. Then take notes in class (possibly even in the textbook), then, if necessary, re-read the textbook after class, and certainly in preparation for the exam. As soon as you can, do the self-check exercises and the review at the end of each chapter, and follow up on those items where you have come up short.

You definitely need to study for the exams, and you need to study well in advance. You must have mastered the material by the time the exam rolls around. This is hard to accomplish at the last minute, so again, studying the material in the textbook before coming to class is very helpful.

If you feel so inclined, I encourage you to participate in class. Ask questions. I am human and I make mistakes, and when I do, I appreciate being corrected. So please do! Or ask out loud the question that neither you nor the person sitting next to you know how to answer. I do not read minds, so if you are lost, I may or may not know it. But surely you do, so if you can, do let me know. The simplest thing you can ask me to do is to repeat what I just said, in case you missed it or it went by too fast.

I welcome feedback in many ways, and especially for these suggestions. Please let me know if you have any other thoughts on how students can better learn this material.

Last but not least, take all the opportunities that you can for extra credit.