Class 1 | Tue 17‑1‑2017 | Hello to everyone. Why computers use binary instead of decimal. Sometimes the simplest things are the hardest to do. | ||||
Class 2 | Thur 19‑1‑2017 | The visual studio IDE, editor, compiler, linker, debugger. Every step in creating and reusing projects. Typewriter-like output with print, and graphical output with make_window, move_to, draw_to, print_string, etc. Defining our own very basic functions. | ||||
Class 3 | Tue 24‑1‑2017 | Expressions - Operators and Priorities Calculations and arithmetic in C++ - order of evaluation, types of numbers, etc. int, double, bool, and string. | ||||
Class 4 | Thur 26‑1‑2017 | Programming practice with functions: Being late for class one, two. Investigating arithmetic operations, being prepared for test question 1, Named constants for a decorative pentagon. | ||||
Class 5 | Tue 31‑1‑2017 | mastering controlled repetition
I will not be late for class 100 times, An anything-agon, A circle in a box to prove its radius, Tabulating the square root function. | ||||
Class 6 | Thur 2‑2‑2017 | Repetition in many forms, and functions that return values: Conversion table, and the right way round. Plotting a graph. Interactive quadratic equation solver. | ||||
Class 7 | Tue 7‑2‑2017 | What do these functions do? An absurdly long program. We took this (one step towards redesigning it properly) and made a function that can speak any int value in English. | ||||
Class 8 | Thur 9‑2‑2017 | More experiments with functions that return values: A more flexible quadratic equation solver, The sum of a series, A spirograph pattern. | ||||
Class 9 | Tue 14‑2‑2017 | Circles on circles on circles: more spirograph fun, and a spiralling square, Find a character in a string, Simplistic encryption, Animals for a Binary Chop Search. | ||||
Class 10 | Thur 16‑2‑2017 | Introducing cout and the while loop. Binary chop: what if the animal isn't found? We make a table of squares so we can search for square roots, But who needs the table? How to make bees, and what a caprimulgus does at night, and more biology: Brownian motion, | ||||
Class 11 | Tue 21‑2‑2017 | We went through the first sample test. The triangle with special line-drawing, Recursion simplifies it and takes it to its fractal limit. | ||||
Class 12 | Thur 23‑2‑2017 | Using Unix. Project 1: a multiplication table, Project 2: approximating sines (with the mistake left in for you to find). | ||||
Class 13 | Tue 28‑2‑2017 | Variables, and some recent experiments re-done using them: one, two, three. | ||||
Special | Wednesday 7pm | Pre-test review, after the regular lab session. | ||||
Class 14 | Thur 2‑3‑2017 | First Test. A sample, and another one. | ||||
Class 15 | Tue 7‑3‑2017 | A data file, and a program that uses it. using cin, ifstream, break, ASCII codes, arrays, and loops. | ||||
Class 16 | Thur 9‑3‑2017 | Discovering a big triangular sorting program, and making a more flexible version with loops. | ||||
Class 17 | Tue 21‑3‑2017 | What we learned from the test. | ||||
Class 18 | Thur 23‑3‑2017 | For loops and update operators. Introducing structs by implementing arithmetic on fractions, Euclid's gcd algorithm too. | ||||
Class 19 | Tue 28‑3‑2017 | Improvements to our chemistry database from class 15: 1. Good use of functions and structs, 2. A special object to simplify input. | ||||
Class 20 | Thur 30‑3‑2017 | The dangers of complacency. Properly structuring our program, recognising different input parts. | ||||
Class 21 | Tue 4‑4‑2017 | Methods and basic object structure diagrams. Recursion helps, our Molecular Weight Calculator is now complete. | ||||
Class 22 | Thur 6‑4‑2017 | Investigating the Fibonacci sequence: recursion, memoisation, a loop with memory. Convergence, the "golden ratio". | ||||
Class 23 | Tue 11‑4‑2017 | The boy and the bull, a dangerous simulation. | ||||
Class 24 | Thur 13‑4‑2017 | The boy and the bull completed, think about enhancements. Thinking: reversing the order of a sentence, three meanings. Exercise: how many numbers between 1 and N are divisible neither by 5 not by 7? | ||||
Special | Friday 11 a.m. | Pre-test review. | ||||
Class 25 | Tue 18‑4‑2017 | Case study: How many unique words are there in a text file? | ||||
Class 26 | Thur 20‑4‑2017 | Second test. A sample. Another sample. | ||||
Class 27 | Tue 25‑4‑2017 | Case study: Arithmetic on thousand digit numbers. | ||||
Class 28 | Thur 27‑4‑2017 | Review of various things. | ||||
Special | Mon 8th 5pm | Pre-final review at 5 pm. |
Lab 1, | Mon 23 Jan - Thur 26 Jan | |||||
(pdf) | Using visual C++ to run programs; drawing stars and stick figures. | |||||
Lab 2, | Mon 30 Jan - Thur 2 Feb | |||||
(pdf) | Divide and conquer: building big programs from little functions. | |||||
Lab 3, | Mon 6 Feb - Thur 9 Feb | |||||
(pdf) | Controlling repetition in programs. | |||||
Lab 4, | Mon 13 Feb - Thur 16 Feb | |||||
(pdf) | A video game: Space Invaders with a cannon. | |||||
Lab 5, | Mon 20 Feb - Thur 23 Feb | |||||
(pdf) | A real-time animated clock application. | |||||
Lab 6, | Mon 27 Feb - Thur 2 Mar | |||||
(pdf) | Generating calendars and using Unix. | |||||
Lab 7, | Mon 6 Mar - Thur 9 Mar | |||||
(pdf) | A randomly generated Happy Street Scene. | |||||
Lab 8, | Mon 20 Mar - Thur 23 Mar | |||||
(pdf) | An interactive desk calculator. | |||||
Lab 9, | Mon 27 Mar - Thur 30 Mar | |||||
(pdf) | Interactive map of the United States. Data files: state outlines, capitals. | |||||
Lab 10, | Mon 3 Apr - Thur 6 Apr | |||||
(pdf) | Database programming under Unix. The special timing function. | |||||
Lab 11, | Mon 10 Apr - Thur 13 Apr | |||||
(pdf) | A robot seaching for treasure in a maze.
sample maze. | |||||
Lab 12, | Mon 17 Apr - Thur 20 Apr | |||||
(pdf) | An automatic robot: he turned into a video game. |
Mon 12 Dec - Thur 15 Dec | ||||||
Nothing will be accepted for grading more than 1 week after your deadline for lab 12. |