Linux Operating System

The Computer Science Department maintains some useful general help information for students new to using Linux, and about using Putty or SSH to connect to department Linux systems from Windows computers:

CSU Computer Science information is found here.

A useful Linux command reference card is found here.

A couple of Linux tutorials for learning command line are found at and

Eclipse Environment

CS160 uses the Eclipse Integrated Development Environment (IDE) for developing Java code. Eclipse is favored as a premier tool in academia and industry. A standard installation of Eclipse is available on all CS Department Linux computers for use by CS160 students. As a default, it will be assumed that students use this version on CS Department Machines. Basics of how to use the Eclipse IDE productively will be covered somewhat in lecture and more extensively in course recitations. Lab machines are currently using the Luna version of Eclipse, which is version 4.3. Eclipse documentation is found here.

Eclipse can also be downloaded for free and installed on most platforms. Eclipse is written entirely in Java, so it will operate properly on most any platforms that supports Java. This includes Linux, Solaris, Mac OS X and properly configured Windows platforms. It is assumed that many students will find it possible to install and use Eclipse on their own computers, and the instructor and GTAs will try to help informally. However, successful installation and use of tools such as Eclipse on your own machine demands some understanding of how to install and use new software on that platform, and ultimately it falls to the individual student to either succeed at such an effort or to use the resources already provided by the CS Department. The help that can be offered by the instructor and GTAs is by necessity limited.

If you decide to run Eclipse on your system, make sure you download and install the Java Development Kit (JDK) first from here. The current version of Java on department systems is 1.8 (Version 8), but 1.7 (Version 7) will also work for all coursework. After installing Java, download and install Eclipse from here. Select the version called Eclipse IDE for Java Developers. In both cases make sure you select the correct operating system.

Java Programming

Oracle provides a great many useful online resources for working with Java, including the documentation referenced below. We will explain how to use this documentation in class and recitations.

Java documentation is found here.

An excellent tutorial on Java is found here.

If you want more practice writing Java, there is an interactive tutorial here.

An excellent summary on System.out.printf is found here.

Peer Instruction

Peer instruction sessions are held during lectures, generally on Fridays. The format will be described in detail at the time of each session, but it generally consists of each student answering questions individually and in a group. The premise is that groups perform better than individuals! We organize peer session by assigning students to groups.

Peer instruction groups are found here.

iClicker Registration

Register your iClicker on Canvas, in the tab on the course web page. In the iClicker ID field, enter your remote ID and select the Register button. The remote ID is the number found on the back of your iClicker remote. If you cannot read the ID on your iClicker, there is a kiosk in the bookstore where you can retrieve it. Here is a list of iClickers that appear not to be registered. If your iClicker is on this list, please try to register again, then send me email:

Unregistered Remotes:
  • 3A8C1AAC
  • 3B758AC4
  • 3D57167C
  • 8890746C

Other useful tools...

- Questions to almost any Java question you can think of can be found here.

- Stack Overflow is great for finding a variety of answers to your question from people with ranges of expertise levels, found here, or by adding "stackoverflow" to your Google search.

- w3schools is great for web-development related languages and resources, found here.

- Microsoft software can be downloaded by students for a reduced price through the Dream Spark program, found here.

- The chart we distributed in class containing ASCII codes is found here.

Discrete Math

A list of Logical Equivalences and Inference Rules is found here.

Study Guides

Here is the first study guide questions and answers for the exam on Thursday July 7.

Here is the review powerpoint from the July 6 lecture. PDF Version and Powerpoint version (answers in the notes section under each slide

Here is the final study guide Study Guide and Written Practice Exam, the answers to the Written Practice Exam, Practice Programming Exam, the input file, and the answers to the practice programming practice.

Here is the study session powerpoint slides and PDF from 8/3 lecture.

Recorded Lectures

Effective today we have started to record lectures. Sorry for the missing audio from today, that was caused by me not using the correct microphone. I have posted the lecture from today anyway, and the audio will be fixed starting tomorrow. The links for the recordings are below: