CS120
Computer Science I

Fall 2017
Schedule

Note that the due date for Assignment 11 has been extended to next Friday.

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://www.uidaho.edu/infrastructure/its/services/software/its-tools , 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. For Apple users open a terminal window and type username@wormulon.cs.uidaho.edu where username is your Vandal user name.

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

To submit hardcopy you will need to move assignments from wormulon (the CS department's computer) to your local computer. On a Windows machine the program WinSCP (available through ITS http://www.uidaho.edu/infrastructure/its/services/software/its-tools ) can be used to transfer files to your computer to be printed. On an Apple machine cyberduck is used instead of WinSCP.

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.

A number of short videos on topics covered in this course are available at: www2.cs.uidaho.edu/~tsoule/CS120Videos/video_list.html

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

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

Sections 1 and 2 (only) will not have a lecture on Monday August 21st.
hello_1.cpp Hello, World code using cout.
hello_2.cpp Hello, World code using printf().
2 8/28-9/1 Variables and I/O Chapter 2 Lab 2
Assignment 2

Variables, basic I/O, conditionals, Boolean logic. Mathematical expressions: =, +, -, *, /, ++, --, +=, -=, ... Casts.
fortune.cpp the fortune teller program.
3 9/4-9/8 Loops. Chapter 3 Lab 3
Assignment 3
No class Monday Sept. 4th Conditionals: if; loops; Boolean logic.
List of C++ operators.
calculator1.cpp the first calculator program.
nim.cpp the game of NIM.
4 9/11-9/15 More Loops. Interlude 1, Chapter 3 Lab 4
Assignment 4
Loops, while, do-while.
calc.cpp the second calculator program (for lab4).
5 9/18-9/22 Functions, scope. Chapter 4 Lab 5
Assignment 5
For loop. Functions: arguments and return values and scope. Switch statement. Structures
adventure.cpp an initial adventure game with two rooms.
struct.cpp a sample structure with some associated functions.
6 9/25-9/29 Testing and Classes Interlude 2 and Chapter 5 Lab 6
First Midtem Exam, Friday Sept. 29th
Page with old exams.
Testing, classes, objects, data members, member functions, dot notation.
pet.cpp
7 10/2-10/6 More Classes Chapter 5 Lab 7
Assignment 7 (There was no assignment 6.)
Public, private; opening, reading, and writing files.
8 10/9-10/13 Software design; arrays, binary Interlude 3, Chapter 5 Lab 8
Assignment 8
Design, top-down, bottom-up. Arrays, array bounds, binary and hexidecimal. genericgame.cpp the Generic Board Game code.
game.txt the game file to go with the Generic Board Game code.
9 10/16-10/20 Arrays and pass-by-reference Chapter 6 Lab 9
Assignment 9
Arrays, array bounds, pass-by-reference
10 10/23-10/27 Pointers Chapter 6 Lab 10
Assignment 10
Pointers and memory
11 10/30-11/3 Pointers Chapter 6 Lab 11
Assignment 11
Second Midterm Exam, Wednesday, Nov. 8th
Page with old exams.
life.cpp simple, almost complete, version of the game of life.
12 11/6-11/10 Pointers Interlude 4 Lab 12
Pointers, memory. C style strings, C I/O.
13 11/13-11/17 More Pointers Chapter 8 Lab 13
Assignment 13
New, delete
linked.cpp simple, version of a linked list
11/20-11/24 Fall Break
14 11/27-12/1 Linked lists and recursion Chapter 8 Lab 14 - not to be turned in, just practice.
Linked lists and recursion
15 12/4-12/8 Command line arguments Interlude 6 int main(int argc, char *argv[]);
16 12/11-12/15 Final Exams We are having a common final exam (all sections) Monday, December 11th, 7-9pm, JEB104.