Class 1 | Wed 20‑1‑2010 | Quick introductions, the nature of computers, (colossus picture). starting a visual studio project. The official syllabus. | ||||
Class 2 | Mon 25‑1‑2010 | Programming is more than C++, algorithms and analysis, the example of merge-sort. A bad example from the past, Fortran guidance program for Mariner probe. Defining functions: Three ways of drawing a square. | ||||
Class 3 | Wed 27‑1‑2010 | Named constants, the numeric types int, float, and double, functions that take inputs. The prorgam as developed in class. | ||||
Class 4 | Mon 1‑2‑2010 | Complicated things from simple programs: the fancy pattern of squares, Bart's punishment, a cleverer version, a more interesting version, and perfection. | ||||
Class 5 | Wed 3‑2‑2010 | Perfect control of repetition; conditionals, if ... else if ... else sequences; more divide-and-conquer techniques; when ints get too big; tabulating values of a formula; functions that return results. Printing a perfectly aligned multiplication table, and Plotting two graphs on the same axes. | ||||
Class 6 | Mon 8‑2‑2010 | The beginning of a potentially very big function, but with a step-by-step design, it came out quite well in the end. | ||||
Class 7 | Wed 10‑2‑2010 | How bees are born,
what the caprimulgus does at night.
Introducing "while" for repetition. Analysing the "say" function to see how it works. what would these do? | ||||
Class 8 | Mon 15‑2‑2010 | More functions to practise analysis on. Finding square roots with an efficient search. | ||||
Class 9 | Wed 17‑2‑2010 | Accessing the Unix system, and programming under it. | ||||
Class 10 | Mon 22‑2‑2010 | The guessing game; turning it around so that the
computer does the guessing; Noticing how quickly the guesses converge; it is just like our square root function. | ||||
Class 11 | Wed 24‑2‑2010 | Review of control of repetition and building large programs: one small step at a time. Can't remember the name of the sine function: we made our own. | ||||
Class 12 | Mon 1‑3‑2010 | Why we should avoid complacency. A mathematical investigation: comparing various approximations to the sine function. | ||||
Class 13 | Wed 3‑3‑2010 | bools and while(true) and if(false) and many little things. The deceptive cout. Divide and conquer in two dimensions: a 3D plot of a complicated function. | ||||
Class 14 | Mon 8‑3‑2010 | A few little reminders about functions. | ||||
Class 15 | Wed 10‑3‑2010 | Mid-Term Examination. | ||||
Spring Break | ||||||
Class 16 | Mon 22‑3‑2010 | Working with Variables. | ||||
Class 17 | Wed 24‑3‑2010 | Using cin and reference parameters. ifstreams for reading data from disc files. The boy and bull simulation part 1. | ||||
Class 18 | Mon 29‑3‑2010 | The boy and bull simulation (part 2) is now working nicely, but the program is getting ugly and unmanagable. Whatever shall we do? | ||||
Class 19 | Wed 31‑3‑2010 | Introducing Object-Oriented programming and Unicode. Computing with Money. | ||||
Class 20 | Mon 5‑4‑2010 | The Significant Improvements to program structure that the use of objects allow. | ||||
Class 21 | Wed 7‑4‑2010 | A spelling checker: introducing variable arrays. Apart from possible concerns about quality of the word list, what do you think about the structure of this program? (here is a slightly better word list). | ||||
Class 22 | Mon 12‑4‑2010 | arrays and ifstreams as parameters, some string operations, repairing the structure and improving the design of the spelling checker. | ||||
Class 23 | Wed 14‑4‑2010 | Operations on strings and characters. taking complete control of input with istream.get(). Some tangential history. | ||||
Class 24 | Mon 19‑4‑2010 | Practice with structs and arrays: the molecular weight calculator part 1, and its data file. | ||||
Class 25 | Wed 21‑4‑2010 | End-Term Examination. | ||||
Class 26 | Mon 26‑4‑2010 | More work with files, objects, and arrays. | ||||
Class 27 | Wed 28‑4‑2010 | Test review. (the championopotamus) | ||||
Final | Mon 10‑5‑2010 | at 5:00 p.m. in our usual classroom. |
Lab Setup Guide Library downloads and documentation | ||||||||
Lab 1 | 25-28 Jan | (pdf) | Using visual C++ to run programs; drawing stars and stick figures. | |||||
Lab 2 | 1-4 Feb | (pdf) | Divide and conquer: building big programs from little functions. | |||||
Lab 3 | 8-11 Feb | (pdf) | A video game: exploding the enemy with a cannon. | |||||
Lab 4 | 15-18 Feb | (pdf) | A real-time animated clock application. | |||||
Lab 5 | 22-25 Feb | (pdf) | Generating calendars and using Unix. | |||||
Lab 6 | 1-4 Mar | (pdf) | A randomly generated Happy Street Scene. | |||||
Lab 7 | 8-11 Mar | (pdf) | Debugging Practise (Here's the suspect program) | |||||
Lab 8 | 22-25 Mar | (pdf) | An interactive desk calculator. | |||||
Lab 9 | 29 Mar-1 Apr | (pdf) | Meteorological data processing and visualisation. the data files | |||||
Lab 10 | 5-8 Apr | (pdf) | Interactive map of the United States. Data files: state outlines, capitals. | |||||
Lab 11 | 12-15 Apr | (pdf) | Database programming under Unix. Data files: database1.txt, 2, 3, 5, 10, 20. The special timing function. | |||||
Lab 12 | 19-22 Apr | (pdf) | A robot seaching for treasure in a maze. sample maze | |||||
Lab 13 | 26-29 Apr | (pdf) | An automatic robot: he turned into a video game. |