CS 271, Spring 2009
Midterm Assignments

As we move towards the middle of the semester, there are two projects that you should be thinking about. Both of these projects require you to select something to do, and you will have meet with me to discuss your options. A sign-up sheet for appointments will be available.

Assignment "4"

Now that we are finishing up the "client side" of web site programming, it's time to work on a project that will put together all the little things that you have learned into a functional web application. You should plan to finish work on this project before Spring break.

This is meant to be an open-ended, self-selected project. You can work either as an individual or in a group of up to six people. The size of the project should depend on the number of people and for a large group should produce a project that extends over a number of coordinated web pages (connected, presumably, by cookies). The complexity of the project will also depend, to a certain extent, on the previous computer science experience of the people working on it.

Absolute requirements for the project are that it uses a variety of HTML and CSS features, that it manipulate the DOM, that it uses some sort of timer or animation, and that it have a reasonable level of complexity.

One idea for a larger project is a set of casino-style games (using play money only). The user could move from game to game, taking their winnings or losses along with them. This would be a team project. One or two people on the team could implement the overall framework -- how the user selects a game, how information gets from one game to another. Others might work on individual games. Possible games include blackjack, craps, video poker, traditional slot machine, roulette, and keno. Note that a basic blackjack game is already implemented at http://math.hws.edu/eck/cs271/js-work/blackjack.html.)

Of course, many other projects are possible. You can look for projects that you might have written in Java and think about implementing them in JavaScript. Games such as hangman or minesweeper are possibilities. Some sort of calculator or spreadsheet-like application. A "bulletin board" page where you can leave yourself notes and "pin up" images (with data stored in cookies). A math quiz. Or think up something entirely different yourself.

Assignment "5"

In spite of the number of topics in the course, we will cover only some of the technologies that are used in web site programming. As an ongoing class project over the rest of course, each member of the class will do a bit of research on one of the many things that we are leaving out. There is no particular due date for finishing the project, but you should not put it off too long...

You will prepare a web page on your chosen topic and might do a short class presentation on it. (However, given the number of people in the class, we probably won't have the time for everyone to do this.) Each person in the class will have to take a different topic. (No Exceptions.) In a few cases, two or three people might work together on related topics, but each person will still produce a separate web page. You will have a better chance of getting a particular topic if you act fast to claim it.

Here are some possible topics. I might add to the list as the term goes on. You can propose a topic that is not on the list, but not just any topic will be acceptable.