Class Notes

Notes will be placed here.

A note on my notes

These are for my benefit. They tell me what to talk about in class. They are by no means a substitute for:

  1. Attending class.
  2. Reading the book
  3. Taking your own notes.
You may find them helpful however for organizing your thoughts.

The syllabus for this course contains the following topics

  1. Introduction to Computer Science
    1. Definition
    2. Introduction to Computing Resources
      1. Department Resources
      2. University Resources
      3. Computing from Off Campus
  2. Problem Solving and Algorithms
    1. Problem-solving Techniques ✓
      1. Analogy ✓
      2. Divide and Conquer ✓
      3. Original Thinking ✓
      4. Abstraction ✓
    2. Control Models
      1. Sequence ✓
      2. Selection ✓
      3. Loop ✓
      4. Subprograms ✓
  3. Computer Organization
    1. Binary System ✓
      1. Data Representation ✓
      2. Arithmetic ✓
    2. Computing Models ✓
      1. Sequential ✓
      2. Parallel
    3. Hardware ✓
      1. Input/Output
      2. Processing ✓
      3. Memory ✓
      4. Storage ✓
      5. Communications Hardware
    4. Software
      1. Operating Systems
      2. Other System Software
      3. Application Software
    5. Platforms
      1. Hardware
      2. System Software
  4. Computer Architecture
    1. Instruction Set ✓
    2. Hardware ✓
      1. Boolean Algebra ✓
      2. Digital Logic ✓
      3. Processor ✓
    3. Software
      1. High-level Languages ✓
      2. Assembly Language ✓
      3. Machine Language ✓
  5. Software
    1. Programming Languages
    2. Language Translation
      1. Compilation ✓
      2. Interpretation ✓
    3. Object-Oriented Computing
    4. Software Engineering
      1. Development Process
      2. Testing
      3. Maintenance
  6. Other Topics
    1. History of Computing ✓
    2. Overview of Computer Science Sub-areas ✓
    3. Social Aspects of Computing
      1. Ethics
      2. Careers
    4. Frequently Used Tools
      • Editors
      • Productivity Tools