CSC270 Lecture Notes (*)


Course outline

Lecture 1: Administration; C -- program structure, procedure structure, contol flow, basic data types, arrays, and strings. Examples

Lecture 2: C -- function Prototypes, variable initialization, and basic memory and pointers

Lecture 3: C -- Structures, unions, and input/output. Example

Reading assignment:

K&R: Chapters 5, 6, 7 (except 7.3), and 8.4
King: Chapters 11, 12, 13, 16, 21, and 22

Lecture 4: Numerical methods: Number representations, floating point numbers, etc.

Reading assignment:

  1. Donald Knuth, The art of Computer Programming; Vol. 2: Semi-Numerical Algorithms, Section 4.2.1 - 4.2.2
  2. Appropriate section in the official CSC270 Readings

Lecture 5: Numerical methods: floating point arithmetic and root-finding methods.
Note: I'll post both algorithms (for adding and multiplying FPNs) seen in class very soon.

Lecture 5: Algorithms for adding and multiplying FPNs.
Note: you must learn the algorithms for the substraction and the division by yourself.

Lecture 6: Root-finding methods (Cont'd).

Lecture 7: Graphs: Basic definitions, representation, and traversing.

Lecture 8: Graphs -- 2 shortest path algorithms.
Note: We have covered the first one in class, and we'll cover the second one next time. So as a reading assignment, try to understand the All-Pairs algorithm. I'll post more sample graphs to trace those 2 algorithms. Also read the comments around Dijkstra's algorithm and Floyd-Warshall-Ingerman algorithm in Section 8.3 of the course readings material on graphs.

Lecture 9: Simulation and modelling: Deterministic versus stochastic simulation, static versus dynamic simulation, Components of a simulation model, Example.

Lecture 10: Simulation and modelling: Pseudo-random number generation. We'll go over the gas station example again. Here are some notes on random numbers.

Lecture 11: Dynamic Programming.

There is a brief review of the topics that matter for the exam here.


(*) (C) F. Pitt (2000) - H. Connamacher (2001) - I. Kiringa (2001)