CS 111 - Introduction to Computer Science
Homework #1

Due: Monday 1/30 at the beginning of class. We will go through the submission process together in class on Monday.  Make sure you have your complete README file, Hello.java, and HelloMe.java files together in the same directory beforehand.

NOTE: For each assignment, you should submit not only the requested program files, but also a simple text file called READMEREADME files are often used by programmers to comment on the contents of a directory or give vital information.  Please make sure this plain text file is named "README", not "README.txt", "readme", "ReadMe.txt", "Read me.doc", etc.  For each assignment, your README file will contain:

  1. Read Chapter 1.
  2. Do the bash tutorial ("Getting started with bash at Gettysburg"), ignoring the part on "cvs" submission.  Do the tutorial in one sitting so that you'll be able to submit a transcript of your shell commands.  NOTE: Following all instructions will create a README file with evidence of your work, or add such evidence to one if you've already created it.
  3. In class on Friday, we'll do the Eclipse Hello World Tutorial together.  You'll be submitting the Java file "Hello.java" you create according to these instructions.  If you follow the tutorial instructions, you will find this file in your "hw1" directory within your "workspace" directory.  The more you know of your work environment, the more efficient you will be.  A little time spent above and beyond these tutorials will likely pay off significantly in the long run as a CS major/minor. 
  4. Create a separate Java application called HelloMe.java that prints "Hello, <name>!", inserting your name for <name>.
  5. In your own words, define the terms:
    1. compiler
    2. interpreter
    3. Java Virtual Machine (JVM)
  6. What do the commands "java" and "javac" have to do with the previous terms?
  7. In your own words, describe these errors.  When is each type of error encountered in the programming process (e.g. editing stage, compilation stage, execution stage, etc.)?
    1. syntax error
    2. logic error