1 | Due: Sat 1 Feb. | |||
The RPN calculator. | ||||
2 | Due: Sat 22 Feb. | |||
Shaker-Sort. | ||||
3 | Due: Sat 4 Apr (extended) | |||
Super-Calculator. | ||||
4 | Due: Tues 21 Apr | |||
Linked list database. Here is the database in downloadable form. | ||||
5 | Due: Sat 2 May | |||
Binary tree database. |
Class 1 ‑ | Tue 14‑1‑2020 | Quick introductions. Showing how unsafe C++ arrays can be, Defining a very basic object that implements a safe array. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Class 2 ‑ | Thur 16‑1‑2020 | An example using protected: the tomorrow calculator. And the excessive value monitor. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Class 3 ‑ | Tue 21‑1‑2020 | Reading all the words form a file into an array:
The unsafe version that crashes after a while, The safe version that requires me to guess at the size, The best version, | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Class 4 ‑ | Thur 23‑1‑2020 | Reverse Polish Notation (RPN). A vector based evaluator for RPN expressions. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Class 5 ‑ | Tue 28‑1‑2020 | Vector Operations. Creating our own vector just like in the (except no constructor or destructor yet).
|
| Class 6 ‑
|
| Thur 30‑1‑2020 |
| Constructors and Destructors, | Memory leaks, Our finished implementation of vector.
|
| Class 7 ‑
|
| Tue 4‑2‑2020 |
| The special timing function. | A self-testing sorting program
|
| Class 8 ‑
|
| Thur 6‑2‑2020 |
| Tuesday's sort method was Selection Sort. | Character encoding and making random strings, Insertion sort, also self testing, Selection sort and Insertion sort are both O(N2).
|
| Class 9 ‑
|
| Tue 11‑2‑2020 |
| String operations take longer than int operations, | Comparing selection sort and insertion sort fairly, with a templated function. Bubble sort and Shaker sort.
|
| Class 10 ‑
|
| Thur 13‑2‑2020 |
| Thoughts on the BigInt class implementation and operations. | The consequences of dividing an array in two and sorting the two halves individually.
|
| Class 11 ‑
|
| Tue 18‑2‑2020 |
| Quicksort, the whole procedure; | A first partitioning method.
|
| Class 12 ‑
|
| Thur 20‑2‑2020 |
| Our first partition method animated, | The entire quicksort algorithm animated. When is the mid-term? Tuesday 3rd March The first appearance of Quicksort: paper, algorithm part 1, part 2. The test system.
|
| Class 13 ‑
|
| Tue 25‑2‑2020 |
| The third quicksort partition method. | The beginning of a small database, and its final form.
|
| Class 14 ‑
|
| Thur 27‑2‑2020 |
| Review day.
|
|
| Class 15 ‑
|
| Tue 3‑3‑2020 |
| Test Day. | A sample test, and its solution, and another mini-test, with its solution. Another sample, and its solution. Another sample, (remember that some of these samples cover test 2 material).
|
| Class 16 ‑
|
| Thur 5‑3‑2020 |
| Introducing Polymorphism, step 1,
2a,
2b,
3a,
3b,
Final version.
|
|
|
|
| Break
|
|
| Class 17 ‑
|
| Tue 17‑3‑2020 |
| (closed)
|
|
| Class 18 ‑
|
| Thur 19‑3‑2020 |
| (closed)
|
|
| Class 19 ‑
|
| Tue 24‑3‑2020 |
| At the supermarket: discovering the linked list. | (recorded class)
|
| Class 20 ‑
|
| Thur 26‑3‑2020 |
|
(recorded class)
|
|
| Class 21 ‑
|
| Tue 31‑3‑2020 |
| Linked lists that remember where their own ends are. | (recorded class)
|
| Class 22 ‑
|
| Thur 2‑4‑2020 |
| Doubly-linked linked lists. | Scribblings from class (recorded class)
|
| Class 23 ‑
|
| Tue 7‑4‑2020 |
| Splitting a linked list into two equal halves, | (recorded class)
|
| Class 24 ‑
|
| Thur 9‑4‑2020 |
| Merging two sorted linked list, and | Discovering merge-sort. Recording of class
|
| Class 25 ‑
|
| Tue 14‑4‑2020 |
| Notes from today | (recorded class)
|
| Class 26 ‑
|
| Thur 16‑4‑2020 |
| Second Test. | A better sample test
|
| Class 27 ‑
|
| Tue 21‑4‑2020 |
| Introducing binary trees. | (recorded class)
|
| Class 28 ‑
|
| Thur 23‑4‑2020 |
| Binary Trees part two. | (recorded class)
|
| Class 29 ‑
|
| Tue 28‑4‑2020 |
| Final Exam, part A
|
|
| Class 30 ‑
|
| Thur 30‑4‑2020 |
| Review day Today's notes. | (recorded class)
|
| Class 31 ‑
|
| Tue 5‑5‑2020 |
| Final Exam part B
|
| |