1. General
- Structure of the computer: the Von Neumann architecture
- Computers and software
- Algorithms and programs
- Debugging and maintenance
- Programming practices
2. The C language
- Data types, operators, expressions
- Control flow within a function
- How functions treat their parameters; superficial discussion of
pointers; static vs. automatic variables
-
Program structure, scope of variables
-
Preprocessor
-
Input/output
-
Arrays and pointers
-
Multidimensional arrays, arrays of pointers
-
Dynamic memory allocation
-
Recursions
-
Structures
3. Algorithms and Data Structures
-
Asymptotic cost of algorithms
-
Elementary data structures: lists, heaps, trees
-
Elementary algorithms: searching, sorting, hashing
-
Considerations specific to numerical algorithms