|
||||
| Date | Lecture Topic | Lecture Resources | Reading | Notes/Assignments | |
|---|---|---|---|---|---|
| Week 1 | |||||
| Mon 8/27 |
1. Welcome, Computer Science As a Career, Overview of Course Logistics | Consider a Career in Computer Science! Fastest growing occupations A Bachelors Degree in Computer Science would prepare you for 5 of the top 30! Money Magazine's Best Jobs A Bachelors Degree in Computer Science would prepare you for the #1 Best Job |
Savitch chapter 1 | For next time: What interests you about computer science? Why taking this class? | |
| Tues 8/28 |
LAB01: Local vs Remote computers, Linux environment, command line and file system | ||||
| Weds 8/29 |
2. In Class Exercise (How many hours per month?); Joys and Woes of the Craft | Savitch chapter 1 | Turn in the exercise during class AP Computer Science Exam tonight Activities Fair tonight at 7 PM! | Fri 8/31 |
3. A First Program: Hours Per Month |
Hints for Using Putty to Log into a Linux Server
Step by Step Hints for Using pscp |
Savitch chapter 1 ( especially 1.3 ) | For next time: bring suggestion for program you think would be interesting yet simple |
| Week 2 | |||||
| Mon 9/3 |
4. Introduction to Data Representation, Variables, Native Types, Arithmetic Expressions | Savitch 2.1 - 2.3, 2.5 | |||
| Tues 9/4 |
LAB02: g++ and dealing with compiler errors | ||||
| Weds 9/5 |
5. More Variables, Types, Declarations and Arithmetic Expressions | First Individual Programming Assignment Introduced ( prog1 ) | |||
| Fri 9/7 |
6. Introduction to If statements, Enums, Hints on Programming Assignment | Crib Sheet (Week 2) | Bring output from sizeof program to class | ||
| Week 3 | |||||
| Mon 9/10 |
7. If statements, If-else, If-elseif-else, Compare Operators, Boolean Expressions | Strictly Optional Hints for C++ I/0 | Savitch 2.4, 3.1-3.2 | Design document: List of questions to ask and types of variables you will use to store answers | |
| Tues 9/11 |
LAB03: variables, assignment statements and ifs | ||||
| Weds 9/12 |
8. Software Development Process/Software Lifecycle; Program (convertTemp with enums), Simple Design Document | Sample Simple Design Document | Savitch 1.2, 1.4 | ||
| Fri 9/14 |
9. Software Lifecycle Program to determine the line through 2 points Beware testing equality of doubles |
Crib Sheet (Week 3) | Soure code draft due (hardcopy in class) | ||
| Week 4 | |||||
| Mon 9/17 |
10. Testing, do-while loops, while-do loops | Savitch 1.4, 3.3-3.4 | First Individual Programming Assignment due (hardcopy in class; softcopy before class) | ||
| Tues 9/18 |
LAB04: while loops and input validation | ||||
| Weds 9/19 |
11. More Loops | Savitch 3.4 | Bring testing assignment (output of pointsOnLineTesting.cpp with notes about why you chose the points you did) Programming Assignment 2 | ||
| Fri 9/21 |
12. Simple File I/O, for loops | Crib Sheet (Week 4) | Savitch 6 | ||
| Week 5 | |||||
| Mon 9/24 |
13. Arrays, Command Line Parameters | Savitch 7.1 | Design draft due (loop design and plan for friendship rating) | ||
| Tues 9/25 |
LAB05: for loops and arrays | ||||
| Weds 9/26 |
14. Multidimensional Arrays, Nested For Loops, checkerboard | Crib Sheet (Week 5) | Savitch 7.4 | ||
| Fri 9/28 |
15. Structs, Arrays of Structs, Databases | Savitch 10.1 | Individual Programming Assignment 2 due (softcopy before class of code and a sample report files) | ||
| Week 6 | |||||
| Mon 10/1 |
NO CLASS - FALL BREAK | ||||
| Weds 10/3 |
16. Practice Programming: Monty Hall, Arabic to Roman numerals | Monty Hall Problem from Dr. Math FAQ | |||
| Fri 10/5 |
17. Review | Crib Sheet (Week 5) Sample Exam |
Outline of nesting in checkers program + results of testing (describe problems found) Sample Outline | ||
| Week 7 | |||||
| Mon 10/8 |
Exam 1 in class | ||||
| Tues 10/9 |
LAB06: Arrays of structs and databases | ||||
| Weds 10/10 |
18. Functions | Savitch 4.1 - 4.3, 5.1 | |||
| Fri 10/12 |
19. Call By Value vs Call By Reference | Savitch 4.3 and 5.2-5.3 | |||
| Week 8 | |||||
| Mon 10/15 |
20. Call By Value and Call By Reference Revisited; | Savitch 5.4, 5.5 | Programming assignment 3 | ||
| Tues 10/16 |
LAB07: functions, passing parameters | ||||
| Weds 10/17 |
21. Application of Functions in Checkerboard Program | Savitch 4.4 and 5.3 | Turn in your choice for programming assignment 3. | ||
| Fri 10/19 |
22. Local and Global Variables Overloading Variables and function |
Savitch 4.5 and 4.6 | Exam Corrections due | ||
| Week 9 | |||||
| Mon 10/22 |
23. Character I/0 | Savitch 6.3 | Struct definition and list of function prototypes due for programming assignment 3. | ||
| Tues 10/23 |
LAB08: streams, file I/O | Weds 10/24 |
24. More Character I/O | Savitch 6.3 | |
| Fri 10/26 |
25. C strings vs C++ string, Array Parameters ( call by value and by reference) s | ANSI string class Using the string class |
Savitch 8.1 and 8.2 | ||
| Week 10 | |||||
| Mon 10/29 |
26. New crib sheet, pointers/dynamic arrays | Crib Sheet (Week 9) | Savitch 9.1 and 9.2 | Programming assignment 3 due before class. | |
| Tues 10/30 |
LAB09: cstring vs string, array overflow with cstring,gdb | ||||
| Weds 10/31 |
27. Prog3 solutions | ||||
| Fri 11/2 |
28. Structs vs classes ( Date class), Seperate Compilation | Savitch 10.1 and 10.2, 12.1 | |||
| Week 11 | |||||
| Mon 11/5 |
29. More on classes; Makefiles, Prog04 explained; Constructors/Destructors; Operators | Savitch 4.1, 10.2-10.3. 12.1 | Programming Assignment 4 out | ||
| Tues 11/6 |
LAB10: structs vs classes | ||||
| Weds 11/7 |
30. OurString class continued | Crib Sheet (Week 11) | Savitch 9.2 and 11.1-11.4 | Hardcopy in class: interview.cpp converted to have class with data members (can be public) and 3 function members ( askQuestions, printReport, friendRating); | |
| Fri 11/9 |
31. | ||||
| Week 12 | |||||
| Mon 11/12 |
32. Network I/O | Keith Vertanen's C++ Socket class | |||
| Tues 11/13 |
LAB11: Problems with default versions of constructors, destructors, etc. when doing dynamic memory allocation | ||||
| Weds 11/14 |
33. Review | Crib Sheet (Exam 2) | |||
| Fri 11/16 |
Exam 2 (tentative date) | ||||
| Week 13 | |||||
| Mon 11/19 |
34. Hacking Democracy | Testing Assignment due | |||
| Tues 11/20 |
LAB 12: Network I/O | ||||
| Weds 11/21 |
NO CLASS; HAPPY THANKSGIVING! |
||||
| Fri 11/23 |
NO CLASS; HAPPY THANKSGIVING! |
||||
| Week 14 | |||||
| Mon 11/26 |
35. Exam 2 solutions; | ||||
| Tues 11/27 |
LAB13: Hands-on programming | ||||
| Wed 11/28 |
36. Overview of Sample Electronic Voting code | Electronic Voting Design Doc due ( hardcopy in class) Optional: Put copies of your partially working code in your prog04 directory for extra credit. Optional: Hacking Democracy in the ITL at 9 PM | |||
| Fri 11/30 |
37. Computers and People; Human Computation | ||||
| Week 15 | 5B|||||
| Mon 12/3 |
38. Mythical Man Month revisited, Looking ahead to cs142 | ||||
| Tues 12/4 |
LAB14: Hands-on programming quiz | ||||
| Weds 12/5 |
39. Review for Exam | Crib Sheet (FINAL EXAM) | Programming assignment 4 due. | ||
| Fri 12/7 |
40.Programming assignment 4 solutions | Last day to submit Exam 2 corrections | |||
| Week 16 Finals | |||||
| Mon 12/10 |
Final Exam, 3:15-6:15, SC 160 |
|
|