Introduction to graph algorithms and their analysis. General computer organization concepts with a focus on Motorola 68000 family assembly language. Computer structure, machine instruction execution, addressing techniques, digital representation of data. Assemblers, cross-assemblers and simulators. Input and output programming and devices.
System support macros and software.
Program segmentation and linkage. Programming language design issues and programming paradigms. Binding and scoping, parameter passing, lambda abstraction, data abstraction, type checking. Functional and logic programming. A functional description of computer hardware.