CPSC 1301 - Computer Science I - Final Exam Study Guide

Study Material

Chapters 1-12, 14 of Introduction to Computing and Programming by Guzdial & Ericson

Material from lectures, Java programming assignments and labs

Test Format (Friday, May 2, 2008 from 8:00-10:00 a.m. in CCT408)
15-20 Short Answer Questions (100 points) - evaluate, compute, write Java statements, what is the output?
1 Design Problem with UML class diagram (20 pts)
1 Programming Problem (Turtle class) (20 pts)
1 Programming Problem with main and one class (60 pts)

Specifically Study

  • 1. Introduction to Computer Science and Media Computation
    • What is Computer Science About?
    • What Computers Understand
    • Media Computation
    • binary, decimal, hexadecimal
    • ASCII, Unicode
    • algorithms, programs, Moore's Law
    • CPU, ALU, RAM, ROM, register, cache
  • 2. Introduction to Java
    • Java Basics
      • Math Operators
      • Printing Results
        • print/println methods
      • Scanner class
      • Data Types
      • Casting
      • Relational Operators
      • Strings
        • String Concatenation
    • Variables
  • 3. Introduction to Programming
    • Files and file names
    • Class and Object Methods
    • Math Class and methods
    • String Class and methods
    • Working with Turtles
    • Creating Methods
    • Working with Media
  • 4. Modifying Pictures Using Loops
    • Manipulating Pictures
    • For-Each Loop
    • While Loop
    • For Loop
    • 1-D Arrays
    • Changing Color Values
  • 5. Modifying Pixels in a Matrix
    • Copying Pixels
    • Nested Loops
    • Copying and Transforming Pictures
    • 2-D Arrays
  • 6. Conditionally Modifying Pixels
    • Conditional Pixel Changes
    • Comparing Colors
    • Conditionals with Two Options (if-else)
    • Multiple Conditions (logical operators)
    • Nested Conditionals
  • 7. Drawing
    • Drawing Using the Graphics Class
    • Using Graphics2D for Advanced Drawing
  • 8. Modifying All Samples in a Sound
    • Manipulating Sounds
    • Changing Volume of Sounds
    • Normalizing Sounds
  • 9. Modifying Samples Using Ranges
    • Manipulating Different Sections of a Sound Differently
    • Creating a Sound Clip
    • Splicing Sounds
    • Reversing a Sound
    • Mirroring a Sound
  • 10. Making Sounds by Combining Pieces
    • Blending Sounds
    • Changing the Frequency of Sounds
  • 11. Creating Classes (Object-Oriented Design)
    • Software Development Activities
      • Anatomy of a Class ((UML Class Diagrams)
    • Identifying Classes and Objects
    • Creating Objects (e.g. Aliases)
    • Static variables and methods
    • Class Relationships (dependencies, this reference)
    • Enumerated Types
    • Wrapper Classes (and autoboxing)
    • Encapsulation
    • Anatomy of a Method (including return statement, parameters, local data)
    • Constructors
    • Overloading Constructors
    • Creating and Initializing an Array
    • Creating Accessors (Gets) and Modifiers (Sets)
    • Reusing a Class via Inheritance
    • method design (decomposition, parameters)
    • method overloading
  • 12. Creating and Modifying Text
    • String Class (including methods)
    • Files
      • ArrayLists
      • interfaces (iterator)
      • testing
    • Random Class
    • Math Class
    • Networks: Reading Text from the Web
  • 14. Encoding, Manipulating, and Creating Movies
    • Generating Frame-Based Animations
  • Conditionals and Loops
    • Comparing Data (numbers, characters, objects, comparator)
    • switch statement
    • do-while statement
  • GUI
    • Applets
    • Graphics - Components, Containers, Panels, Images
    • GUI including Buttons and Text Fields
    • GUI including Events and Dialog Boxes