Unix Operating System

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

CSU Computer Science information is found at the Basic Help Documents and CSU Computer Science Department Wiki pages.

A useful Linux command reference card is found here.

Eclipse Environment

CS161 will be using 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. As a default, it will be assumed that students use this version on CS Department Machines. Lab machines are currently using the Kepler version of Eclipse, which is version 4.3.1.

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.

Eclipse downloads are found here.

Java Programming

For this course, you need Java 8. Oracle provides a great many useful online resources for working with Java, most importantly, the Java API.

A fun way to trace the operation of your Java code is available online with this Java Visualizer from the University of Waterloo, Canada.

Here is a link to some very good video tutorials on using the debugger in Eclipse.

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.