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