605.481 Distributed Development on the WWW

Administrative Information

1.  Getting on the Web

1.1 Get an account on the APL Sun system

If you haven't done so already, long into apl.jhu.edu with the account name "newuser".  You will be prompted for your SSN, your registration record will be verified, and your account reactivated with the previous password.   You can login in the computer room, Rm 316 (Central Building), via the Internet, or via a modem.  

This course has no requirement that the class assignments be done on the APL system.  If you have Windows 98/ME, Windows NT/2000/XP, OS/2, MacOS, or Unix (including Linux) at home or work, you can install free versions of Java, a Java-enabled browser, and SLIP/PPP software (omit if using a work machine already on the Internet) and complete the exercises at home or work.

Most assignments require the result to be Web-accessible.  For this, you can upload the result to APL when done (be sure to test it!), or put the result somewhere else if you have an ISP for home or a work machine on the Internet.   However, you should still get an account on the APL system, since some of the projects (e.g. Servlets) may require capabilities not available on your other system.

1.2 Setting Up Your Account for Web Access

(Optional) Once your account is active, login, and then from your home directory type

Unix> ~hall/class/Set-Up-Account

This will give you a .login, a .cshrc, a .emacs, and set the permissions on your home directory and public_html directory to "x".  If you are already familiar with Unix and have an existing .login and .cshrc, you can skip copying the ones provided through Set-Up-Account.  The setup script will prompt you before overwriting each file.  You will want the .emacs file if you plan on working on the APL system, as the .emacs file will set you up with an X version of emacs ("xemacs") that understands HTML and Java syntax and has all the major editing commands from a pull-down menu.

2.  Exercises and Grading

Each assignment will be given a letter grade based on the usual scale (A=4, B=3, etc.).  Pluses and minuses are worth 0.3 (A-=3.7, B+=3.3, etc.), with the exception that an A+ is worth 4.1.  A+ is rarely given; a perfect or near-perfect assignment is normally an A, and a very good one with minor problems is an A-. A assignment that meets the minimal objectives is a B+.  Final grades will be based on the weighted average of the assigned programming projects.   This course has no exams, and grades will not be curved.  Individual assignments are weighted based on the number of weeks to complete the assignment.  For example, a 3 week assignment is worth 3X the weight of a one week assignment.  In, general late assignments will not be accepted unless I am contacted before the assignment is due.  I prefer assignments on 8.5 x 11 paper, not in folders or binders, with a single staple in the top left corner.  A hard copy of your assignment must be turned in for a grade to be awarded.  Assignments turned in through email will not be graded.

The following considerations are applied when grading assignments:
  • Performance requirements
  • Application of concepts
  • Documentation
  • Error handling
  • Design
  • Programming syntax
  • Creativity
  • Timeliness

The URL or pathname should be shown in the first paragraph so that I can check programs on-line if appropriate.  This means that although WWW pages and Java programs can be developed anywhere, when they are submitted they must also be placed in a location that is WWW accessible.  Please include a hardcopy of test cases, printouts of the WWW pages, and (for Java applets), screen dumps of the page with the applet running, if appropriate.

Regarding academic standards, students are free to look in any textbook, WWW page, Usenet group, or speak to anybody about any assignment.  As in all courses, these sources should be listed if used.  You are free to adapt code out of text journals, WWW sites, or other public sources, as long as these references are listed.   Of course, such code will still be graded based on the standards and style covered in class.  However, adapting code is not permissible with regards to other individuals, in contrast to standard sources.  Copying of code from individuals, especially 605.481 students, is not allowed without prior permission, even if the code is adapted and the source given.  Not all situations fall neatly into either category:  Please contact me if you are unsure.

3.  Prerequisites

I expect all students to have experience programming and to understand the basics of software design, debugging, and data structures.  I am also assuming some familiarity with C++, since this is the standard language for the MS program.  If you know neither C nor C++, you will want to carefully review the chapter that introduces basic Java syntax, and can expect to spend some extra effort compared to other students, especially on the first couple of Java-related assignments.  I also assume that you can use a Web browser and know enough about Unix to get on the APL system, edit a file, send and receive email (I recommend "pine"), edit a file (I very strongly recommend "xemacs" if you will work in the K-Center or via an X connection), and print the results.  I do not assume that you know anything about HTML, Java, HTTP, CGI Programming, Java Servlets or JavaScript.

4.  Useful Internet Links