CS120
Computer Science I - Sections 3-6

Spring 2016
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.

Windows users: once you have putty installed 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.

Apple users: open a terminal window and type username@wormulon.cs.uidaho.edu where username is your Vandal user name.

Short course videos.

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 1/13-1/15 Intro. to Computers and Programming Chapter 1 and 2 No lab this week.
Assignment 0 Assignment 1
Lab 1
Course intro. Programs and exectuables. Compilers and text editors. Output.

Code for the Hello, World program
Code for the Fortune Teller program
2 1/18-1/22 Variables and I/O Chapter 2 Lab 2
Assignment 2
No classes Monday 1/18

Variables, basic I/O, conditionals, Boolean logic. Mathematical expressions: =, +, -, *, /, ++, --, +=, -=, ... Casts.
Code for the NIM program
cyberduck was recommended by other CS faculty as an Apple friendly version of WinSCP.
3 1/25-1/29 Loops. Chapter 3 Lab 3
Assignment 3
Conditionals: if; loops; Boolean logic.
4 2/1-2/5 More Loops. Interlude 1, Chapter 3 Assignment 4
Lab 4
Loops, while, do-while.
Guessing game code
Calculator code
5 2/8-2/12 Functions, scope. Chapter 4 Assignment 5
Lab 5
For loop. Functions: arguments and return values and scope. Switch statement.
Sample adventure game code
6 2/15-2/19 Testing and Classes Interlude 2 and Chapter 5 Assignment 6
Lab 6
No classes Monday 2/15
Testing, classes, objects, data members, member functions, dot notation.
Fraction code
actor code
Pet code
7 2/22-2/26 More Classes Chapter 5 Assignment 7
Lab 7
First Exam, Monday Feb. 29th (moved to avoid Jazz Fest)
No class, Friday Feb. 26th, exam review on Wednesday.
Sample Exam
Public, private, data members, member functions.
8 2/29-3/4 More classes Interlude 3, Chapter 5 Lab 8
Assignment 8
Pass-by-reference
9 3/7-3/11 Arrays and pass-by-reference Chapter 6 Arrays, array bounds, pass-by-reference sample RPS opponent code
10 3/14-3/18 Spring Break Lab 9
Assignment 9
board game
game file
11 3/21-3/25 Arrays, pass-by-reference Chapter 6 Assignment 10
Lab 10
Passing arrays to functions, binary, hexidecimal.
12 3/28-4/1 C versus C++ Interlude 4 Assignment 11
Lab 11
C structures, C style strings, C I/O.
robotworld.cpp
robot.h
world.h
13 4/4-4/8 Pointers Chapter 7 Assignment 12
Lab 12
Sample Exam 2
Pointers, memory.
14 4/11-4/15 More Pointers Chapter 7 Assignment 13
Lab 13
Second Exam, Friday April 15th
New, delete
Files for the linked list lab and assignments. Note, as discussed in the text this will not run as is. Two small changes are need to the robot class defined in robot.h.
main.cpp
linkedlist.h
node.h
robot.h
15 4/18-4/22 Linked lists and recursion Chapter 8 Assignment 14
Lab 14
Linked lists and recursion
16 4/25-4/29 Command line arguments, searching and sorting Interlude 6 Assignment 15
Lab 15
int main(int argc, char *argv[]);, searching and sorting
17 4/2-4/6 Algorithm Efficiency Sample Final
18 4/9-4/13 Final Exams