CSCI 40: Computing for the Web
Instructor: R. Teal Witter. Please call me Teal.
Class Times: Mondays and Wednesdays from 1:15 to 2:30pm in Robert Day 126.
Office Hours: Tuesdays from 1:00 to 4:00pm in Adams Hall 213.
Labs: Most weeks have a short lab, auto-graded by Python. You keep resubmitting until you score 100%, so a lab is done when it is done.
Quizzes: Short weekly quizzes, taken on paper. They are open-note: bring any printed or handwritten notes you like, but no electronic devices. Each week’s practice bank is linked below; we work through it together in class, and the graded quiz is a short version I hand out on paper the day of.
Projects: Every two to three weeks you build something real: a webpage, a web scraper, your own ChatGPT, a Twitter clone. Projects carry generous extra credit and “choose your own adventure” tasks.
Resources: There is nothing to buy. Each week has a reading in place of a textbook; the primary references are Shay Howe’s Learn to Code HTML & CSS and Al Sweigart’s Automate the Boring Stuff with Python. Course materials are adapted from Mike Izbicki’s CSCI 040.
Big Picture: The course starts with a webpage and ends with a working web application, with each project reusing earlier tools.
- The Web - A few lines of HTML and CSS can turn an idea into a public artifact that anyone with a browser can use.
- Python Foundations - Python gives us a precise way to break repetitive work into small steps a computer can perform reliably.
- Working with Data - Useful programs become powerful when they can collect, transform, and connect information from different places.
- Web Applications - A web application brings the whole course together by responding to people, remembering state, and producing a new page on demand.