CSC265 - Course Summary
The problem
- Inefficient programming habits
- Lack of familiarity with the computing environment
The 115 environment
- Small programs: a few hundred lines at most
- One or a few files
- Solo programming:
single author, no users, no maintenance, reliability not critical
The typical industrial environment
- Large programs: thousands of lines each
- Many files: hundreds or thousands
- Team programming:
- Many authors, many users, maintained for years
- Multiple releases on multiple platforms
- Reliability critical; sometimes lives depend on it
Course theme
"Work smarter not harder"
or
"How to spend your evenings in the pub not the lab"
Four ways to work smarter not harder
- Tools: make, db, csh, prof, Perl, etc.
- Module decomposition:
breaking a complex problem into manageable pieces
- Systematic verification: with inspection and testing
- Reuse through libraries:
character, string, and date handling
Final examination
- OPEN BOOK
- You may bring any written material you like.
- You should certainly bring a copy of all the online notes.
The exam is based on the assumption that you will
have these notes in hand.
- Difficulty
Medium hard.
You will need to understand the material well to finish on time.
- Six questions:
- Perl patterns:
Given a string and a pattern, indicate
the portion of the string matched by the pattern.
- Perl:
Given a Perl program, provide the exact output.
- Inspection
Given some function specifications and
incorrect implementations in C, find the faults.
- Unix file system commands:
Use the commands to manipulate files in various ways.
- C libraries:
Given the documentation for some library functions
and a specification for a new function, implement
the function making use of the library functions.
- make:
Describe the effects of invoking a given make file.
Make some small changes to the make file.