CS 141
Introduction to Computer Science I
 
 

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

Date Lecture Topic Lecture Resources Notes/Assignments
Week 1
Fri
1/13
Welcome, Computer Science As a Career, Overview of Course Logistics In Class Exercise (How many 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
code.org
What Most Schools Don't Teach
5th Happiest Job and the 9th
Most important skill of 21st century
Why are English majors studying computer science
Why Aren't Schools Teaching More Computer Science?
Top starting salaries
Week 2
Mon
1/16
A First Program:Hours Per Month, Basic Template, What to Do/What Not To Do, Joys and Woes of the Craft Check out Feb 1900 and Feb 2000
Tues
1/17
LAB01: Local vs Remote computers, Linux environment, command line and file system Step by Step Hints for Using pscp
Weds
1/18
Logging into polaris (make a directory for cs 141, use wget)
Introduction to Data Representation, Native Types, Variables, Int vs Unsigned Int, Float vs Double

Crib Sheet (Week 1)
Fri
1/20
Variable Declarations With and Without Initialization, Simple arithmetic Expressions and assignment statements, Size of Variables, Overflow of Ints and Unsigned Ints
Week 3
Mon
1/23
Arithmetic expressions, Rounding errors, Conversions,Simple input/output Crib Sheet (Week 2) Programming Assignment 0
Tues
1/24
LAB02: g++ and dealing with compiler errors, editor practice basicTemplate.cpp
Weds
1/25
Boolean Expressions, Compare Operators, Introduction to If statements, If-else, If-elseif-else
Fri
1/27
Switch, Programming Practice With cin Hints for C++ I/0 Programming Assignment 0 due by 4 pm
Week 4
Mon
1/30
Enums, Const, Programming Practice Input, Start convertTemp Programming Assignment 1
Tues
1/31
LAB03: variables, assignment statements and ifs
Weds
2/1
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
Crib Sheet (Week 3)
Fri
2/3
do-while loops, while-do loops
Week 5
Mon
2/6
for loops, arrays, Command Line Parameters Crib Sheet (Week 4)
Tues
2/7
LAB04: while loops and input validation, Step through loops in a debugger
Weds
2/8
More loops
Fri
2/10
Practice common loop types C++ reference
Week 6
Mon
2/13
A bit more difficult loops Crib Sheet (Week 5)
C++ reference
Rules of Checkers
Programming Assignment #1 Due By 6 pm (copy files to ~/cs141/prog1)
Tues
2/14
LAB05: for loops and arrays
Weds
2/15
Multidimensional arrays and argc/argv
Nested For Loops, Checkerboard/Checkers
Fri
2/17
Review for Exam Crib Sheet (Week 5)
Sample Exam
Solutions
Week 7
Mon
2/20
In class Exam in Science Center 160
Tues
2/21
LAB06: File I/O
Weds
2/22
File I/O
Programming Assignment 2
Fri
2/24
Februrary break
Week 8
Mon
2/27
Functions, Parameters, Prototypes, Implementations and Function Calls
Weds
3/1
More Functions
Exit/return/break/continue
Crib Sheet (Week 7)
Fri
3/3
More Functions, Call By Value and Call By Reference (Array and Non-Array parameters), Call by Reference vs Return Values
Week 9
Mon
3/6
Call by Value/Call By Reference for arrays
Return values vs call by reference parameters
Crib Sheet (Week 8)
Tues
3/7
LAB07: functions, passing parameters
Weds
3/8
Designing functions, Pre and post conditions
Use of assert
Prog 2 due (5 pm)
Fri
3/10
Local and Global Variables
Week 10
Mon
3/13
Characters vs Character Arrays vs C strings vs. C++ strings,C++ string API
Character I/O Pointers, Dynamic arrays, Review: Array Parameters ( call by value and by reference)
Crib Sheet (Week 9)
Using the string class
Tues
3/14
LAB08: streams, file I/O, character I/O
Weds
3/15
Dynamic Memory Allocation Programming assignment 3 out
Fri
3/17
Overloading Variables and function
Assert
Monty Hall Problem from Dr. Math FAQ
Week 11 SPRING BREAK
Week 12
Mon
3/27

Exam review
Crib Sheet (Test 2) (Focus on material from FUNCTIONS on)
Focus on programs in directories 10-14 in prog directory
Tues
3/28
LAB09: cstring vs string, array overflow with cstring,gdb
Weds
3/29
Scope of variables revisted with address operator Crib Sheet (Week 10)
Fri
3/31
Exam #2 during class time in Science Center 166
Week 13
Mon
4/3
Basic structs
Tues
4/4
LAB10: structs vs classes, arrays of structs/classes, databases
Weds
4/5
structs, c vs C++ structs, array of structs and databases, prog0 conversion Programming assignment 3 due by 4 PM
Prog 4 out
Fri
4/7
High level overview of classes: Public/private
makefiles
.h and .cpp files

Week 14
Mon
4/10
Accessors/Mutators Public/private, accessors/mutators, friends
Tues
4/11
LAB11: Private vs. Public, Friends
Weds
4/12
Fri
4/14
Constructors/destructors, function overloading, OurString classs c for C++ programmers
Week 15
Mon
4/17
Big Three, Implementing operators
Tues
4/18
LAB12: Hands-on programming quiz
Weds
4/19
Straight C; nano Tutorial
Fri
4/21
Week 16
Mon
4/24
Real World Programming, Battleship program Mozilla Cross-Reference
Mozilla on OpenHub
Nano source code
Open Office Source
Linux Cross-Reference


Mozilla Developer Guide
Mozilla source code directories overview
Tues
4/25
A little bit of SQL
Weds
4/26
Looking ahead to cs142, Mythical Man Month revisited Alexis Maciel's Cs 142 notes
Code.org Inspire
Code.org Quotes
Fri
4/28
Review for Final Crib Sheet (FINAL EXAM), A few sample header files: forFile_sample1.h and forFile_sample2.h
Week 17: FINAL EXAMS
TBA
Final exam

 
 
Questions? Contact Jeanna Matthews