• Understand CPSC 220 vs. CSPC 110 vs. AP Java.
  • Understand the knowledge that you should already have prior to CPSC 220.
  • “CPSC 220 - Computer Programming and Problem Solving”, and Practice

    The title of the course “Computer Programming and Problem Solving” as augmented by “and Practice” is exactly what we do. We solve problems in the form of computer programs. Solving problems and programming is not an innate skill, but rather a skill that everyone (all genders and all races) can learn. The primary difference between a good programmer and a mediocre programmer is the good programmer is more enthusiastic, more industrious, and has solved more problems. The more problems you solve, the better programmer you become. You have to ppractice solving as many problems as you can. Solving problems is more than understaning Java. You have to recognize patterns in the problems statement and arrange those patterns into a solution. We have labs and projects that provide you with ample problems to solve. The labs and projects are designed so that you begin with simple problems and work our way toward more complex problems. If you put forth the effort and practice programming our labs and projects, you will become a Java programmer by the end of this course.

    CPSC 220 and CPSC 110

    CPSC 220 is more demanding the CPSC 110. We cover many of the same topics and more, in more depth, and at a faster pace. For an example of the work load, you may have completed creating 400 lines of code in all of CPSC 110. You will create that many lines of code in many of our weekly labs.

    CPSC 220 and AP Java

    If you have completed AP Java, you will discover some of the CPSC 220 material is a review, especially in the first several weeks.

    Assumed Knowledge

    Everyone in CPSC 220 has satisfied the prerequisites as defined in the UMW course catalog. Everyone submits a course agreement stating they have fulfilled the prerequisites. Everyone should have a general understanding of the following concepts.

    • Programming, which includes
      • How to create a program
        • Using an editor
        • Using an interpreter or compiler
      • How to test a program
        • Creating test cases
      • How to debug a program
        • Discovering why a program does not pass test cases
    • data types such as integer, floating point, and string.
    • variables which can be assigned values.
    • expressions which include
      • numeric expressions
      • relational expressions
      • Boolean expressions
    • flow of control, statements to include the following
      • sequential statements - one statement after the next
      • conditional statement - if-then-else
      • loop statements - while loop and for loop
    • methods or functions
      • How to define a method
      • How to call a method
      • How parameters or arguments are used in methods
        • formal parameters
        • actual parameters

    We will re-examine these concepts, but if you do not already have a basic understanding, the pace will be difficult.