Class 1 | Thurs 27-8-2009 | General introductions, the nature of computing.
The official syllabus. | ||||
Class 2 | Tues 1-9-2009 | The very basics of making a program.
The wrong approach: part of the Mariner I guidance program from 1962. | ||||
Class 3 | Thurs 3-9-2009 | Divide and Conquer, Defining functions, Naming constants.
our decorative squares and taken to the next level | ||||
Class 4 | Tues 8-9-2009 | The different numeric types (int and double) and their representations and how
C++ deals with them.
(page)
Building up functions to control repetition, and an infinitely repeating function. The thing that draws a circle, The thing that nearly prints the three-times table, and its output. | ||||
Class 5 | Thurs 10-9-2009 | Very useful functions: perfectly controlled repetition, plotting a graph The detention punishment: a stupid but logical program, a sensible but still flawed version of it, making it help to debug itself, a perfect version of it, converting it into controlled repetition with a counter, A function that tabulates the formula y=x2-5x+1, A nice graph plotter for a complicated function. | ||||
Class 6 | Tues 15-9-2009 | The beginning of a very big function, The final version: a function that can speak any number. | ||||
Class 7 | Thurs 17-9-2009 | How functions avoid confusing themselves: private universes called stack frames, a function that prints numbers in decimal or binary, functions that produce results. | ||||
Class 8 | Tues 22-9-2009 | Mastering unlimited repetition, eels growing from horses' hairs, the experiments with Brownian motion - didn't go far enough, exploded, worked perfectly. User control: "do you want another go?" Good programming principles: A vastly tidied function plotter. | ||||
Class 9 | Thurs 24-9-2009 | The enormous benefits of making small simple functions and giving everything a name, Today's starting point, and what we had half way through. Functions can be parameters too, Divide and conquer by cutting the problem in half, Searching for square roots. | ||||
Class 10 | Tues 29-9-2009 | Using Unix. (remember there is a detailed description here) | ||||
Class 11 | Thurs 1‑10‑2009 | The development methodology: big results through steps too small and simple to fail. Today's creation, our own sine function. | ||||
Class 12 | Tues 6‑10‑2009 | Arrays and searching. The deceptive cout. 3D graph plotting, divide and conquer by quartering. | ||||
(Wed‑7‑10‑2009 | Academic alerts due) | |||||
Class 13 | Thurs 8‑10‑2009 | What would it do? practice and analysis. sample-1, sample-2, sample-3. | ||||
Class 14 | Tues 13‑10‑2009 | Thinking about clarity and generality: (the good 3D plotter); The strange shape: the calculations, creating a shape, a pile of shapes, a wobbly pile; The magic of fractals: creating a tree. experimentally making it nicer. | ||||
Class 15 | Thurs 15‑10‑2009 | Variables: variables used well, variables used badly. | ||||
Class 16 | Tues 20‑10‑2009 | Mid Term Test. | ||||
Class 17 | Thurs 22‑10‑2009 | Reference parameters,
cin, cout, ifstreams, ofstreams. The Boy and the Bull, part one. | ||||
Class 18 | Tues 27‑10‑2009 | Simplifying and structuring the simulation Boy and Bull, part two. | ||||
Class 19 | Thurs 29‑10‑2009 | Introducing structured objects: money for old fogeys, and unicode Using objects to make the simulation more comprehensible, the result. What went wrong. | ||||
Class 20 | Tues 3‑11‑2009 | A good reason for not being lazy, Objects within objects, and another case for clean simple design: simulated dinosaur. | ||||
Class 21 | Thurs 5‑11‑2009 | Complex numbers. Implementing them as structs. Discovering the Mandelbrot Set, the first picture, zoomed in on his neck, zoomed in on a shoulder wart, much further. | ||||
Class 22 | Tues 10‑11‑2009 | Output streams as parameters (example 1, 2), and <iomanip>; Using "for" loops (good, bad); "For" loops with arrays (good, bad); Arrays of objects (beginning example). | ||||
Class 23 | Thurs 12‑11‑2009 | The unfortunately-formatted data file, and the
five minute converter utility. Exploring the representation of strings, the beginning of a molecular weight calculator. | ||||
Class 24 | Tues 17‑11‑2009 | Developing the "mystream" helper struct to simplify
string processing, and what it did to our calculator. | ||||
Class 25 | Thurs 19‑11‑2009 | Multi-dimensional arrays. A very easy calculator utility, and extending the molecular weight calculator to allow parentheses. | ||||
Class 26 | Tues 24‑11‑2009 | Second Test Day: Arrays, Structs, Files. A7. (model answers from previous tests: A, B. | ||||
Class 27 | Tues 1‑12‑2009 | Ethics in Computer Engineering. The aurthority and origin of ethical systems,
robots, copyright, harvesting the rich, privacy, evil yellow dots. NSPE code of ethics, ethics test, answers. | ||||
Class 28 | Thurs 3‑12‑2009 | What we learned from the second test, being ready for the final. | ||||
Paper due | Sun 13‑12‑2009 | Ethics paper. Write 4 to 5 paragraphs on the ethical issue of your choice within the area
of computer engineering. Three requirements: Proper English, About Ethics, Concerning Computer Engineering. e-mail it directly to me: stephen "at-sign" rabbit.eng.miami.edu. | ||||
Review | Sat 12‑12‑2009 | Voluntary review session with Sam/Mike at 2:00 pm, in Engineering lab. | ||||
Review | Tues 15‑12‑2009 | Voluntary review session with Sam/Mike at 11:00 am, in Enginerring lab. | ||||
Final exam | Wed 16‑12‑2009 | At 2:00 pm in our normal classroom. |
Lab Setup Guide | ||||||||
Lab 1 | 1-2 Sept | (pdf) | Using visual C++ to run programs; drawing stars and stick figures. | |||||
Lab 2 | 8-9 Sept | (pdf) | Divide and conquer: building big programs from little functions. | |||||
Lab 3 | 15-16 Sept | (pdf) | A video game: exploding the enemy with a cannon. | |||||
Lab 4 | 22-23 Sept | (pdf) | A real-time animated clock application. | |||||
Lab 5 | 29-30 Sept | (pdf) | Generating calendars and using Unix. | |||||
Lab 6 | 6-7 Oct | (pdf) | A randomly generated Happy Street Scene. | |||||
Lab 7 | 13-14 Oct | (pdf) | Debugging Practise (Here's the suspect program) | |||||
Lab 8 | 20-21 Oct | (pdf) | An interactive desk calculator. | |||||
Lab 9 | 27-28 Oct | (pdf) | Meteorological data processing and visualisation. the data files | |||||
Lab 10 | 3-4 Nov | (pdf) | Interactive map of the United States. Data files: state outlines, capitals. | |||||
Lab 11 | 10-11 Nov | (pdf) | Database programming under Unix. Data files: database1.txt, 2, 3, 5, 10, 20. The special timing function. | |||||
Lab 12 | 17-18 Nov | (pdf) | A robot seaching for treasure in a maze. sample maze | |||||
24-25 Nov | No labs this week. Voluntary help session Tuesday 6:25 to 7:40 | |||||||
Lab 13 | 1-2 Dec | (pdf) | An automatic robot: he turned into a video game. |