|
COMPUTER COURSES
Serious computer programming courses for those who want to learn how to program in languages such as C++, Visual Basic and Java. Course structure: 30 two-hour lessons, once a week. A full course description is outlined below:
Lesson 1: The general context
1. Getting to know the Programming Environment.
2. Quick overview.
3. Basic structure of programs.
4. Exercises and questions.
Lesson 2: Basic structures
1. Constants.
2. Variables.
3. Comments.
4. Exercises and questions.
Lesson 3: Basic Structures II
1. Operands.
2. Operators.
3. Type conversions.
Loops
1. The FOR loop.
2. The WHILE loop.
3. The DO WHILE loop.
4. Exercises and questions.
Lesson 4: Making decisions
1. Logical operands.
2. Operands priority.
3. The IF command.
4. The IF-THEN-ELSE command.
5. The SWITCH command.
6. The CASE command.
7. Control commands.
8. Exercises and questions.
Lesson 5: Data Structures
1. Simple Structures.
2. Definition of data structures.
3. Accessing members of data structures.
4. Structures in structures.
5. Enumerated data structures.
6. Exercises and questions.
Lesson 6: Functions
1. What a function is.
2. Simple functions.
3. Returning value functions.
4. Passing values to functions.
5. INT and VOID functions.
6. Exercises and questions.
Lesson 7: Matrixes and alpharithmetics
1. Defining a matrix.
2. Accessing matrix data.
3. Multi-dimensional matrixes.
4. Data structures matrixes.
5. Alpharithmetics.
6. Alpharithmetics matrixes.
7. Exercises and questions.
Lesson 8: General review - Exercises
Lesson 9: Test.
Lesson 10: Software Complexity
1. The Inherent Complexity of Software.
2. The Structure of Complex Systems.
3. Bringing Order to Chaos.
4. On Designing Complex Systems.
Lesson 11: The Object Model
1. Categories of Analysis and Design Methods.
2. The Evolution of the Object Model.
3. Applying the Object Model.
4. Foundation of the Object Model.
Lesson 12: Classes and objects
1. The Nature of an Object.
2. Relationships among Objects.
3. The Nature of a Class.
4. Relationships among Classes.
5. The Interplay of Classes and Objects.
Lesson 13: Classes and objects II
1. The Importance of Proper Classification.
2. Identifying Classes and Objects.
3. Key abstraction and mechanisms.
4. A problem of classification.
Lesson 14: Classes and objects III
1. Similarities and differences.
2. Defining classes and objects.
3. Using classes and objects.
4. Exercises and questions.
Lesson 15: Classes and objects IV
1. Objects as data types.
2. Objects as function arguments.
3. Returning objects from functions.
4. Data types and classes.
5. Exercises and questions.
Lesson 16: Operators' transgression
1. Unary operators' transgression.
2. Binary operators' transgression
3. Data transformations.
4. Pitfalls in operators' transgression and transformation.
5. Exercises and questions.
Lesson 17: Inheritance
1. What inheritance is.
2. Basic and derivation class.
3. Class hierarchy.
4. Exercises and questions.
Lesson 18: Inheritance II
1. Public and private inheritance.
2. Levels of inheritance.
3. Multiple inheritances.
4. Conciseness - classes in classes.
5. Exercises and questions.
Lesson 19: Graphical Objects
1. Graphic functions in various modes (text and graphics mode).
2. Colors.
3. Line and rectangle functions.
4. Shape class, polygons and inheritance.
5. Sound and motion.
6. Exercises and questions.
Lesson 20: Pointers
1. What a pointer is.
2. Returning data from functions using pointers.
3. Pointers and matrixes.
4. Exercises and questions.
Lesson 21: Pointers II
1. Pointers and functions.
2. Pointers and alpharithmetics.
3. Memory management (new and delete operands).
4. Pointers to objects.
5. Pointers to pointers.
6. Exercises and questions.
Lesson 22: Review - Exercises
Lesson 23: The Notation
1. Elements of the Notation.
2. Class Diagrams.
3. State Transition Diagrams.
4. Object Diagrams.
5. Exercises and questions.
Lesson 24: The Notation II
1. Interaction Diagrams.
2. Module Diagrams.
3. Process Diagrams.
4. Exercises and questions.
Lesson 25: The Process
1. First Principles.
2. The Micro Development Process.
3. The Macro Development Process.
Lesson 26: Example 1 (Data Acquisition: Weather Monitoring System)
1. Weather Monitoring Station Requirements.
2. Analysis.
3. Design.
4. Evolution.
5. Maintenance.
Lesson 27: Example 2 (Frameworks: Foundation Class Library)
1. Foundation Class Library Requirements.
2. Analysis.
3. Design.
4. Evolution.
5. Maintenance.
Lesson 28: Example 3 (Client/Server Computing: Inventory Tracking)
1. Inventory Tracking System Requirements.
2. Analysis.
3. Design.
4. Evolution.
5. Maintenance.
Lesson 29: Example 4 (Artificial Intelligence: Cryptanalysis)
1. Cryptanalysis Requirements.
2. Analysis.
3. Design.
4. Evolution.
5. Maintenance.
Lesson 30: Final Test