How to Succeed in CISC 372 with(out?) Really Trying Many of the items below will be obvious and well-known to you, but it is often useful to review and summarize well-known information. TIME. On average you should expect to spend a minimum of three hours outside of class for each hour in lecture. Since there are three hours of lecture, you should expect to spend nine hours EACH week outside of class working on this course. READING. Many students come to this course without knowing how to study technical material like that found in CISC 372. When reading is assigned, you should plan to read it THREE times. First read through to get the overall ideas. Then, read it a second time very carefully with the purpose of understanding all the details. DETAILS are very important in a course like this. Then reread it a third time to make sure that you have fully assimilated it. I find it useful (actually it is really mandatory for me) to reread the material at a later date --- there seems to be a required assimilation time that is largely unconscious. I can do initial readings of technical material with only partial understanding, but at a later reading (after a few days, a week, or at review time for a test) the material is usually much easier to understand. LECTURES. Attending class, like reading, should not be a passive activity. First of all, it is important to come early enough to get properly settled in your seat, have all your materials out for taking notes, etc., BEFORE class begins. Secondly, you should be prepared to engage the material that will be presented. This means to have done all previously assigned work, readings, exercises, etc. It also means coming prepared with proper materials for taking notes, and bringing notes and hand-outs from previous classes for possible reference. Once class begins you should be actively engaged in what is being presented. If you do not fully understand a point, ask a question! Remember if you do not understand there are almost invariably others who do not understand either so do not be afraid to ask. Try to anticipate what's coming next in the lecture. If it is different than what you anticipated, ask why. This may simply be a quick question to yourself or a question to the instructor inquiring if there is another way to do the task at hand. In programming there is often a multitude of ways to do a particular task and it is often instructive to consider alternate ways and to see what are the strengths and weaknesses of different approaches. There are many hand outs in this course, but they are not intended as a substitute for taking notes. You should be taking notes and putting additional annotations on the hand outs as they are discussed and importnat points are clarified. Draw circles around the parts of a program that the professor emphasizes along with a note about why that part of the program is important. STUDYING. Assimilating technical material (whether through reading or attending a lecture) is not a passive activity! You should continually be asking yourself questions about the material. E. g., How would I have done that? Why did the text or professor do it that way? Can it be done other ways? If yes, are the other ways better or worse than the way the solution was presented? Why? (Do not automatically assume that the way the text or professor did it is better than the way(s) you thought to do it! Often times students have equally good, or better, solutions than those given in the text or in class.) Often in answering the question "How would I have done that?", the answer is "I do not know." In this case, back up a step and ask the questions: How would I begin? Where do I get stuck? What is hard about this task? How did the text or instructor solve the parts where I got stuck? This will serve the important function of focusing your attention on that part of the problem that is most difficult for you and help you to concentrate on what is new and different for you. When studying the text you should take notes of the most important ideas, stop every ten minutes or so to review in your mind the material previously read, at the end of the reading summarize for yourself the material read (if you have fully assimilated the material, you should be able to do this without looking back at the text). The most difficult part of this course is writing your own programs. It is much easier to understand the programs that are presented in class. A very good way to make use of the example programs given out in class is to take them home, put them aside, and try to write them yourself. You will find this difficult for many programs even after you have seen them and they have been discussed in class. Then compare your solution with that given in class and try to understand the areas where you had difficulty. If you cannot clarify your difficulties from your notes and the textbook, then go to the TA and/or the Prof with specific questions about the problems you are having. TESTS. Do not be lulled into not studying thoroughly for the tests. It is important to study carefully all the material to be covered on the test. (borrowed and modified from Dr. Bob Caviness)