Outline for May 7, 2007

  1. Greetings and felicitations!
  2. Brief history of programming languages
    1. First, done in binary machine language (0's and 1's)
    2. Introduction of assembler: human-readable versions of instructions, translated into binary
    3. Introduction of high-level programming languages: FORTRAN, FORTRAN IV, COBOL
    4. Other programming languages: BLISS, C, Pascal
    5. Object-oriented programming languages: Simula 67, C++, Objective C, Java
  3. Structure of a program
    1. Variables and Constants
    2. Statements
    3. Branches
    4. Conditional statements
    5. Loops
    6. Routines (functions, subroutines)
  4. How Programming Languages Work
    1. Macros: textual replacement
    2. Interpreters: lexical analyzer
    3. Compilers: lexical analyzer, parser, code generator, optimizer
  5. Types of programs
    1. Applications vs. data
    2. Database managers
    3. Spreadsheet software
    4. Word processors
    5. Graphics software
  6. How Windows XP works
    1. Process isolation: each process thinks it's the only one on the computer
    2. Virtual memory: if there's not enough RAM, use the disk to store parts of the program not recently used
    3. Each program gets its own virtual machine, which accesses physical system to perform some operations:
      1. USER.EXE, USER32.DLL control and track windows.
      2. GDI.EXE, GDI32.DLL construct graphic elements such as dialog boxes etc.
      3. KRNL386.EXE, KERNEL32.DLL handle low-level operations, manage memory, I/O, and interrupts.
    4. Kernel mode has file management, network, device drivers, process manager, security, virtual machine manager.
  7. Windows XP shares code among programs
    1. Makes programs smaller, simpler, and easier to program
    2. Dynamic link libraries (DLL) are code loaded as needed by the program, and removed when done
    3. Application programmer interface (API) is framework used to call DLL
    4. API (application programming interface), and DLL.
  8. Windows XP shares data among programs using the Clipboard
    1. Data saved to clipboard in three formats: native (format used by application creating the data), Rich Text Format (RTF), and Original Equipment Manufacturer (OEM) with no formatting.
    2. Graphics saved to clipboard in three formats: native, bitmap, metafile that can be used to recreate graphic in resolution independent version
    3. When you paste, application looks at data in clipboard and chooses which format to use


Here is a PDF version of this document.