CS 180: Programming I - Department of Computer Science - Purdue University Skip to main content

CS 180: Programming I

Detailed Syllabus

  1. Primitive data types and strings:
    • Representation of numeric data (integers, floating point, characters, strings)
    • Range, precision, and rounding errors
  2. Standard operations on primitives and strings:
    • Variables, types, expressions, and assignment
  3. 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
  4. 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
  5. Finding and fixing bugs:
    • Test cases
    • Isolating the source of an error
    • Fixing the error
    • Debugging tools (usage of at least one)
  6. Object-Oriented Programming:
    • Classes
    • Objects
    • Methods
    • Constructors
    • Accessors
    • Mutators
    • Return values
    • Overloaded methods
    • Overridden methods
    • Interfaces
    • Inheritance
    • Polymorphism
  7. 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
  8. Concurrency:
    • Threads
    • Synchronization
  9. Input/Output (I/O):
    • Text file I/O
    • Binary file I/O
    • Class object I/O with object streams
    • Network communication
  10. Graphical User Interfaces (GUIs):
    • Standard GUI components (buttons, text fields, text areas)
    • Action Events and Action Listeners
    • Windows
    • Panels
    • Layout managers
    • Container classes
  11. Dynamic Data Structures:
    • Linked Lists
    • Stacks
    • Queues
  12. Recursion:
    • Recursive methods
    • Recursive data structures
Last Updated: Apr 25, 2017 4:33 PM

Department of Computer Science, 305 N. University Street, West Lafayette, IN 47907

Phone: (765) 494-6010 • Fax: (765) 494-0739

Copyright © 2024 Purdue University | An equal access/equal opportunity university | Copyright Complaints

Trouble with this page? Disability-related accessibility issue? Please contact the College of Science.