CS 141
Introduction to Computer Science I
Fall 2011
MW 5-6:15, SC 162
 
 

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

Date Lecture Topic Lecture Resources Reading Notes/Assignments
Week 1
Mon
8/29
Welcome, Computer Science As a Career, Overview of Course Logistics, In Class Exercise (How many hours per month?), Joys and Woes of the Craft, A First Program:Hours Per Month Consider a Career in Computer Science!
Bureau of Labor Statistics Occupational Outlook Handbook
Fastest growing occupations
Money Magazine's Best Jobs A Bachelors Degree in Computer Science would prepare you for the #1 Best Job
Money Magazine's Best Jobs 2006
Savitch 1.1-1.3
Tues
8/30
LAB01: Local vs Remote computers, Linux environment, command line and file system Step by Step Hints for Using pscp
Weds
8/31
Edit/Compile/Run, Basic Template, Introduction to Data Representation, Native Types, Variables, Declarations Check out Feb 1900 and Feb 2000
Crib Sheet (Week 1)
Savitch 1.4, 2.1 - 2.3, 2.5
Week 2
Mon
9/5
Arithmetic Expressions and assignment statements, More declarations, Edge cases (overflows, rounding errors, conversions), Float vs Double, Size of variables, Simple input/output Savitch 2.1-2.3 HW 1: Modeling assignment due in hard copy
Tues
9/6
LAB02: g++ and dealing with compiler errors basicTemplate.cpp
Weds
9/7
Simple input/output, Introduction to If statements, If-else, If-elseif-else, Boolean Expressions, Compare Operators, Crib Sheet (Week 2) Savitch 2.4, 3.1
Week 3
Mon
9/12
More on If statements, Programming Practice, Helpful I/O information Hints for C++ I/0 Savitch 2.4, 3.1-3.2 First Individual Programming Assignment Given
Tues
9/13
LAB03: variables, assignment statements and ifs HW 2 due (Copy into /afs/cu/class/cs141/students/YOUR_USERNAME/hw02)
Weds
9/14
Software Development Process/Software Lifecycle; Program (convertTemp with enums), Simple Design Document, Software Lifecycle
Program to determine the line through 2 points
Beware testing equality of doubles,
Enums
Crib Sheet (Week 3) Savitch 1.2, 1.4
Week 4
Mon
9/19
Testing, do-while loops, while-do loops Savitch 1.4, 3.3-3.4
Tues
9/20
LAB04: while loops and input validation, Step through loops in a debugger First Programming Assignment Due By 5 pm (copy files to /afs/cu/class/cs141/students/YOUR_USERNAME/prog01/)
Weds
9/21
for loops, arrays, Command Line Parameters Crib Sheet (Week 4) Savitch 6
Week 5
Mon
9/26
simple file I/O C++ reference Savitch 7.1, 7.4 Programming Assignment 2 Given (Due Friday 10/7)
Tues
9/27
LAB05: for loops and arrays
Weds
9/28
Nesting, Multidimensional Arrays, Nested For Loops, Checkerboard/Checkers Crib Sheet (Week 5)
C++ reference
Rules of Checkers
Savitch 7.4
Week 6
Mon
10/3
NO CLASS - FALL BREAK
Weds
10/5
Review for Exam, Practice Programming: Arabic to Roman numeral Crib Sheet (Week 5)
Sample Exam
Solutions
Fri
10/7
Programming Assignment 2 Due By 5 pm (copy files to /afs/cu/class/cs141/students/YOUR_USERNAME/prog02/)
Week 7
Mon
10/10
Exam 1 in class
Tues
10/11
LAB06: Outline of the checkerboard program, simple functions, code editors with highlighting and code collapsing/folding Sample Outline
Weds
10/12
Functions, Parameters, Prototypes, Implementations and Function Calls Crib Sheet (Week 7)
Savitch 4.1 - 4.3, 5.1-5.3
Week 8
Mon
10/17
Call By Value and Call By Reference (Array and Non-Array parameters), Call by Reference vs Return Values Savitch 5.4, 5.5 Monty Hall Problem from Dr. Math FAQ
Programming assignment 3 out
Tues
10/18
LAB07: functions, passing parameters
Weds
10/19
Designing functions, Pre and post conditions
Local and Global Variables
Overloading Variables and function
Exit/return/break/continue
Crib Sheet (Week 8) Savitch 4.4-4.6 and 5.3 HW 4: Monty Hall plan due (hardcopy)
Week 9
Mon
10/24
Review; Characters vs Character Arrays vs C strings vs. C++ strings, Character I/O Savitch 6.3, 8.1, 8.2
Tues
10/25
LAB08: streams, file I/O, character I/O HW3: Exam Corrections due in hardcopy in lab
Weds
10/26
Pointers, Dynamic arrays, Review: Array Parameters ( call by value and by reference) Crib Sheet (Week 9)
Using the string class
Savitch 9.1 and 9.2
Week 10
Mon
10/31
Structs, Arrays of Structs, Databases, Programming assignment 4 discussion/hints Savitch 10.1
Tues
11/1
LAB09: cstring vs string, array overflow with cstring,gdb
Weds
11/2
Dynamic Memory Allocation, Assert Crib Sheet (Week 10) Savitch 5.5 Programming assignment 3 due by 10 pm
Week 11
Mon
11/7
Programming Assignment 4, Structs vs classes, Simple Classes Savitch 10.1 and 10.2 Programming assignment 4 out
Tues
11/8
LAB10: structs vs classes, arrays of structs/classes, databases
Weds
11/9
Multiple Source files, Makefiles, Public/private, Accessors/Mutators, Friend Functions Savitch 10.2-10.3, 11.2, 12.1 HW5: Questions about bigNumbers_base.cpp (hardcopy in class)
Fri
11/11
Any late work due by 5 pm! Put files is /afs/cu/class/cs141/students/YOURNAME/late and send email with a detailed list of which assignments you are submitting, which files go with which assignments, etc. Email to Vido and cc Jeanna.
Week 12
Mon
11/14
Public/private, accessors/mutators, friends Quiz in-class
Tues
11/15
LAB11: Private vs. Public, Friends
Weds
11/16
Review Crib Sheet (Week 10)
Game show slides
Programming Assignment 5: Option1: Madlibs or Option2: Battleship or propose your own games
Fri
11/18
Programming Assignment 4 due
Week 13
Mon
11/21
Exam 2
Tues
11/22
LAB12: Hands-on programming review
Weds
11/23
NO CLASS; HAPPY THANKSGIVING!
Week 14
Mon
11/28
Programming Assignment 5 Hints, Our Own String Class, Constructors/Destructors, Function Overloading, Operator Overloading, Big Three Must submit which project you are doing for prog05 and who you are working with if applicable
Tues
11/29
LAB13: Problems with default versions of constructors, destructors, etc. when doing dynamic memory allocation
Weds
11/30
Our Own String Class continued, Big Three
Week 15
Mon
12/5
Classes review/Anatomy of a Class, Straight C, Real code, Looking ahead to cs142, Mythical Man Month revisited c for C++ programmers
Mozilla Cross-Reference
Mozilla Developer Guide
Mozilla source code directories overview
Nano source code
Linux Cross-Reference
Open Office Source
Alexis Maciel's Cs 142 notes
Exam 2 corrections due in hardcopy
Tues
12/6
LAB14:Hands-on programming quiz
Weds
12/7
Review for Final Crib Sheet (FINAL EXAM), A few sample header files: forFile_sample1.h and forFile_sample2.h Bring your corrected exams 1 and 2 to class
Fri
12/9
Programming Assignment 5 due by 5 pm
Week 16: FINAL EXAMS
Thurs
12/15
FINAL EXAM 3:15-6:15 PM in SC 160

 
 
Questions? Contact Jeanna Matthews