Spring 2018 - CS 202

Course documents and references

Schedule

See below table for lecture details

Week - Sunday Monday Tuesday Wednesday Thursday Friday
1 - Jan 14 Holiday 1
2 - Jan 21 2 3
3 - Jan 28 4 5
4 - Feb 4 6 Exam 1
5 - Feb 11 7 8
6 - Feb 18 Holiday 9
7 - Feb 25 10 11
8 - Mar 4 12 13
9 - Mar 11 14 15
10 - Mar 18 Exam 2 No class

Last day to
drop or audit
11 - Mar 25 Spring break
Spring break Spring break Spring break Spring break
12 - Apr 1 16 17
13 - Apr 8 18 19
14 - Apr 15 20 21
15 - Apr 22 22 23
16 - Apr 29 24 25
17 - May 6 Finals Finals Finals Finals Finals
18 - May 13 Grades due Grades posted

Lectures

  1. Syllabus, websites, and questionnaire
  2. Review of CS 135 topics that may/may not have been covered:
  3. Review of CS 135 topics that may/may not have been covered:
  4. Introduction to classes, member access specifiers, objects, member access, assignment, implementation, constant functions, constructors
  5. Consructors, destructors, UML, ADTs, information hiding, makefiles, static class members
  6. Continuation of previous lectures. No pre-reading required.

    Exam 1

  7. Class cancelled
  8. Exam review and metacognition lecture
  9. Inheritance
  10. Include guards (from prior reading), protected members (from prior reading), composition, central ideas of OOP
  11. Pointers, dynamic variables, dynamic multidimensional arrays
  12. Dynamic variables (from prior reading), dynamic multidimensional arrays (from prior reading), Shallow/deep copy, copy constructor, binding and virtual functions, abstract classes, aliases
  13. Finishing of topics from the previous lecture -- no prereading today
  14. Operator overloading arithmetic, relational, insertion, extraction, and assignment operators
  15. Class cancelled

    Exam 2

  16. Exam review
  17. Operator overloading insertion, extraction and assignment operators (from last time). Operator overloading increment, decrement, and subscript operators. Function templates
  18. Finish coverage from last time (no pre-reading)
  19. Exceptions, recursion
  20. Searching, sorting, and vector
  21. Continued topics from last time (no pre-reading)
  22. Class cancelled
  23. Linked lists
  24. Linked lists, stacks
  25. Stacks, queues, and algorithms + final review and direct assessment

    Final exam

Assignments

  1. Tuesday, Jan 30. Command line arguments, istringstream, two-dimensional arrays, #define, and switch/case
  2. Tuesday, Jan 30. Questions about class basics
  3. Tuesday, Feb 6. Basic class for Roman numeral conversion, plus tar and makefiles
  4. Tuesday, Feb 20. Metacognition
  5. Sunday, Mar 4. Inheritance -- The functions stod (from the string header) and isdigit (from cctype) will be useful for this as well
  6. Sunday, Mar 11. Written assignment about pointers
  7. Sunday, Mar 18. Pointers
  8. Tuesday, Apr 3. Operator overloading
  9. Sunday Apr 15. Operator overloading
  10. Sunday Apr 22. Recursion, vector, sorting -- Correction: the merge sort does not have to be in-place
  11. Tuesday May 1. Linked lists
  12. Sunday May 6. Stacks