Class 1 | Tue 21‑8‑2018 | Hello to everyone. Why computers use binary instead of decimal. Sometimes the simplest things are the hardest to do. | ||||
Class 2 | Thur 23‑8‑2018 | Trying to start a visual studio project. Arithmetic rules, int vs double, A sample first test. | ||||
Class 3 | Tue 28‑8‑2018 | At last! We set up a working visual studio project. Using a function - drawing a square four times Giving inputs to a function - varying the size of the square Introducing conditional execution - I must not be late for class. | ||||
Class 4 | Thur 30‑8‑2018 | if and else, defining named constants. Quadratic equation solver: version 1, version 2. A list of the most common operators in expressions. | ||||
Class 5 | Tue 4‑9‑2018 | Counting down, counting up, controlling repetition in both directions. Tabulating and plotting an interesting function. Plotting a circle, spirograph-like circles within circles. | ||||
Class 6 | Thur 6‑9‑2018 | Practice with controlling repetition: many polygons, speaking the digits of a number, what happens when an int value overflows, the mystery function that produces a lot of output, An absurdly long program - needs redesign. | ||||
Class 7 | Tue 11‑9‑2018 | The number-saying program. The same program reformulated. | ||||
Class 8 | Thur 13‑9‑2018 | Functions that return values: Plotting a graph, Solving quadratics again, The sum of a series. Some animals in alphabetical order. | ||||
Class 9 | Tue 18‑9‑2018 | Searching for a character in a string, encryption and decryption, Binary chop search, Ordinary recursion: printing in binary, and hexadecimal. | ||||
Class 10 | Thur 20‑9‑2018 | An accumulating parameter for special circumstances, Exploring the Collatz sequence, Graphing the length of the Collatz sequence, A fractal star. | ||||
Class 11 | Tue 25‑9‑2018 | Some Biology:
How to make bees, and
what a caprimulgus does at night. Simulation of Brownian motion, introducing the while loop. Many more recursive functions. | ||||
Class 12 | Thur 27‑9‑2018 | Lots of examples of program design. | ||||
Class 13 | Tue 2‑10‑2018 | Using Unix. Update: special note for mac users. Square roots by binary chop search of a table, Much better: binary chop search of the square function. | ||||
Class 14 | Thur 4‑10‑2018 | Eight examples making use of variables: one, two, three, four, five, six, seven, eight. | ||||
Class 15 | Tue 9‑10‑2018 | Review day. | ||||
Class 16 | Thur 11‑10‑2018 | Test Day. A sample. | ||||
Class 17 | Tue 16‑10‑2018 | Introducing reference parameters and sorting. Failing to put two int variables in ascending order, Succeeding by using reference parameters, Getting three variables in order, four, six, and now sorting a whole array. | ||||
Class 18 | Tue 23‑10‑2018 | What we learned from the test. | ||||
Class 19 | Thur 25‑10‑2018 | The dangers of complacency. Using ifstreams and ofstreams or access to disc files. A chemistry data file for us to work with, and our first program using it. | ||||
Class 20 | Tue 30‑10‑2018 | Continuing with the chemistry calculator: Copying the data from the file into arrays before searching, Dealing with numbers in the formulas. | ||||
Class 21 | Thur 1‑11‑2018 | Introducing structs: into the chemistry calculator, and teaching C++ how to use fractions in calculations. | ||||
Class 22 | Tue 6‑11‑2018 | A simulation: the boy and the bull. | ||||
Class 23 | Thur 8‑11‑2018 | A special input-system struct vastly improved the chemistry calculator, and a little recursion lets it handle parenthesised sub-formulas. | ||||
Class 24 | Tue 13‑11‑2018 | Review Day | ||||
Class 25 | Thur 15‑11‑2018 | Second Test. A sample. Another sample. | ||||
Class 26 | Tue 27‑11‑2018 | Complex numbers in C++. Exploring a complex function - repeat z = z*z + c. | ||||
Class 27 | Thur 29‑11‑2018 | Files, arrays, and structs. | ||||
Class 28 | Tue 4‑12‑2018 | Review day. |
Lab 1, | Mon 27 Aug - Thur 30 Aug | |||||
(pdf) | Using visual C++ to run programs; drawing stars and stick figures. | |||||
Lab 2, | Tue 4 Sep - Mon 10 Sep | |||||
(pdf) | Divide and conquer: building big programs from little functions. | |||||
Lab 3, | Tue 11 Sep - Mon 17 Sep | |||||
(pdf) | Controlling repetition in programs. | |||||
Lab 4, | Tue 18 Sep - Mon 24 Sep | |||||
(pdf) | A video game: Space Invaders with a cannon. | |||||
Lab 5, | Tue 25 Sep - Mon 1 Oct | |||||
(pdf) | A real-time animated clock application. | |||||
Lab 6, | Tue 2 Oct - Mon 8 Oct | |||||
(pdf) | Generating calendars and using Unix. | |||||
Lab 7, | Tue 9 Oct - Mon 15 Oct | |||||
(pdf) | A randomly generated Happy Street Scene. | |||||
Lab 8, | Mon 22 Oct - Thur 25 Oct | |||||
(pdf) | An interactive desk calculator. | |||||
Lab 9, | Mon 29 Oct - Thur 1 Nov | |||||
(pdf) | Geographical and Meteorological data processing and visualisation.
Data file: state outlines. Hurricane tracks: 2017_hur_dat.txt, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000. (All the files in one .zip file). | |||||
Lab 10, | Mon 5 Nov - Thur 8 Nov | |||||
(pdf) | Database programming under Unix. The special timing function. | |||||
Lab 11, | Mon 12 Nov - Thur 15 Nov | |||||
(pdf) | A robot seaching for treasure in a maze.
sample maze;
alternate sample. | |||||
Lab 12, | Mon 26 Nov - Thur 29 Nov | |||||
(pdf) | An automatic robot: he turned into a video game. | |||||
Latest | Wed 12 December | |||||
Last day anything can be accepted for grading. |