Coding standards | |
Introduction to Linux | |
Grading notes |
1. | [M. January 8] |
Lecture 1 Introduction | |
2. | [W. January 10] |
Lecture 2A The swamp | |
Lecture 2B Introduction to Linux | |
Assignment 0 assigned | |
3. | [Th. January 11] |
Lecture 3A Elementary C++ issues | |
Lecture 3B Numeric types and expressions | |
Lecture 3C Function libraries | |
Lecture 3D Functions in general | |
4. | [F. January 12] |
Lecture 4A Variables | |
Lecture 4B Abbreviations for assignments | |
Lecture 4C Hand simulation | |
Lecture 4D Some uses of variables | |
Lecture 4E Choosing variable names | |
Lecture 4F Constants | |
[M. January 15] | |
Holiday | |
5. | [W. January 17] |
Lecture 5A Defining functions | |
Lecture 5B Mental model of functions | |
Lecture 5C Standards for function definitions | |
6. | [Th. January 18] |
Lecture 6A Input and output | |
Lecture 6B Writing | |
Lecture 6C Reading | |
Lecture 6D Input, output and functions | |
7. | [F. January 19] |
Lecture 7A Statements and function calls | |
Lecture 7B Programs and main | |
Lecture 7C Avoiding the swamp: function contracts | |
Lecture 7D Other comments | |
Assignment 0 due | |
Assignment 1 assigned | |
8. | [M. January 22] |
Lecture 8A Boolean expressions | |
Lecture 8B Mental model of boolean expressions | |
9. | [W. January 24] |
Lecture 09A Compound statements and scope | |
Lecture 09B Making decisions | |
Lecture 09C Standards for if-statements | |
10. | [Th. January 25] |
Lecture 10A While-loops | |
Lecture 10B Nested loops and nested loop emulation | |
Lecture 10C Planning loops | |
[F. January 26] | |
Quiz 1 Lectures 3A, 3B, 4A, 4B, 4F, 5A, 5B, 6B, 7A, 8A, 8B, 9B. |
|
11. | [M. January 29] |
Lecture 11A For-loops | |
Lecture 11B Breaking out of a loop | |
Lecture 11C Standards for loops | |
Lecture 11D Elementary arrays | |
Assignment 1 due | |
Assignment 2 assigned | |
12. | [W. January 31] |
Lecture 12 Loop algorithms 1: Scan algorithms | |
13. | [Th. February 1] |
Lecture 13 Loop algorithms 2: Search algorithms | |
14. | [F. February 2] |
Lecture 14A Avoiding the swamp: Diagnosing and fixing errors | |
Lecture 14B Avoiding the swamp: Successive refinement | |
Lecture 14C Avoiding the swamp: Tracing | |
Lecture 14D Avoiding the swamp: Using a debugger | |
15. | [M. February 5] |
Lecture 15 Recursion | |
16. | [W. February 7] |
Lecture 16 Understanding recursion | |
Assignment 2 due | |
Assignment 3 assigned | |
17. | [Th. February 8] |
Lecture 17 More on recursion | |
[F. February 9] | |
Quiz 2 Lectures 10A, 11A, 11D, 12, 13, 15, |
|
18. | [M. February 12] |
Lecture 18 Discovering algorithms | |
19. | [W. February 14] |
Lecture 19A The memory and pointers | |
Lecture 19B Hand simulation with pointers | |
Lecture 19C Type definitions and const pointers | |
20. | [Th. February 15] |
Lecture 20A Areas of memory | |
Lecture 20B Using the heap | |
Lecture 20C Dangling pointers and memory faults | |
21. | [F. February 16] |
Lecture 21A Parameter passing modes | |
Lecture 21B Mental model of arrays | |
22. | [M. February 19] |
Lecture 22A Arrays and functions | |
Lecture 22B Creating and destroying arrays | |
Lecture 22C Reallocating an array | |
[W. February 21] | |
Assignment 4 | |
Assignment 3 due | |
23. | [Th. February 22] |
Lecture 23A Modules | |
Lecture 23B Standards for modules | |
[F. February 23] | |
Quiz 3 Lectures 16, 17, 20A, 20B, 21A, 21B, |
|
24. | [M. February 26] |
Lecture 24A Structures | |
Lecture 24B Naming and documentation of structures | |
Lecture 24C Arrays of structures | |
25. | [W. February 28] |
Lecture 25A More on structures | |
Lecture 25B Passing structures to functions | |
Lecture 25C Constructors | |
26. | [Th. March 1] |
Lecture 26A Lists | |
Lecture 26B Linked lists | |
[F. March 2] | |
Assignment 5 | |
Assignment 4 due | |
[M. March 5–F. March 9] | |
Spring break | |
27. | [M. March 12] |
Lecture 27 Equations and algorithms on lists | |
28. | [W. March 14] |
Lecture 28 Looping over linked lists | |
[Th. March 15] | |
Assignment 6 | |
[F. March 16] | |
Quiz 4 Lectures 22A, 22B, 24A, 25A, 25B, 25C, 26A, 26B, 27. |
|
[Sat. March 17] | |
Assignment 5 due | |
29. | [M. March 19] |
Lecture 29 Destructive functions on linked lists | |
30. | [W. March 21] |
Lecture 30A Characters | |
Lecture 30B Null-terminated strings | |
31. | [Th. March 22] |
Lecture 31 Algorithms on null-terminated strings | |
32. | [F. March 23] |
Lecture 32A Reading and writing strings and characters | |
Lecture 32B Writing files | |
Lecture 32C Reading files | |
33. | [M. March 26] |
Lecture 33A Trees | |
Lecture 33B Trees in C++ | |
Lecture 33C Traversing trees | |
34. | [W. March 28] |
Lecture 34A Elementary analysis of algorithms | |
Lecture 34B Analysis examples | |
Lecture 34C Profilers | |
[Th. March 29] | |
Assignment 7 | |
Assignment 6 due | |
[F. March 30] | |
Holiday | |
35. | [M. April 2] |
Lecture 35A Linear and Binary Search | |
Lecture 35B Binary search trees | |
36. | [W. April 4] |
Lecture 36 Insertion and removal for binary search trees | |
37. | [Th. April 5] |
Lecture 37+38 Height-balanced binary search trees | |
[F. April 6] | |
Quiz 5 Lectures 27, 28, 29, 30A, 30B, 31. |
|
[M. April 9] | |
Assignment 8 | |
Assignment 7 due | |
37. | [W. April 11] |
Lecture 37+38 More on height-balanced binary search trees | |
39. | [Th. April 12] |
Lecture 39A Tables | |
Lecture 39B Hash tables | |
40. | [F. April 13] |
Lecture 40 Heaps | |
41. | [M. April 16] |
Lecture 41A Sorting | |
Lecture 41B Merge sort | |
42. | [W. April 18] |
Lecture 42 Heap sort | |
[Th. April 19] | |
Review. | |
[F. April 20] | |
Quiz 6 Lectures 33A, 33B, 33C, 34A, 35A, 35B, 36, 37+38, 39B, 40. |
|
[M. April 23] | |
Review. |
|
[Tu. April 24] | |
Today is treated like a Friday. Review. | |
Assignment 8 due | |
[W. May 2] | |
Final exam, 8:00–10:30 | |