EEN118, Programming I, Autumn 2006
Class and Lab History
Classes
- Class 1 (24-8-2006) General introductions; what the class is about, what programming really is.
- Class 1½ (29-8-2006) Cancelled for imaginary hurricane.
- Class 2 (31-8-2006) Close examination of the complete program from last week.
Using the microsoft compiler.
- Class 3 (5-9-2006) Programming with graphics; graphing a mathematical function (part 1).
- Class 4 (7-9-2006) Modular design (the plot function for scaling, etc). Expressions, operators, built-in functions.
- Class 5 (12-9-2006) Remainder of expressions and operators, structured modular programming
from this to this.
- Class 6 (14-9-2006) Controlled repetition with "while":
Conversion table demo,
Sum of series demo.
- Class 7 (19-9-2006) Simulation: the Boy and the Bull.
Recursive design: printing numbers in words.
- Class 8 (21-9-2006) Searching a database, disc access times, binary chop search (introduction).
- Class 9 (26-9-2006) Finishing binary chop search, applying it to numerical functions.
- Class 10 (28-9-2006) cin and cout, update operations, some real database work:
Some people,
Many people,
Many many people,
sample search program.
Self-tests for expressions and order of evaluation.
- Class 11 (3-10-2006) Design of a database sorting program; timing the operations.
- Class 12 (5-10-2006) Test topics. Algorithm speed analysis/estimation. The idea of a merge-sort.
- Class 13 (10-10-2006) Locality of variables, string methods, programming under unix, making a web page.
- Class 14 (12-10-2006) Mid-Term Test.
- Class 15 (17-10-2006) Introducing arrays and hashing.
- Class 16 (19-10-2006) File processing, ifstreams and ofstreams.
- Class 17 (24-10-2006) Hand-made input functions: reading words; FILE *, fgetc().
- Class 18 (26-10-2006) More with files. Data representations, the reason for types and declarations.
- Class 19 (31-10-2006) Processing digital sounds, sampling, etc. Using ungetc.
- Class 20 (2-11-2006) The end of the word-processing study: sample 1, sample 2.
- Class 21 (7-11-2006) Introduction to Objects: Fractions, Euclid's algorithm.
- Class 22 (9-11-2006) Roger's day with arrays and objects.
- Class 23 (14-11-2006) string/int conversions, Using objects to simplify databases (motivating sample).
- Class 24 (16-11-2006) Co-ordinate transformations, Matrix multiplications, array and object practice.
- Class 25 (21-11-2006) Mid-Term Test on File Processing and Arrays.
- Class 26 (28-11-2006) Setting up files, objects, and algorithms for a traditional "adventure" game.
- Class 27 (30-11-2006) Introduction to pointers, problems of data duplication.
- Special Date(1-12-2006) (Friday) Portfolio of lab work due before midnight.
Labs
- Lab 1 (6-9-2006) Using visual C++ to run programs; drawing stick figures.
- Lab 2 (13-9-2006) Old stripey, using structured programming.
- Lab 3 (20-9-2006) Bombing someone to bits.
- Lab 4 (27-9-2006) Animated analogue clock.
- Lab 5 (4-10-2006) Nicely formatted calendar.
- Lab 6 (11-10-2006) An easy one: using unix and making web pages.
- Lab 7 (18-10-2006) Simulation of populations, grass, rabbits, and foxes.
- Lab 8 (25-10-2006) An interactive map of the U.S.A.
- Lab 9 (1-11-2006) Sound generation and audio processing.
- Lab 10 (8-11-2006) Graphing meteorological observations, data files.
- Lab 11 (15-11-2006) Video Game part 1. sample maze file.
- Lab 11½ (22-11-2006) No labs today.
- Lab 12 (29-11-2006) Video Game part 2.
Last year's class history
From the following, you can see what the class is all about, and get a good idea of what to expect.
Although you should understand that things do change from year to year, if they didn't, we would all get very bored.
Class History 2005:
- Class 1 (25-8-2005) General introductions; what the class is about, what programming really is.
- Class 2 (30-8-2005) Case study of software development process.
- Class 3 (1-9-2005) Finishing the structured development overview; Entering, compiling, and running a program.
- Class 4 (6-9-2005) The structure of a program, constants, literals, expressions, and functions.
- Class 5 (8-9-2005) Arithmetic and Functions.
- Class 6 (13-9-2005) Naming constants for Correctness, Self-Commenting code, Maintainability, Efficiency, Sequencing.
- Class 7 (15-9-2005) Predicting overflow, two-to-the-power-ofs; Conditional Execution.
- Class 8 (20-9-2005) Hurricane day, no class.
- Class 9 (22-9-2005) Review examples, virtual reality: happy street scene.
- Class 10 (27-9-2005) Professional responsibility in programming, the Mariner 1 probe; printf and switchable debugging; Scope of declarations.
- Class 11 (29-9-2005) Repetition with functions: how do you do something 1000 times? Recursion; the bigger/smaller guessing game.
- Class 12 (4-10-2005) (punched card demo); Serious use of recursion: numbers in English.
- Class 13 (6-10-2005) Introducing loops and variables: while, break, declaration, assignment; many examples.
- Class 14 (11-10-2005) Loop examples: formatted table.
- Class 15 (13-10-2005) Structured development.
- Class 16 (18-10-2005) Analysing programs to work out what they do; another composition study.
- Class 17 (20-10-2005) Mid-Term Exam.
- Class 18 (25-10-2005) Hurricane day, no class.
- Class 19 (27-10-2005) Hurricane day, no class.
- Class 20 (1-11-2005) Fractals - design case study. (screen captures 1
2
3), and executable.
- Class 21 (3-11-2005) <iostream>, <fstream>, etc. Using cin, cout, and files.
- Class 22 (8-11-2005) Introducing Objects (structs), points and triangles example.
- Class 23 (10-11-2005) (cube sample exe) More on objects: weights and measures, dates and times.
- Class 24 (15-11-2005) (samples) Introduction to arrays and digital audio.
- Class 25 (17-11-2005) Reviewing files, objects, and arrays: normalizing sound levels, counting occurences, simple database.
- Class 26 (22-11-2005) Mid-Term Exam.
- Class 27 (29-11-2005) File processing and Arrays, Digital Elevation Models.
- Class 28 (1-12-2005) The hippopotamus family; database operations; sorting an array.
- Class 29 (6-12-2005) For-loops, an occasional convenience; Orbital mechanics by simulation
(.exe).
- Class 30 (8-12-2005) Image processing case study, the day I swallowed a dog.
- Class 31 (13-12-2005) Final Exam.
Lab History:
- Lab 1 (1/2-9-2005) Using visual C++ to run programs; drawing stick figures.
- Lab 2 (8/9-9-2005) Structured Design: drawing stars, Texan flag, U.S. flag.
- Lab 3 (15/16-9-2005) Clean design: interactive cannon aiming game.
- Lab 4 (substitute) (22/23-9-2005) Make the Street Scene happen.
- Lab 4 (real) (29/30-9-2005) More of structured design: An analogue clock.
- Lab 5 (6/7-10-2005) Graph plotting.
- (13/14-10-2005) No lab due to microscopic holiday on Friday.
- Lab 6 (20/21-10-2005) Using Unix (sample)
and Creating your own web site. (bring digital image if you've got one).
- Lab 7 (3/4-11-2005) Ecological simulations: grass, bunnies, foxes, dinosaurs (samples).
- Lab 8 (10/11-11-2005) An interactive map of the U.S.A. (download data file)
- Lab 9 (17/18-11-2005) Audio Processing.
- Lab 10 (1/2-12-2005) Video game, part 1.
- Lab 10 (8/9-12-2005) Video game, part 2.