CS 141
Introduction to Computer Science I
Fall 2007
MWF 10-11, SC 162
 
 

Warning: This schedule is tentative will change as the semester progresses!

5B
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
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

 
 
Questions? Contact Jeanna Matthews