Topics Covered

Remark: topics covered in each lecture are subject to change.

  1. Wed, Jan 18, 06: header files with .h and without it, functions, value parameters, reference parameters, void functions, value-returning functions, short cut operators, preincrement, postincrement, predecremnet, postdecrement operators, function prototype (why do we need it and can we get rid of it?), a value-returning function cannot return more than one value by its return statement (to return more than one value, you can do several things such as returning the values via reference parameters or grouping them in a struct and returning it, etc), return statements in void functions, exit statement.

  2. Fri, Jan 20, 06: scope operator, integral data types, floating point data types, global variables and constants, literal constants and named constants, one-dimensional arrays, initializing one-dimensional arrays in declaration.

  3. Mon, Jan 23, 06: whitespace characters, loops, for loop with missing parts from the header, commas in the header part of the for loop, for loop with more than one initialization or update action, one-dimensional arrays as arguments/parameters, two-dimensional arrays, initializing two-dimensional arrays in declaration, two-dimensional arrays as arguments/parameters, structs.

  4. Wed, Jan 25, 06: valid and invalid operations on structs, structs as arguments/parameters, functions returning structs, nested structs, default arguments, overloaded functions.

  5. Fri, Jan 27, 06: classes: constructors, const methods, static members (methods and data).

  6. Mon, Jan 30, 06: Classes contin, access (get/set) methods, default constructors, Assignment 1.

  7. Wed, Feb 1, 06: Assignments 1 and 2.

  8. Fri, Feb 3, 06: Assignment 2 contin.

  9. Mon, Feb 6, 06: Assignment 3.

  10. Wed, Feb 8, 06: const methods, static methods, friend functions.

  11. Fri, Feb 10, 06: friend classes/structs, user-defined header files, splitting the program into several parts (header files containing specification parts of classes, C++ files containing implementation parts of classes, and a C++ driver program).

  12. Mon, Feb 13, 06: Review of enumerated types, begin Chapter 3 of the textbook: unsorted lists (Section 3.2).

  13. Wed, Feb 15, 06: Finish unsorted lists, sorted Lists (Section 3.3), binary search.

  14. Fri, Feb 17, 06: Assignment 4.

  15. Mon, Feb 20, 06: Quiz, Binary Searh (Section 3.3 - Page 152), finish sorted lists.

  16. Wed, Feb 22, 06: Sections 3.4 and 3.5 - Comparison of Algorithms, Common Order of Magnitude (Big O), Objected Oriented Programming (OOP) and Its Concepts, Section 4.3 - pointers, why pointers? (for dynamic variables and arrays, and linked structures; why linked structures? Some operations cost less).

  17. Fri, Feb 24, 06: Pointers contin, NULL, two ways to make a pointer point to something, etc.

  18. Mon, Feb 27, 06: Pointers to structs, pointers to arrays, arrays of pointers, arrays of pointers to arrays, heap, new and delete operators, dynamic variables, dynamic arrays.

  19. Wed, Mar 1, 06: Pointers to pointers, different implementations of dynamic multidimensional arrays.

  20. Fri, Mar 3, 06: Assignment, memory leak, functions returning pointers to arrays by return statements?.

  21. Mon, Mar 6, 06: Quiz 2, Section 4.1 - Stacks with templates and with static and dynamic arrays; templates (Section 4.2); typename.

  22. Wed, Mar 8, 06: Stacks continued; exception handling (pages 34, 95-98).

  23. Fri, Mar 10, 06: queues (Section 4.5) with templates and with dynamic arrays and exception handling.

  24. Mon, Mar 13, 06: More on exception handling, Section 5.1 - stacks as linked structures and with templates and exception handling.

  25. Wed, Mar 15, 06: ---

  26. Fri, Mar 17, 06: Exercises on exception handling and on stacks and queues with arrays.

  27. Fri, Mar 20, 06: Exam I (Material everything covered except linked structures).

  28. Wed, Mar 22, 06: Exercises on linked structures

  29. Mon, Apr 3, 06: Finish stacks as linked structures (and with templates and exception handling).

  30. Wed, Apr 5, 06: Section 5.2 - Queues as linked structures and with templates and exception handling.

  31. Fri, Apr 7, 06: Assignment 6.

  32. Mon, Apr 10, 06: Assignments 6 and 7.

  33. Wed, Apr 12, 06: Section 5.3 (unsorted linked lists; i.e. Unsorted lists as linked structures).

  34. Fri, Apr 14, 06: Finish 5.3; Section 5.4 (sorted linked lists; i.e. sorted lists as linked structures).

  35. Wed, Apr 19, 06: Assignment 8, Finish Section 5.4.

  36. Fri, Apr 21, 06: Begin chapter 6: Sections 6.1 and begin Section 6.2.

  37. Mon, Apr 24, 06: Finish Section 6.2 and begin Chapter 7.

  38. Wed, Apr 26, 06: Chapter 7 contin.

  39. Fri, Apr 28, 06: Exam II (Material: Chapter 5 and Section 6.1 as presented in the lecture).

  40. Mon, Apr 1, 06: Recursion continue.

  41. Wed, Apr 3, 06: Recursive functions for linked lists.

  42. Fri, Apr 5, 06: Quiz, Recursion continue, remarks.