Spring. 3 credits. Enrollment limited only by sections. Prerequisite: INFO 1300 or basic knowledge of XHTML/CSS, design (graphic, web, and information), and some previous programming experience. See the texts at the end of this page for resources that can help you pick up or refresh XHTML, CSS, and design.
Web programming requires the cooperation of (at least) two machines: the one in front of the viewer (client) and the one delivering the content (server). INFO 1300 concentrates almost exclusively on the client side, and though we will learn a little bit about client-side interactivity through Javascript and AJAX, the main emphasis in INFO 2300 is learning about server side processing. Students begin by with a quick introduction/review of the server-side scripting language PHP, and how to use it to interact with data sent from a web browser. We then turn the problem of remembering state beyond a single HTTP request, looking at how cookies, sessions, and files can all be used to store and manage an individual requestor's data.
We then introduce databases, using concrete technologies such as SQL, mysql, phpMyAdmin, and ER diagrams to illustrate database concepts including the relational algebra, design and creation of databases, efficiency, and data integrity. Issues such as data security and privacy will also be covered, as will aspects of interaction design. A major component of the course is the creation of a substantial web site for an external client, and several other assignments require implementation of moderately-sized interactive websites backed by databases.
This course meets for lectures on Mondays and Wednesdays from 2:30-3:20 (Philips 101). Sections meet in the Accel Labs in Carpenter Hall at the following times and places:
| Section # | Time | Location | TA |
|---|---|---|---|
| 201 | 12:20pm - 1:10pm | Accel Green (CRP 235) | TBA |
| 202 | 1:25pm - 2:15pm | Accel Green (CRP 235) | TBA |
| 203 | 2:30pm - 3:20pm | Accel Orange (CRP 236) | TBA |
| 204 | 12:20pm - 1:10pm | Accel Red (CRP 237) | TBA |
| 205 | 2:30pm - 3:20pm | Accel Red (CRP 237) | TBA |
| 206 | 12:20pm - 1:10pm | Accel Orange (CRP 236) | TBA |
| 207 | 1:25pm - 2:15PM | Accel Orange (CRP 236) | TBA |
There are no required texts, though we recommend Beighley and Morrison, Head First PHP and MySQL.
Expected knowledge from 1300: If you are not familiar with PHP, we recommend Sklar, Learning PHP 5. If you are not familiar with XHTML and CSS, we suggest the INFO 1300 textbook Freeman and Freeman, Head First HTML with CSS and XHTML. And, if you're not familiar with visual design, we recommend two classic, short, readable, and example-filled books on design: Steve Krug's Don't Make Me Think and Robin Williams' Non-Designers Design Book.
For more information about the class, please check out our syllabus, or contact any of our course staff.