CSAS 4083 VU: Java and Network Programming

Course Organization
This is a virtual course. It meets from May 28 until the end of June. Each Wed. there will be a meeting in Fahy 252, from 5:30 until about 7:30. In addition, there will be email assignments, online discussion groups, regular chat meetings, online lecture notes, assignments, and more. Please watch the General Announcement Area regularly, and make sure you check your email at least once per day for updated announcements.
Course Objective
The course Java and Network Programming will try to accomplish three goals:
to familiarize students with the Java programming language, including object oriented programming techniques, programming with a Graphical User Interface, and Java's built- in network support
to teach about designing larger software projects and general program design principles
to teach about existing client/server protocols commonly used on the Internet and how to program your own including an introduction to SQL databases

Other goals may be added if desired and needed.

It is assumed that people taking this course are familiar with at least one programming language other than BASIC. In addition, participants must be familiar with the web and must know how to create and publish basic HTML documents. Some documentation for creating basic HTML documents will be made available if necessary for those who need it.
Grading Procedure
There will be regularly assigned programming exercises but no exams or quizzes. Grades will be based on participation and a portfolio that every participant must produce, as outlined below:

Participation: Participation is based on the contributions that participants make to the discussion area and to the chat rooms. Remember that those contributions are all 'logged', so it will be easy to judge who contributed how much.

Portfolio: each class participant must produce a portfolio that satisfies the following criteria:

The entire portfolio must be available online
Your final portfolio must include at least four applets or programs but no more than six. You must include full documentation as well as fully commented source code online. Each program or applet must be completed by you alone. You can use programs based on the assigned exercises or on your own ideas.
Your portfolio must include at least two non- programming works but no more than four. These pieces could include short papers on Java, object- orient programming, SQL databases, client/server applications, an expanded news report, graphical designs such as an image map or buttons, audio clips, video clips etc. If you decide on a ‘non- traditional’ piece such as an audio or video clip, you must include a description on how you produced your work, why you did it, and what you see as the usefulness of your work.
If you are taking the course for 3 credits, your final portfolio must include at least one "major work" but no more than two. This could be the finished version of our class project, a large other applet or program, a written paper of at least five pages, or anything else that is relevant to our class topics. A major work could be a collaboration of up to three people. You need to obtain approval for your major work before you start working on it.
Tools of the Trade
You will be given a Unix account on ‘sciris.shu.edu’ including a homepage separate from your official homepage, if you have any. Your portfolio must be available from that homepage and all relevant files must be stored under that account. You can compile your works using any system you like, but only files located on ‘sciris’ will count towards your portfolio. A brief introduction about the Unix operating system is included in the course, if necessary. You are expected to regularly monitor the this web location  which will contain all handouts,lecture notes, announcements, online resources, pointers to other resources, etc. In addition, you need to monitor the discussion area for this class regularly. You can access all online resources from any campus computer, but you expected to use your homecomputer to access all materials.

Note: Sciris is not backed up regularly. You must make sure to backup your items yourself (hints for doing this will be provided). It is not a valid excuse to claim that some items in your portfolio were lost because of a system crash.

This class is not a required class. Therefore, we are - within reason - flexible about the course material. If you have any suggestions on material you would like to cover, please contact me as soon as possible and I will try my best to include your suggestions, if possible. Also, while your participation and portfolio will determine your grade, you might also consider using your portfolio as part of your resume if and when you are looking for jobs. Java programming is currently a ‘hot topic’ and a well- designed portfolio just might give you an edge when looking for a temporary or permanent job in the future.