On this page:
3.7.1 Choose Your Language
3.7.2 Program Requirements
3.7.3 Survey Specification
3.7.4 Turn-in Details

3.7 Raw Web Programming

This assignment asks you to write a web program. At this point in the course, the purpose of this assignment seems unclear. Once the assignment has been handed in, however, we’ll introduce an entirely new way of programming the web which is intimately linked with one of the fundamental ideas of programming languages. By completing this assignment now, you’ll be better prepared to appreciate this idea when we introduce it in class.

Though this assignment should not take you very long, we are giving you a lot of time because we know that not everyone is familiar with web programming; you may need to do some learning on your own.

3.7.1 Choose Your Language

Unlike the other programming assignments in the course, in this one you will be able to use a programming language of your choice. If you’re already familiar with web programming, choose a language that you’re comfortable with. If you’re not, the Web is a font of meta-information, so you should have little trouble in finding resources about programming for it.

If you write a CGI script, see this page for help using the department servers. Otherwise, you will need to host a Web server yourself.

3.7.2 Program Requirements

You will write a simple survey with a page per question, the details of which are specified below. Although this program is quite simple, it is representative of the core of much larger Web software (just as the interpreters we write in this course are themselves quite lean, but represent the core of large programming languages).

Your program must have the following features:

3.7.3 Survey Specification

1. What is the best controller for shooters? Answer is either Arcade Stick, Gamepad, or Keyboard. If the answer is Arcade Stick, go to question 2, otherwise go to question 3.

2. What is the best gate? Answer is either Circular, Octangonal, or Square. Go to question 3.

3. Do you prefer horizontal or vertical scrolling? Answer is either Horizontal or Vertical. If the answer is Horizontal, go to question 4. If the answer is Vertical, go to question 5.

4. What is the best horizontal shooter? Answer is either Gradius V, Sexy Parodius, Border Down, Deathsmiles, or a user suppiled answer. Go to the end.

5. Which is the better developer? Answer is either Cave or Treasure. If the answer is Cave, go to question 6, otherwise go to question 7.

6. What is Cave’s best release? Answer is either Dodonpachi, Ketsui kizuna jigoku tachi, Mushihimesama Futari 1.5, or a user suppiled answer. Go to the end.

7. What is Treasure’s best release? Answer is either Radiant Silvergun, Sin and Punishment, Ikaruga, Sin and Punishment: Star Successor, or a user suppiled answer. Go to the end.

3.7.4 Turn-in Details

You should turn in your code AND a URL where we can access your running program.