CS 180: Programming I
Detailed Syllabus
- Primitive data types and strings:
- Representation of numeric data (integers, floating point, characters, strings)
 - Range, precision, and rounding errors
 
 - Standard operations on primitives and strings:
- Variables, types, expressions, and assignment
 
 - If, switch, while, for, and do-while statements:
- Typical usage for each
 - if ... else option
 - Creating the correct conditional expression
 - Complex conditions using Boolean operators (AND, OR, NOT)
 - Constructing the body of such a statement
 - Loop initial conditions, loop invariants, iterative progress, conclusion
 - Using iteration in an indeterminate situation (while, do-while loops)
 - Using iteration in a counting situation (for loop)
 - Embedding some of these inside others
 
 - Single- and multi-dimensional arrays:
- Array is a simple collection of same-type data
 - Declaring and using a single dimension array
 - Connection between iterative problem solving and a collection of data
 - A two-dimensional (or more) visualization of same-type data -- multi-dimension arrays
 
 - Finding and fixing bugs:
- Test cases
 - Isolating the source of an error
 - Fixing the error
 - Debugging tools (usage of at least one)
 
 - Object-Oriented Programming:
- Classes
 - Objects
 - Methods
 - Constructors
 - Accessors
 - Mutators
 - Return values
 - Overloaded methods
 - Overridden methods
 - Interfaces
 - Inheritance
 - Polymorphism
 
 - Exception handling:
- Handling exceptional situations via algorithms isolated for that purpose
 - Using standard exception classes
 - Defining your own exception classes
 - Deferring what to do about an exception to the method that calls this one
 
 - Concurrency:
- Threads
 - Synchronization
 
 - Input/Output (I/O):
- Text file I/O
 - Binary file I/O
 - Class object I/O with object streams
 - Network communication
 
 - Graphical User Interfaces (GUIs):
- Standard GUI components (buttons, text fields, text areas)
 - Action Events and Action Listeners
 - Windows
 - Panels
 - Layout managers
 - Container classes
 
 - Dynamic Data Structures:
- Linked Lists
 - Stacks
 - Queues
 
 - Recursion:
- Recursive methods
 - Recursive data structures
 
 
Last Updated: Jun 20, 2025 10:37 AM