- Future Students
- Academic Progams
- Undergraduate Program
- Current Semester CS Courses
- New Course Offerings
- Upcoming Semesters
- Previous Semesters
- Canonical Syllabi
- Course Access & Request Policy
- Academic Integrity Policy
- Grad Student Registration
- Variable Title Courses
- Study Abroad
- Professional Practice
- Co-Op Professional Practice
- Non-Co-Op Professional Practice
- ISS Application Process for International Students (CPT, OPT, RCL, Program Extension, COEL)
- Pass/Not Pass Spring 2020
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: Apr 25, 2017 4:33 PM