Department of Computer Science @ Purdue University
Search | General Information | Academics | Research | People | External Relations

CS 180: Programming I

List of Topics (By Week):

1. Introduction to computers and software: Computer basics, software design, coding, testing, primitive types and expressions, string class, scanner class, printf-style format strings, typesafe enums

2. Flow of Control: Branching (single and multiple), loops (fixed and variable repetition), booleans

3. Classes and methods: Object-based programming, class and method definitions, information hiding, encapsulation, objects, references

4. More about classes and methods: Accessor and mutator methods, constructors, overloading, variable number of arguments, static methods, static variables

5. Arrays: Array basics, arrays in classes and methods, programming with arrays and classes, sorting arrays, searching arrays, multidimensional arrays

6. Inheritance: Object-oriented programming, inheritance basics, programming with inheritance, overriding, dynamic binding, polymorphism, interfaces

7. Exception handling: Basic exception handling, using exception classes, defining exception classes

8. Recursion: Basics of recursion, programming with recursion

9. Abstract data types: Stacks, queues, linked lists, trees

10. Collections framework: Vector, array, list, set, map, queue, generic types, generalized iterator for loop, autoboxing and unboxing

11. Streams and file I/O: Overview of streams and file I/O, text file I/O, binary file I/O, object I/O with object streams

12. Reuseable software: Libraries, packages, more on inheritance, dynamic binding, polymorphism

13. Event-driven programming and special categories of classes: Graphical user interfaces (GUIs), action events, action listeners, container classes, applet classes, inner classes

14. Advanced topics: Threads, mutual exclusion, deadlock, livelock, remote method invocation (RMI)

15. Advanced topics: Design patterns, software engineering, testing, features of large projects

2005.08