Coding standards | |
Introduction to Linux | |
Grading notes |
1. | [M. August 20] |
Lecture 1A Introduction | |
Lecture 1B The swamp | |
2. | [W. August 22] |
Assignment 0 assigned | |
Lecture 2A Introduction to Linux | |
Linux reference | |
Lecture 2B Elementary C++ issues | |
Lecture 2C Numeric types and expressions | |
3. | [Th. August 23] |
Lecture 3A Variables | |
Lecture 3B Abbreviations for assignments | |
Lecture 3C Hand simulation | |
Lecture 3D Choosing variable names | |
Lecture 3E Constants | |
Lecture 3F Some uses of variables | |
4. | [F. August 24] |
Lecture 4A Function libraries | |
Lecture 4B Functions in general | |
Lecture 4C Defining functions | |
5. | [M. August 27] |
Lecture 5A Mental model of functions | |
Lecture 5B Standards for function definitions | |
6. | [W. August 29] |
Lecture 6A Avoiding the swamp: function contracts | |
Lecture 6B Other comments | |
Lecture 6C Statements and function calls | |
Lecture 6D Programs and main | |
Lecture 6E Compound statements and scope | |
7. | [Th. August 30] |
Lecture 7A Input and output | |
Lecture 7B Writing | |
Lecture 7C Reading | |
Lecture 7D Input, output and functions | |
8. | [F. August 31] |
Assignment 0 due | |
Assignment 1 assigned | |
Lecture 8A Boolean expressions | |
Lecture 8B Mental model of boolean expressions | |
Lecture 8C Making decisions | |
Lecture 8D Standards for boolean expressions | |
Lecture 8E Standards for if-statements | |
[M. September 3] | |
Holiday | |
9. | [W. September 5] |
Lecture 9A While-loops | |
Lecture 9B Nested loops and nested loop emulation | |
Lecture 9C Planning loops | |
Lecture 9D Standards for loops | |
10. | [Th. September 6] |
Lecture 10A For-loops | |
Lecture 10B Breaking out of a loop | |
Lecture 10C Elementary arrays | |
[F. September 7] | |
Exam 1 Lectures 3A, 3E, 4A, 4C, 6C, 6E, 7B, 7C, 8A, 8C. |
|
11. | [M. September 10] |
Assignment 1 due | |
Assignment 2 assigned | |
Lecture 11 Loop algorithms 1: Scan algorithms | |
[W. September 12–T. September 18] | |
ECU closed due to Hurricane Florence | |
12. | [W. September 19] |
Lecture 12A Loop algorithms 2: Search algorithms | |
Read the following: | |
Lecture 12B Avoiding the swamp: Successive refinement | |
Lecture 13A Avoiding the swamp: Planning | |
Lecture 13B Avoiding the swamp: Diagnosing and fixing errors | |
Lecture 13C Avoiding the swamp: Tracing | |
Lecture 14A Avoiding the swamp: Using a debugger | |
13. | [Th. September 20] |
Lecture 14B Recursion | |
14. | [F. September 21] |
Lecture 15 Understanding recursion | |
15. | [M. September 24] |
Assignment 2 due | |
Assignment 3 assigned | |
Lecture 16A Recursive search algorithms | |
Lecture 16B Tail recursion | |
16. | [W. September 26] |
Lecture 17A Duplicated recursive calls | |
Lecture 17B Discovering algorithms | |
17. | [Th. September 27] |
Lecture 18A The memory and pointers | |
Lecture 18B Hand simulation with pointers | |
Lecture 18C Areas of memory | |
[F. September 28] | |
Exam 2 Lectures 09A, 10A, 11, 12A, 14B. |
|
18. | [M. October 1] |
Lecture 19A Using the heap | |
Lecture 19B Dangling pointers and memory faults | |
19. | [W. October 3] |
Lecture 20A Type definitions and const pointers | |
Lecture 20B Parameter passing modes | |
20. | [Th. October 4] |
Lecture 21A Mental model of arrays | |
Lecture 21B Creating and destroying arrays | |
21. | [F. October 5] |
Lecture 22A Arrays and functions | |
Lecture 22B Reallocating an array | |
[M. October 8–T. October 9] | |
Fall break | |
22. | [W. October 10] |
Assignment 3 due | |
Assignment 4 assigned | |
Lecture 23B Pointer arithmetic | |
Lecture 24A Modules | |
Read the following: | |
Lecture 23A Finding the largest value in an array | |
Lecture 24B Standards for modules | |
23. | [Th. October 11] |
Lecture 25A Structures | |
Lecture 25B Constructors | |
[F. October 12] | |
Exam 3 Lectures 14B, 15, 18A, 18B, 18C, 19A, 20A, 21A, 21B, 22A. |
|
24. | [M. October 15] |
Lecture 26A Naming and documentating structures | |
Lecture 26B More on structures | |
Lecture 26C Passing structures to functions | |
Lecture 26D Arrays of structures | |
25. | [W. October 17] |
Lecture 27A Lists | |
Lecture 27B Linked lists | |
26. | [Th. October 18] |
Lecture 28A Implementation of linked lists | |
Lecture 28B Equations on conceptual lists | |
27. | [F. October 19] |
Lecture 29 Equations and algorithms on lists | |
[Sat. October 20] | |
Assignment 4 due | |
Assignment 5 assigned | |
28. | [M. October 22] |
Lecture 30 Memory sharing | |
29. | [W. October 24] |
Lecture 31 Looping over linked lists | |
30. | [Th. October 25] |
Lecture 32 Destructive functions on linked lists | |
31. | [F. October 26] |
Lecture 33A FIFO queues | |
Lecture 33B Linked implementation of FIFO queues | |
Lecture 33C Array implementation of FIFO queues | |
32. | [M. October 29] |
Lecture 34 Characters | |
[Tu. October 30] | |
Assignment 5 due | |
Assignment 6 assigned | |
33. | [W. October 31] |
Lecture 35 Null-terminated strings | |
34. | [Th. November 1] |
Lecture 36 Algorithms on null-terminated strings | |
[F. November 2] | |
Exam 4 Lectures 25A, 25B, 26B, 26C, 27A, 27B, 28A, 29, 31, 32. |
|
35. | [M. November 5] |
Assignment 6 due | |
Assignment 7 assigned | |
Lecture 37A Reading and writing strings and characters | |
Lecture 37B Writing files | |
Lecture 37C Reading files | |
36. | [W. November 7] |
Lecture 38A Trees | |
Lecture 38B Trees in C++ | |
Lecture 38C Nondestructive functions on trees | |
37. | [Th. November 8] |
Lecture 39A Destructive functions on trees | |
Lecture 39B Traversing trees | |
Lecture 39C Elementary analysis of algorithms | |
38. | [F. November 9] |
Lecture 40A Analysis examples | |
Lecture 40B Linear and Binary Search | |
Lecture 40C Profilers | |
39. | [M. November 12] |
Lecture 41A Binary search trees | |
Lecture 41B Inserting and removing the smallest for binary search trees | |
40. | [W. November 14] |
Lecture 42A Deletion from a binary search tree | |
Lecture 42B Height-balanced binary search trees | |
41. | [Th. November 15] |
Assignment 7 due | |
Assignment 8 assigned | |
Lecture 43 Keeping a binary search tree height-balanced | |
[F. November 16] | |
Exam 5 Lectures 33A, 34, 35, 36, 38A, 38B, 38C, 39A, 39B, 39C. |
|
42. | [M. November 19] |
Lecture 44A Tables | |
Lecture 44B Hash tables | |
[W. November 21–F. November 23] | |
Thanksgiving break | |
43. | [M. November 26] |
Lecture 45 Heaps | |
44. | [W. November 28] |
Lecture 46A Sorting | |
Lecture 47 Heap sort | |
[Th. November 29] | |
Review. | |
[F. November 30] | |
Exam 6 Lectures 41A, 41B, 42A, 42B, 43, 44B, 45, |
|
[Sat. December 1] | |
Assignment 8 due | |
[M. December 3] | |
Review. | |
[F. December 7] | |
Final exam, 2:00–4:30 | |