Class Notes

Notes:

The order of topics covered or dates specified are subject to change. Any changes will be discussed in class.

Course Outline:

The course outline requires the coverage of the following topics:
  1. Programming Methodology
    1. Specification
    2. Design
    3. Coding
    4. Testing
    5. Documentation
  2. User-defined Data Types
    1. Scalar Types ✓
      1. Enumerated Types. ✓
      2. Sub Ranges ?
    2. Structured Types
      1. Character Strings ✓
      2. One Dimensional Arrays ✓
      3. Multidimensional Arrays
      4. Records. ✓
  3. Data Structures
    1. Lists
      1. Static Array Implementation
      2. Dynamic Array Implementations
      3. Linked List Implementations
    2. Stacks
    3. Queues
  4. Searching
    1. Sequential Search ✓
    2. Binary Search ✓
    3. Analysis of Searching Algorithm using Big-O Notation ✓
  5. Sorting
    1. N-Squared Sort, Selection Sort ✓
    2. External Sorting, Merging of Files.
  6. Recursion
    1. Examples of Recursive Algorithms.
    2. Recursion as a Programming Technique
    3. Cost of Recursion (Memory and Time Requirements)
    4. Efficiency Tradeoffs between Recursion and Iteration
  7. Abstract Data Types and Object Oriented Programming
    1. Attributes and Methods ✓
    2. Encapsulation and Abstraction ✓
    3. Introduction to UML and Object Oriented Programming ✓