Spring 2018 - CS 135

Course documents and references

Schedule

See below table for lecture details

On days marked "No class" labs still do meet that day. Labs do not meet during finals week.

Week - Sunday Monday Tuesday Wednesday Thursday Friday
1 - Jan 14 Holiday 1 1 2
2 - Jan 21 2 3 3 4
3 - Jan 28 4 5 5 6
4 - Feb 4 6 Exam 1 Exam 1 No class
5 - Feb 11 7 7 8 8
6 - Feb 18 Holiday 9 9 No class
7 - Feb 25 10 10 11 11
8 - Mar 4 12 12 13 13
9 - Mar 11 14 14 15 15
10 - Mar 18 Exam 2 Exam 2 No class 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 16 17 17
13 - Apr 8 18 18 19 19
14 - Apr 15 20 20 21 21
15 - Apr 22 22 22 23 23
16 - Apr 29 24 24 25 25
17 - May 6 Finals Finals Finals Finals Finals
18 - May 13 Grades due Grades posted

Lectures

  1. Syllabus, websites, and questionnaire
  2. bobby, Linux, nano, and creating simple programs
  3. Creating and manipulating variables
  4. More variable manipulation, introduction to strings
  5. Input in more detail, utilization of built-in input functions and math functions
  6. File I/O, manipulating output, and Linux file access / stream redirection
    Exam 1

  7. Class cancelled
  8. Exam review and metacognition lecture
  9. Control structures: if statements, truth and zero/non-zero, nesting, and scope
  10. Boolean operators, precedence, short-circuit evaluation, stream and file validity, ternary operator, switch/case, assert
  11. Loops (while, do/while, for), break and continue
  12. Functions from cctype, string, and random number generation
  13. Functions: parameters, return types, prototypes, passing by value and by reference
  14. Global variables, static variables, function overloading, default function parameters, recursion
  15. Class cancelled

    Exam 2

  16. Exam review
  17. Program development (no pre-reading)
  18. enum and typedef
  19. One-dimensional arrays, array initialization, functions and arrays, memory concepts
  20. Sorting and miscellany
  21. Continuation from last time, no pre-reading
  22. Class cancelled
  23. Multidimensional arrays
  24. Structs, istringstream (this will not be covered in a video and is not in your book)
  25. Pointers, final review, direct assessment

    Final exam

Assignments

  1. Monday Jan 22. bobby usage and assignment protocol (the line "Assuming the output is correct (it should print out your name)" is ambiguous and should be "Assuming the output is correct (it should print out your login name)" to keep consistent
  2. Wednesday Jan 24. Questions about Linux, nano, variables, and data types
  3. Monday Jan 29. Averaging user-input numbers
  4. Wednesday Jan 31. Converting radians to degrees and vice-versa
  5. Monday Feb 5. Math functions, files, and text formatting
  6. Monday Feb 19. Metacognition
  7. Sunday Feb 25. if statements
  8. Sunday Mar 4. loops
  9. Sunday Mar 11. loops + PRNG
  10. Sunday Mar 18. Functions
  11. Tuesday Apr 3. Functions
  12. Sunday Apr 15. Functions, strings
  13. Sunday Apr 22. Arrays and sorting
  14. Tuesday May 1. Two-dimensional arrays, command line arguments
  15. Sunday May 6. Structs