CS 211 - How I would study

You probably are somewhat early in your college career, you may not understand how to study well for an exam. Here is how I would study for the CS211 final.
  1. Re-work the labs (specifically any you didn't understand or do well on). Remember: Programming takes practice, reading code is VERY different than writing code. You MUST WRITE SOFTWARE as practice!
  2. Look in the book at the chapters we've covered and try to work problems (examples given in the book) without looking at the solution first. If it's a programming problem WRITE THE SOFTWARE and compile it. Make sure you can make it work without looking at the book answer
  3. Write out a 1-2 sentence definition of the items in the list at the end of this page .. by hand. You learn more from writing than from reading!
  4. Print out the study guide for midterm 1
  5. Work through all the questions in that study guide. Actually write out the answers and then code the answers to make sure you're correct
  6. Work the midterm again without looking at your answers.
  7. For any problem areas you don't understand, rework any you get wrong, and search out other examples in the book/notes and try those.
  8. Look at the slides from the class and be able to do those examples. Make sure you understand the examples, not just memorization.
  9. Once completed you should have lots of paper and programs. Review the paper and programs multiple times before the exam (over multiple days). Ask yourself the questions and decide what your answer is WITHOUT looking at your answer!
  10. If you don't understand something... ask for help!
Most importantly: START NOW! You should study over a long period of time, not just the night before the exam. Determine your plan and schedule for studying over the next 2 weeks and stick to it!   




Some things to know... but NOT a complete list. The information above is a complete way to study, below are just some basic topics.
    1. How to compile and run programs from the command line
    2. What a jar is and how to create and look at the table of contents from the command line
    3. Define and implement event driven programming 
    4. Classes 
      1. Know and create accessors, mutators
      2. Understand the different visibility modifiers
      3. Know the difference between aggregation and inheritance
    5. Understand the steps to read/write files
    6. Understand how to create and use arrays
    7. Understand how inheritance works, what gets inherited? How do you make that happen?
    8. What is an interface and how do you create and use one? What can and cannot be done with them?
    9. Know what polymorphism is and how to implement it
    10. Know what exceptions are and how to use them, including the different variations:
      1. try/catch, try/catch/finally, multiple catches
      2. What does "check or specify" mean? 
      3. What exceptions are required to satisfy check or specify?
    11. Know what recursion is and how to create a simple recursive method
      1. What are the two parts you need to make recursion work?
    12. Conversion from Hex/Decimal/Binary
    13. Know how to instantiate and use Java generic types
    14. Know what the Collections interface is in Java and why it helps 
    15. Know how basic ideas of how to use an ArrayList (given Javadocs)

Check back for updates (hit reload): Last updated: 12/01/2008