Core Courses ECO topics adjusted for the adoption of Java
Draft, 10/12/99
CSC101-2 topics
(Note: based on Koffman and Wolz's table of contents)
- Introduction to Computers and Software Development
- Use if computers to solve problems.
- Overview of computers, computer components, and networks.
- Levels of abstraction in software deveopment.
- Overview and history of programming language.
- Overview of high-Level programming language and the process
of compilation/interpretation, linking, and execution of a program.
- The software development cycle.
- Creating, testing, and debugging using an Integrated Development
Environment.
- Software development using Java - basics
- The software development method and its application
- Overview of a Java Program: application and applet
- Reserved words and identifiers
- Data types
- Class definitions
- Method definitions
- Java program (application and applet) compilation, class loader,
and execution (virtual machine, use of browser)
- The Java class library
- Coding style
- Methods, statements, and Expressions
- Method bodies
- Method invocations
- Assignment statements
- Operations and expressions
- Processing integers
- Processing strings
- Selection constructs
- Control structures
- Logical expressions
- The if statement
- if statement with compound clauses
- Decision steps in algorithms
- Testin and hand-tracing algorithm
- Nested if statements and multiple-alternative decisions
- The Switch statement and simple menu (text and GUI)
- Repetition structures
- Counting loops and the while statement
- Using a loop to accumulate a sum and to compute an average
- State-controlled loops
- do-while loops
- Count loops and the for statement
- Testing a program with loops.
- Arrays and vectors
- heterogenous data structure
- declarations and indexing
- array processing
- aggregation operations
- array/vector lists: representation, searching and sorting
- array of objects
- Basic algorithm Analysis
- Complexities of algorithms
- Big-O Notation
- Basic graphics
- The Swing class library
- Drawing shapes, text boxes, decision boxes, etc.
- Building a simple graphical user interface
- Object-Oriented Design and Programming
- Classes, class members and instance members
- Modular programming and code reuse
- Encapsulation
- Inheritance
- Polymorphism
- Interfaces
- Packages
- Abstract classes
- Multiple inheritance
- Use of OOD in GUI
- Linked Data Structures
- Linked lists
- Stacks
- Queues
- Event-driven programming
- Event-driven programming vs. von-Neuman model programming
- Event handling with graphic user interface
- Recursion
- Design patterns
CSC103 topics
To be supplied.