INFO 2300 - Intermediate Web Design

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
20112:20pm - 1:10pmAccel Green (CRP 235)TBA
2021:25pm - 2:15pmAccel Green (CRP 235)TBA
2032:30pm - 3:20pmAccel Orange (CRP 236)TBA
20412:20pm - 1:10pmAccel Red (CRP 237)TBA
2052:30pm - 3:20pmAccel Red (CRP 237)TBA
20612:20pm - 1:10pmAccel Orange (CRP 236)TBA
2071:25pm - 2:15PMAccel Orange (CRP 236)TBA
Please note that section attendance is required, and lecture attendance strongly encouraged.

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.