EEN118 R (Programming 1) Autumn 2020
Tues, Thurs 2:00-3:15 in MM 316

Class History

Class 1  ‑ Tue 18‑8‑2020   Quick introductions.
Why computers use binary instead of decimal.
Sometimes the simplest things are the hardest to do.
Class 2  ‑ Thur 20‑8‑2020 Setting up a visual studio project
Two sample programs
A sample of the first test.
Class 3  ‑ Tue 25‑8‑2020 Some graphics operations: a circle of squares.
Solving quadratic equations - version 1.
Class 4  ‑ Thur 27‑8‑2020 Controlling repetition: I must not be late for class,
Solving a lot of quadratics,
Plotting some nice graphs,
Operators in order of priority.
Class 5  ‑ Tue 1‑9‑2020 Patterns of recursion:
Counting down,
Sixteen squares,
Counting up,
Digits of a number,
Introducing the array,
Up and down in the same function.
Class 6  ‑ Thur 3‑9‑2020 A ridiculously over-long program. A much improved version: step 1, step 2, step 3, step 4, step 5,
ten to the power ofs,
two to the power ofs,
Introducing cout, ten to the power ofs as doubles.
Class 7  ‑ Tue 8‑9‑2020 A program that writes a program for us.
functions that return results: the sum of a series.
An array of animals,
Searching the array in two different ways.
Class 8  ‑ Thur 10‑9‑2020 More patterns of recursion, including drawing a circle.
Class 9  ‑ Tue 15‑9‑2020 More about searching.
Class 10  ‑ Thur 17‑9‑2020 More with the guessing game.
Calculating square roots by binary chop search.
The Collatz sequence.
Today's notes.
Class 11  ‑ Tue 22‑9‑2020 Brownian motion - introducing the while loop,
Another use for a while loop,
Some very basic encryption.
Class 12  ‑ Thur 24‑9‑2020 Computing the sine function, and plotting successive approximations,
Analysing recursive functions,
Printing a number in binary,
Today's notes.
Class 13  ‑ Tue 29‑9‑2020 Test preparation:
A sample, and solutions to Question 1, Question 2, Question 3.
Class 14  ‑ Thur 1‑10‑2020 Test Day, another sample.
Class 15  ‑ Tue 6‑10‑2020 Using variables: one, two, three, four, five, six, seven.
Class 16  ‑ Thur 8‑10‑2020 Test day, second attempt.
Don't take today's test if you were able to take it last week.
Class 17  ‑ Tue 13‑10‑2020 More with variables: linear animal search,
animal search by binary chop,
Introducing update operators and the for loop: calculating sines.
Class 18  ‑ Thur 15‑10‑2020 Using ifstreams and ofstreams or access to disc files: First example, second example.
A chemistry data file for us to work with: and The chemistry calculator.
Class 19  ‑ Tue 20‑10‑2020 Sorting: Bubble sort and selection sort in ten steps:
one, two, three, four, five, six, seven, eight, nine, ten.
Class 20  ‑ Thur 22‑10‑2020 Going over the test,
The answers.
Class 21  ‑ Tue 27‑10‑2020 Introducing objects:
The completed chemistry calculator.
Class 22  ‑ Thur 29‑10‑2020 Why 0.1 times 10,000,000 might not be 1,000,000.
Teaching C++ how to use fractions: stage one, stage two.
Class 23  ‑ Tue 3‑11‑2020 Simulations: the boy and the bull.
Class 24  ‑ Thur 5‑11‑2020 Review of arrays and structs
Today's notes: one, two.
Class 25  ‑ Tue 10‑11‑2020 Second test. A sample. Another sample.
Topics: arrays, files, structs.
Class 26  ‑ Thur 12‑11‑2020 Exploring complex numbers
Class 27  ‑ Tue 17‑11‑2020 Completing the exploration of complex numbers: The Mandelbrot set.
Working through a sample for question 2.
Working through a sample for question 3.
Class 28  ‑ Thur 19‑11‑2020 Test one, test two.
Solutions for test 2,
Another small structs example.


Lab Assignments

Submit assignments as a single document (word documents are preferred), including all your code and screenshots of it running, to ecegrader @ gmail.com

Lab 1,   Mon 24 Aug - Thur 27 Aug
(pdf) Using visual C++ to run programs; drawing stars and stick figures.
Lab 2, Mon 31 Aug - Thur 3 Sep
(pdf) Divide and conquer: building big programs from little functions.
Lab 3, Tues 8 Sep - Mon 14 Sep
(pdf) Controlling repetition in programs.
Part C2 is for extra credit only.
Lab 4, Tue 15 Sep - Mon 21 Sep
(pdf) A video game: Space Invaders with a cannon.
Lab 5, Tue 22 Sep - Mon 28 Sep
(pdf) A real-time animated clock application.
Lab 6, Tue 29 Sep - Mon 5 Oct
(pdf) Generating calendars and using Unix.
Lab 7, Tue 6 Oct - Mon 12 Oct
(pdf) A randomly generated Happy Street Scene.
Lab 8, Tue 13 Oct - Mon 19 Oct
(pdf) An interactive desk calculator.
Lab 9, Tue 20 Oct - Mon 26 Oct
(pdf) Meteorological data processing and visualisation. the data files
Lab 10, Tue 27 Oct - Mon 2 Nov
(pdf) Database programming under Unix.
The special timing function.
Lab 11, Tue 3 Nov - Mon 9 Nov
(pdf) A robot seaching for treasure in a maze. sample maze; alternate sample.
Lab 12, Tue 10 Nov - Mon 16 Nov
(pdf) An automatic robot: he turned into a video game.