CSE 2031 Software Tools, Fall 2007-08
Lecture Notes
Any overheads/slides that I use in lecture will appear here, typically
before class. They are in PDF 3-up format (6 slides per page).
The PDF files often contain more than one lecture.
The files are accessible only from machines within York University!
If you need access to the lecture notes from machines outside the department
log in via ssh and
use 'wget <URL>' or
'lynx' (a text browser) or to save the file to your
directory. Then retrieve the file via ftp red.cse.yorku.ca.
For details on these commands please refer to the respective
man-pages. Do not re-publish the slides on the WWW!
In the following list, K+R # signifies a chapter in the first text book,
PPU I.# a chapter in the first part of the second text book, and
PPU II.# a chapter in the second part.
- Sep 06 - Introduction (K+R Introduction, K+R 1, PPU I.1)
PDF for Sep 6, 11
- Sep 11 - Overview of C (K+R 1)
- Sep 13 - no class, Rosh Hashannah
- Sep 18 - Types, Operators (K+R 2.1-2.9)
PDF for Sep 18, 20
- Sep 20 - Expressions (K+R 2.10-2.12), Control Flow (K+R 3)
- Sep 25 - Basic Testing (PPU II.6),
PDF for Sep 25, 27
- Sep 27 - Preprocessor (K+R 4.11), Functions, Scope (K+R 4.1-4.10)
- Oct 02 - Arrays, Pointers (K+R 5.1-5.6)
PDF for Oct 2-11
- Oct 04 - Pointers
- Oct 09 - Pointers
- Oct 11 - Memory Allocation (K+R 5.7-5.11)
- Oct 16 - Structures, Typedef (K+R 6)
PDF for Oct 16, 18
- Oct 18 - Debugging (PPU II.5)
- Oct 23 - class cancelled
- Oct 25 - C Stdio (K+R 7), C Stdlib (K+R App. B)
PDF for Oct 25
- Oct 30 - Midterm, in class
- Nov 01 - Unix Introduction (PPU I.1, I,2)
PDF for Nov 1, 6
- Nov 06 - Unix Utilities (PPU I.4)
- Nov 08 - Unix Shell Fundamentals (PPU I.3)
PDF for Nov 8, 13
- Nov 13 - Unix Shell Fundamentals (PPU I.3)
- Nov 15 - Bourne Shell Programming (PPU I.3, I.5)
PDF for Nov 15
- Nov 20 - Testing with Shell Scripts (PPU II.6)
PDF for Nov 20
Coding Principles, Interfaces (PPU II.4)
PDF for Nov 20, 22
- Nov 22 - Coding Principles, Interfaces, Code Managment
- Nov 27 - Performance, Optimization (PPU II.7)
PDF for Nov 27, 29
- Nov 29 - Performance, Optimization
Note that, as usual, the exam covers all the material in the course.
The assignments and the skills required for them (testing, debugging),
the contents of the mentioned chapters of the textbooks, Ansi-C,
the Ansi-C library, Bourne Shell, UNIX and the UNIX API,
as well as everything covered in class (slides, blackboard,
in-class discussions, etc) are all considered examinable content.
Note that programming, testing, and debugging can only be learned by
doing - i.e. not in class,
hence the assignments are critical for passing the course.
Due to this, the slides cover only less than half of the whole
material covered in the course.
Additional Material
- For additional material on testing, please refer to the following
slides (courtesy of G. Gotshalks).
- A good book on memory management is: Frantisek Franek, Memory as a
Programming Concept in C and C++, Cambridge Press, ISBN 0-521-52043-6.
- A good book to learn UNIX is: Sarwar, Koretsky, Sarwar, UNIX the textbook, Addison Wesley, second edition, ISBN 0-321-22731-X