![]()
![]() |
| 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 |