Instructor: Tim Hickey
Time/Location: MWT 1-2 in Gzang 121
Office hours:in Volen 138,
Mon (11-12), Wed (2-3), and Thu (10-11)
TAs
-
Thu 2-5pm and Thu 2-5
Keki Burjorjee kekib@brandeis.edu, office hours in Volen 111 - Wed 2-5pm: Hongyuan Qiu, hqiu@brandeis.edu, office hours in Volen 109
Welcome to the CS2a/Spr09 Website
This class has no prerequisites and is open to all Brandeis students. The goal of this course is to introduce you to the fundamental concepts underlying website design and programming.Class Links
Links
- Student server
- Servlet to redefine Scheme primitives
- Notes on servlets
- Access to webpages
-
Validation:
- HTML Validation service but you'll need to add the doctype tag for XHTML-1.0 Transitional to get your pages to validate!
- CSS validation
Homework
- Homework 1: your first webpages, due Monday 2/2/2009 100 points
- Homework 2: correcting your first quiz, due Monday 2/9/2009 10 point
- Homework 3: servlets and CSS, due Thursday 3/5/2009 100 points
- Homework 4: correcting the second quiz - a servlet to convert degrees F to degrees C
- Homework 5: correcting the third quiz - tracing the scheme program:
(define (f x y) (if (= x 0) y (f (- x 1) (+ x y)))) (f 3 0)
- Homework 6: database-backed servlets, due Wednesday 4/8/2009 100 points
- Homework 7: Scheme Tracing, due Monday 4/6/2009 10 points
- Final Project: part A due Wednesday 4/8/2009 100 points
- Final Project: part B due Monday 5/4/2009 100 points
Quizzes and Exams
- None yet
Readings
- For Thu 1/15/2009, read the class notes: Intro to HTML and CSS
- Inline CSS
- CSS in the head element
Class notes
Week 1
- Wed 1/14/2009: Overview of the course
- Thu 1/15/2009: Tables and Lists
Week 2
- Tue 1/20/09:
CSS
w3schools CSS manual
using Positioning and float - Wed 1/21/09: CSS continued: id and class attributes
- Thu 1/22/09:
HW1 assigned and discussed
Positioning HTML elements using thepositionproperty and its related properties.
Resource: w3schools.com/css and its manual page on positioning
Google: "CSS positioning" will bring other resources as well.
Week 3
- Mon 1/26/09 More on absolute positioning in CSS. We covered absolute and relative positioning and the overflow property with a mention of the clip and z-index properties.
- Wed 1/28/09 Today we complete our study of CSS with an indepth overview of Selectors including contextual selectors (descendant, child, sibling) and attribute-based selectors.
- Thu 1/29/09 Today we give an extended introduction to interactive websites and in particular to the JScheme server. Interesting links:
Week 4
- Mon 2/2/09
- Wed 2/4/09 Today we show how to do calculations in a servlet and talk about arithmetic expressions in Scheme as in the notes on additional Scheme servlets.
- Thu 2/5/09 Today we discuss defining templates and conditional execution.
Week 5
- Mon 2/9/09
- Today we continue discussing conditional execution with examples from the notes on additional Scheme servlets
- Wed 2/9/09
- Thu 2/9/09
Week 6 - February Vacation
2/16-2/20Week 7
2/23-2/27- Go over HW3
- database servlet demos
Week 8- Databases
- Monday - SNOW DAY
- Wednesday 3/4/09
Go over HW3. Introduction to database-backed servlets: CREATE, DROP, INSERT, SELECT.
- Thu 3/9 Conditional Execution with Password Protecting a servlet
Week 9
- Mon 3/12 - Starting the Login/Registration Example: creating a username/password table and inserting values
- Wed 3/14 - A complete login/registration example: here
- Thu 3/15 - Quiz4
Week 10
- Mon 3/17 Using the Scheme interpreter on the JScheme website.
- Wed 3/19 Using the Scheme Interpreter
- Thu 3/20 Using the Scheme Interpreter
Week 11
- Mon 3/23 - Using the Scheme Interpreter
- Wed 3/25 - Go over HW6 and walk through the initial code you will build on...
-
Thu 3/26 More Scheme tracing:
(define (sumlist L) (if (null? L) 0 (+ (first L) (sumlist (rest L))))) (sumlist '(1 4 3 6)) (define (sumlist2 L A) (if (null? L) A (sumlist2 (rest L) (+ (first L) A)))) (sumlist2 '(1 4 3 6) 0) (define (mymap F L) (if (null? L) () (cons (F (first L)) (mymap F (rest L)) ))) (mymap (lambda(x) (* x x x)) '( 1 4 3 6)) (define (f x) { -
[x]
} )
(maymap f '(dew.jpg lines.jpg ayame.jpg tim.jpg glasses.jpg))
Week 12
-
Mon 3/30 - Introduction to PHP
Today, we show how to use PHP to process servlet parameters and to get the current date, and we use a new web server that supports both scheme and php at http://popper.cs-i.brandeis.edu:8089/php
- Wed 4/1
- Thu 4/3
Week 13
- Mon 4/6
- Wed 4/8
- Thu 4/9 SPRING BREAK
Week 14
- Mon 4/13 SPRING BREAK
- Wed 4/15 SPRING BREAK
- Thu 4/16 SPRING BREAK
Week 15
- Mon 4/20
- Wed 4/22
- Thu 4/23
Week 16
- Mon 4/27
- Wed 4/29
- Thu 4/30 STUDY DAY
Finals Week
-
Mon 5/4/09: 9:15 am - 12:15 pm in Gzang 121
Notes: the exam will be open book, but you will not be able to use any electronic devices (phones, calculators, computers, ...). You will be asked to write webpages and servlets and SQL queries and you will be asked to trace the evolution of Scheme processes. Here are some links to Final Exams from previous years. They contain some additional material that we haven't covered as we have gone deeper into web programming this year..
