Welcome!

Welcome to the home page for Client/Server Web Programming. In this course we will discuss some of the tools that can be used to make web sites more interesting and useful. The course is based around several projects related to the development and enhancement of the web site for a small organization. We hope that you find the projects not only instructive, but fun.  Most of the projects you will do with a team, although the course includes some individual work as well.  Teams will be determined during the first week.

Online courses are very different than face-to-face courses. I will direct you to the resources you need to gain the knowledge necessary to deliver the project but you will need to read and understand the material. For some students classroom learning can be a passive experience where lecture and discussion are used to convey information. Here you must actively engage yourself or you will miss a lot.  This environment matches the work environment more closely than does a classroom so hopefully you will find it a very positive experience, but you must engage and stay engaged. Also, research has shown that some students find online learning isolating. It is important that you work closely with your teammates and get help immediately if you are falling behind.

Each week you should read through the next project and determine the deliverables and when they are due. Then look through the suggested reading and resources and decide when you will do it. One of the advantages of online courses is that they allow some scheduling flexibility, but the other side of that coin is that you must schedule and use your time so that the necessary work gets done.   Also, it is up to you to notice deadlines and due dates, since you won't hear them in class.  Note that the project durations vary between one and two weeks, so it will be important to check the website frequently and schedule your time - don't procrastinate!

In any case, welcome. I hope you enjoy the course and learn a lot. I am here to help.

Course Description

Web Programming is a course for programmers who want to develop Web-based applications. It covers basic website design extended by client-side and server-side programming. Students should know the elements of HTML and Web architecture and be able to program in a high level language such as C++ or Java. The course builds on this knowledge by presenting topics such as Cascading Style Sheets (CSS), JavaScript, PHP and JSP that will allow the students to develop dynamic Web applications.

Format

The course is divided into approximately six units which are centered around a central project. The project illustrates problems that you might encounter as a web developer and to complete them you must build your knowledge base from the text or other resources on the Web. Each project has deliverables that you must complete and deliver on time.

I will direct you to the resources you need to gain the knowledge necessary to deliver the project and you will need to read and understand the material.

Getting Started

OK, great. Now what do I do?  The next section is called General Course Information. Read it and go through each of its sections. Check the prerequisites and the policies. The course is divided into projects and the projects are divided into milestones and deliverables. Each week there will be a set of things that you must do. It is very important that you do them and that you keep current. It is said that you get from a course what you put in and this is especially true of distance learning classes. There is a lot of reading in this class and you must do it on your own. Fortunately, most of it is very interesting and very useful.

When you click on Assignments you will see a set of Units. The Units will be posted as the semester progresses. As the semester begins the only Unit that has been fully posted is Unit 1. When it is finished, Unit 2 will be posted, etc. Once posted the Units will be left up for the rest of the semester for your review. Each unit contains a Description page that consists of an Overview section, which gives the big picture of the project; an Objectives section, which list the objectives of the project and a Project Description, which outlines the project inself.

Under this you will find a link to Deliverables and a link to Study Guide.

Deliverables will take you to a page that states very explicitly what the deliverables are and their due dates. This reiterates some of the information from the Description page but provides more specific details.

Study Guide will take you to a page where I will post text readings, web readings and sometimes hints about how to work on completing the deliverables. Many of the readings will come from the textbook for this course---Programming the World Wide Web by Robert Sebesta. Others will be found on the World Wide Web. There is also a test your knowledge section that will have some questions and suggestions for problems from the text or other materials.

Regarding the readings on the Web: If they are not there, let me know immediately.  I tried to get this course to be numbered 404, but it was already taken. It is sometimes said that the good news about the Web is that it is very fluid and the bad news about the Web is that it is very fluid. In any case, let me know if the information is not there or if it has changed. Also, whenever you read Web material keep in mind that it is often not peer reviewed or time-stamped. Also be very suspect of code examples. I have certainly not tested them and suggest that you view them only as illustrations of concept, not usable code. And, of course, be sure you have a current virus checker in place.

Some of the material is password protected to limit casual browsing. If you are asked for a password, try wp. If this does not work let me know. Also, be sure you logout (i.e., close your browser) when you are done. In particular if you visit any of the reading sites or follow any of the links be sure that you return and logout.