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 Array
      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