CS120 - Computer Science I

Instructor: Bob Rinker
Office: JEB 235
Email: rinker@cs.uidaho.edu
Office Hours: 3:30 M, 12:30 TW, 11:30 Th
Phone: (208)885-7378
A picture of my schedule is available here

Lab Instructors: TBD
Office: TBD


Please feel free to see any instructor or lab instructor if you have a question about the class or a problem with an assignment or lab.

Catalog Description:

CS 120 Computer Science I (4 cr). Fundamental programming constructs, Algorithms and problem-solving, Fundamental data structures, Overview of programming languages, Virtual machines, Introduction to language translation, Declarations and types, Abstraction mechanisms, Object-oriented programming. Three lec and one 2-hr lab a wk. Prereq: Math 108 or sufficiently high ACT, SAT, or Math Placement Test score to qualify for Math 143.
Syllabus: Downloadable from here (ps or pdf).


.

Grading:

Your grade will be calculated using the following percentages:
Two mid-semester exams 30%
Final exam (comprehensive) 20%
Quizzes 15%
Programming assignments 15%
Labs 20%
Total 100%

The letter grade you receive from the course will be determined as follows:
90%-100%A
89.9%-80%B
79.9%-70%C
69.9%-60%D
Below 60%F
The instructor reserves the right to adjust these percentages lower if deemed necessary.
Announcements:

Any class announcements will be posted here.

Assignments:

- Assignment #1 here.
- Assignment #2 here.
- Assignment #3 here. The nim program is available here
- Assignment #4 here.
- Assignment #5 here. The calculator program is available here
- Assignment #6 here.
- Assignment #7 here.
- Assignment #8 here . You can use the following links to download game.cpp and game.txt
- Assignment #9 here
The CursWin files: CursWin.cpp and CursWin.h
The next assignment will be to modify the Game of Life so that the initial game is loaded from a file, rather than filled randomly. You do not have to turn in your Game of Life program this week, but will need to turn it in next monday, with the added feature.
- Assignment #10 here
- Assignment #11 here
- Assignment #12 - the Last one! This assignment is for practice only - it doesn't need to be turned in. here

Labs:

You will need an "SSH client" (program) to access wormulon.cs.uidaho.edu, which is the CS Department's Linux server. A program named PuTTY is recommended for Windows; On the Mac, the terminal.app can be used. On linux, you can use a shell.

- Lab 1 - here.
- Lab 2 - here.
- Lab 3 - here.
- Lab 4 - here.
- Lab 5 - here.
- Lab 6 - here.
- Lab 7 - here.
- Lab 8 - here.
- Lab 9 - here.
- Lab 10 - here.
- Lab 11 - here.
- Lab 12 - here.
- Lab 13 - here.
- Lab 14 - here.


Links to other useful information:

Slides on general C++ concepts and features, arithmetic ( pdf or ps )
Slides on C/C++ compilation process ( pdf or ps )
Slides on C++ decision statements (if, switch) ( pdf or ps )
Slides on C++ control statements ( pdf or ps )
Slides on C++ looping statements (while, do-while, for) ( pdf or ps )
Slides on C++ functions ( pdf or ps )
Slides on C++ arrays ( pdf or ps )
Slides on C++ Two-dimensional arrays ( pdf or ps )
The example program we discussed in class is available here

Slides on C++ structs ( pdf or ps )
Slides on C++ Classes ( pdf or ps )
Slides on the C++ String Class ( pdf or ps )
Slides on C++ files ( pdf or ps )
Slides on binary arithmetic ( pdf or ps )
Slides on floating point format ( pdf or ps )
Slides on pointers ( pdf or ps )
Slides on dynamic memory ( pdf or ps )


Slides on linked lists ( pdf or ps )
Slides on recursion pdf or ps )
Slides on searching ( pdf or ps )
Code for a couple of versions of the binary search is available here
Slides on sorting ( get df or ps )
Code for several of the sorts is available here

Review sheet for the final is available here.
Some questions on topics we have covered since the last test are available here.
Some example test questions for the final are available here

A decent vi editor Cheat Sheet (pdf or ps)

Unix tutorial (from the University of Edinburgh) here.
CSAC schedule: TBD



Last updated Tuesday, December 8, 2014