CS120
Computer Science I - Sections 1-3 and 7

Fall 2014
Schedule

Initially labs and assignments will be submitted as hard copy (pay attention to exactly what needs to be turned in).

To log into the CS department machines you need to use a remote client program. For Windows users they are available from ITS at http://support.uidaho.edu/software/ , scroll down to the ITS Tools and follow the directions/links to install putty. If you are using a Mac a remote client program, SSH, is already installed so you don't need to install anything.

Once you have putty installed (or are on an Apple) log in using the address wormulon.cs.uidaho.edu (not unix.uidaho.edu - that's the University's Unix machine, which you can access with permission, but won't be used for this course). Use your Vandal Username and password to log in.

Here is a short manual covering the basic Unix commands, Nano (a simple text editor), and a few other useful topics.

http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html link to an emacs tutorial. emacs is a much more powerful, but more complex, text editor than nano.

Note that this schedule is a guide and may vary as the semester proceeds.

Week Dates TopicChaptersAssignmentComments and Topics
1 8/25-8/29 Intro. to Computers and Programming Chapter 1 and 2 No lab this week.
Assignment 1
Course intro. Programs and exectuables. Compilers and text editors. Output.

Code for the Hello, World program
Code for the Fortune Teller program
2 9/1-9/5 Variables and I/O Chapter 2 Lab 1
Assignment 2
No class Monday Sept. 1st
Variables, basic I/O, conditionals, Boolean logic. Mathematical expressions: =, +, -, *, /, ++, --, +=, -=, ... Casts.
3 9/8-9/12 Loops. Chapter 3 Lab 2
Conditionals: if; loops; Boolean logic.
Code for NIM
4 9/15-9/19 More Loops. Interlude 1, Chapter 3 Assignment 3
Lab 3
Loops, while, do-while.
Guessing game code
5 9/22-9/26 Functions, scope. Chapter 4 Lab 4
Assignment 4
For loop. Functions: arguments and return values and scope. Switch statement.
Calculator code
6 9/29-10/3 Testing and Classes Interlude 2 and Chapter 5 Lab 5
Assignment 5
First midterm exam, Friday Oct. 3rd
Sample Exam
Testing, classes, objects, data members, member functions, dot notation.
7 10/6-10/10 More Classes Chapter 5 Lab 6
Assignment 6
Pet program.
Public, private; opening, reading, and writing files.
8 10/13-10/17 Software design; arrays, classes Interlude 3, Chapter 5 Lab 7
Assignment 7
Design, top-down, bottom-up. Arrays, array bounds, pass-by-reference.
9 10/20-10/24 Arrays and pass-by-reference Chapter 6 Lab 8
Assignment 8
Arrays, array bounds, pass-by-reference
game.cpp, game.txt,
10 10/27-10/31 Arrays, pass-by-reference, binary and hexidecimal Chapter 6 Lab 9
Announcement: Assignment 9 has been expanded and the deadline extended until Monday, Nov. 10th.
Passing arrays to functions, binary, hexidecimal. 2D arrays.
CursWin.cpp, CursWin.h,
curstest.cpp to compile use:
g++ curstest.cpp CursWin.cpp -lcurses
twoDarrays.cpp
life.cpp
life1.txt life2.txt
11 11/3-11/7 C versus C++ Interlude 4 Lab 10
C structures, C style strings, C I/O.
12 11/11-11/15 Pointers Chapter 6 Lab 11
No assignment this week.
Exam 2, Friday, Nov. 14th
Pointers, memory.
13 11/17-11/21 More Pointers Chapter 6 Lab 12
Assignment 10
New, delete
11/24-11/28 Fall Break
14 12/2-12/6 Linked lists and recursion Chapter 7 Lab 13
Assignment 11
Linked lists and recursion
ll.cpp
15 12/9-12/13 Command line arguments, searching and sorting Interlude 6 Lab 14
Assignment 12 Do not turn in, just for practice.
int main(int argc, char *argv[]);, searching and sorting
16 12/16-12/20 Final Exam Please fill out the on-line course evaluations. Feedback on the text is particularly welcome. Common final is in JEB 104, Monday Dec. 15th. 7-9pm.