CS 201 - Homework 0 - Unix and Java warm-up
Due: Wednesday 2/13 at 8am
This homework will introduce you to our computer lab, some basic Unix
commands, a text editor like Atom (or Emacs or vim), how to compile a
simple "Hello World" application in Java, and how to submit your code
via the course submission script. Each student must complete this
homework individually, but you can get as much help as you want,
either from other students, or from the lab tutors. Check the course
web site for tutor hours.
We recommend that you try to work on our lab machines for HW 0, even
if you're planning to work on your own laptop for the rest of the
course. But if you want, you can also try to get everything working
on your laptop (see below).
Congratulations! You are now ready to write and compile your own
Java programs for this course.
- Go to the MBH 632 lab and familiarize yourself with the Linux
machines. Log in with your usual username and password. (If you
cannot log in, see section below.)
Once logged in, move the mouse
in the upper-left corner to start applications. Two important ones
are near the top of the list: "Terminal" and "Web browser". You can
also find them in the "dock" at the bottom of the screen, or by
right-clicking on the desktop. In the dock (or via Alt-F3) you get
the "Application Finder", with which you can search for other
applications such as Atom or Emacs. Spend some time exploring the
interface, and try to figure out how to start a web browser and the
file browswer. If confused, ask other students or the lab tutors.
- Go through the CS 201 Unix
tutorial. This will teach you how to use basic Unix commands.
Identify the function of and experiment with these Unix Commands:
ls cd cp mv rm mkdir pwd
man history cat more grep head tail
Learn these commands -- you will use them often.
- Make a directory cs201 in your Unix account for CS 201
work. Use the Unix command "chmod go-rwx cs201" to make this
directory accessible only by you.
- Make a subdirectory
hw0 in this new directory.
- Familiarize yourself with the text editor
Atom. You can start Atom from the command line
and supply the name of the file you'd like to edit (even if it doesn't exist yet).
- (Optional, if you have extra time at your hands)
Go through the CS 201 Emacs
tutorial. This will teach you how to edit files with Emacs.
Identify the function of and experiment with these Emacs Commands:
C-x C-s C-x C-c C-x C-f C-x C-w C-g C-a C-e
C-d C-_ C-v M-v C-s C-r M-%
Note that we don't require you to use
You are welcome to use any editor you want, and most likely Atom
(which is installed in the lab) or
Sublime Text (another popular choice)
will be much easier to learn. Later in the semester we will switch
to Eclipse, an integrated development environment for editing and
compiling code. However, as a computer scientist, it is very useful
to know at least one editor that is purely text-based, and doesn't
require a mouse, so you can modify files when you are logged into a
server via SSH or Putty. Emacs is one popular choice; another is vi/vim. In both case you will need to
learn all the control sequences, but it is worth it!
(For some fun, survey the CS faculty what editors they use. Be
prepared for some strong opinions. If you ask me,
real programmers use emacs :)
- As described in the Unix tutorial, copy the file
into your hw0 directory,
compile it, and run it. Then, edit it to add your name in a comment
at the top, and change the program so it prints something different.
Recompile, and run it again.
Submit your program Hello.java using the
HW 0 submission page. Be
sure to submit the source code (the .java) file, not the compiled
code (the .class file). Pay close attention to the output of the submission
script, and make sure that it reports "Success".
If you get an error when trying to submit (e.g. "invalid username"),
please send me an email and include the error message.
If you cannot login to the lab computers
- If you just added the course, it takes 24h until our server knows about it.
- Otherwise, send email to firstname.lastname@example.org
(do this for any trouble you encounter with our lab computers -- but
not for question about HW!)
If you want to work on your own computer
If you cannot login to the lab computers, or if you're adventurous,
you can try to work on your own computer. This will likely involve
installing the Java SDK and an editor. Note that we will only provide
limited support for this option for now, and
more detailed instructions will be added later. If you're up for it, try the
- On a Mac, open a terminal window; on a PC, open the Powershell.
Both will give you a Unix prompt or something very similar (though on
Windows you'll have to type backslashes \ instead of forward slashes
- Type "javac -version" to see if you
have java installed already. If it prints a version number starting
with 1.8 you are all set, and can skip to step 4. If you get a higher
number it would be a good idea to uninstall this version of Java first.
(The latest version of Java is NOT compatible with some of the software we will
be using in this course.)
- Download and install the JDK 8 from the
Java SE Development Kit 8 Downloads page. Click on "Accept License Agreement" and
download the appropriate file for your computer (Mac OS X x64 or Windows x64).
Follow the instructions
there and all should be well. Open a new terminal window and repeat
step 1 to check that it worked. On Windows, you will likely have to
path as well to add the folder where javac can be found,
(something like C:\Program Files\Java\jdk1.8.0_201\bin ).
- Install a text editor, e.g.,
- Follow the lab instructions above to create a cs201/hw0/
folder from your Terminal, for instance on the Desktop or in your
Documents folder (use "cd" to navigate there first).
- Save the file Hello.java in the
folder you created.
- Complete the lab (steps 7 and 8 above). Use the text editor you
installed to edit the file. Note that you cannot access any of the
files starting with ~schar/ since they reside on our server.