This course ended on December 13, 2011
Introduction to Computer Science:
Web Site Programming
Department of Mathematics and Computer Science
Hobart and William Smith Colleges
Instructor: David J. Eck (firstname.lastname@example.org)
Course Handout: http://math.hws.edu/eck/courses/cpsc120_f11.html
Monday, Wednesday, Friday, 12:20--1:15 AM
Monday, Wednesday: Lecture in Room Napier 201
Friday: Lab in Room Gulick 208
Office Hours, Lansing 313 (If I'm not there, check the lab, Lansing 310.):
TA Hours, Lansing 310: Sunday through Thursday, 7:00--10:00 PM.
(Note: TAs for Sunday, Tuesday, Thursday know some Web Site Development.)
|Lab 1, September 1
Intro HTML and CSS
|Lab 2, September 9
|Lab 3, September 16
A Muti-page Web Site
|Lab 4, September 23
Publish a Web Site
|Lab 5, September 30
|Lab 6, October 6
If, and Form Elements
|Lab 7, October 14
|Lab 8, October 21
Introduction to Gimp
|Lab 9, October 28
|Lab 10, November 4
|Lab 11, November 11
AJAX and JQuery
|Lab 12, November 18
Work on Lab 11
or on Web Portfolio
|Lab 13, December 2: A Bit of MySQL and PHP
|Lab 14, December 9: Work on your Web Portfolio or Lab 13
Some Useful Links
- Reference and Resources:
- w3schools.com -- The W3 Schools Web Site, which has references and
It is an excellent site (although with an annoying number of ads), and you will probably want to bookmark it.
- Textbook Web Site -- Andy Harris's web site for
HTML, XHTML, & CSS for Dummies, the main book for this course. (It's not really for dummies!)
This site has examples from the book and links to other resources.
- JQuery Documentation -- Official documentation for the
- The PHP Manual -- The official documentation for PHP, the server-side programming
language that we will use later in the course.
- MySQL Manual -- The official documentation for MySQL, a database program that
you will encounter in the last few weeks of the course.
- About Linux -- Local information about using Linux at HWS.
- Tools (for your own computer, if you want them):
- Google Chrome -- Download site for the Google Chrome Web Browser. We will use
this browser in lab because of its built-in development tools. You can download it for your
own computer if you want. Note that the Mac OS Browser, Safari, has a very similar set of
developer tools, and you can use that instead if you prefer.
- Aptana Studio 3 -- The download site for Aptana Studio 3,
with some support for PHP. We will use this in class, and you can get it for your own computer
if you want it. It is available for Windows, Mac OS, and Linux.
- Komodo Edit -- Another
for Windows, Mac OS, and Linux. (You want "Komodo Edit," which is free, and not
"Komodo IDE", which you have to pay for.)
- XAMPP Download Site -- XAMPP lets you
run a Web server on your own computer, with support for PHP and MySQL. This lets you test
server-side programs without putting them on a public server. It is available for Windows and Mac OS.
First Week: August 29 and 31; September 2
Welcome to the course. You should read Book 1, Chapters 1 and 5, and Book 2, Chapters
1 and 2, from the textbook. These chapters cover some of the basic ideas of HTML and CSS.
In lab on Friday, you will write your first web pages using HTML and CSS. You will
be introduced to the Web site editor Aptana Studio 3, which we'll use throughout the
Second Week: September 5, 7, and 9
We will continue to look at HTML and CSS this week. Among the most important
topics to be covered are the <div> and <span> elements and the
id and class attributes, and how they are used in CSS. I will
also discuss images, links, and URLs more completely. The reading for
the week includes:
- Book 1, Chapter 4, pages 65–73 (the section on lists)
- Book 1, Chapter 5 (links)
- Book 1, Chapter 6, pages 93-97 (image tags)
- Book 2, Chapter 3, Chapter 3 (div, span, id, and class)
the appearance of a web page. There is no reading from the book about
way after the first test.
Third Week: September 12, 14, and 16
We are already coming up on the first of three in-class tests! It will
take place next week, on Wednesday, September 21, and it will cover everything
that we've done in the first three weeks of the course, including the labs.
The reading for this week is Book 2, Sections 4 and 5. (Pages 250 to 256 are
optional.) This will finish up HTML and CSS for the time being. After the test,
Fourth Week: September 19, 21, and 23
The first test is this Wednesday. An information sheet
about the test is available.
On Monday, we will do examples and review for the test. (In fact, we mostly spent
the day getting a preview of the fundamental aspect of programming: variables,
assignment statements, functions, control statements, events, and data structures.)
For the lab this week, you will publish a web site on
000webhost.com, and you will start work on
your web portfolio. (Note: The 000webhost.com idea did not work out at all,
because their site would only let one person in the lab create an account! That
part of the lab has been canceled. Nevertheless, you might want to try it out
on your own.)
Fifth Week: September 26, 28, and 30
Following last week's test, we begin the second part of the course,
on this topic is Book 4, Chapter 1, especially pages 340 to 350.
However, a lot of what we will be doing this week is not from the book.
"canvas." The <canvas> element is a relatively new addition to
HTML and is not supported in older browsers. (On Internet Explorer,
it is only supported starting in Version 9.)
Sixth Week: October 3, 5, and 7
some work to do on variables, functions, and parameters. We will start
working on "control statements" by looking at if statements
and boolean-valued expressions. We will also start working with
HTML form elements such as text input boxes, and we will see how
HTML forms and form input elements are covered in Book 2, Chapter 7 of
the textbook. For this week, we will only use a few of the form
elements covered in that chapter. We might cover more of them
in the future.
Seventh Week: October 12 and 14
Because of Fall Break, there is no class on Monday this week.
As a result, there is only one lecture for the week. That
reading is Book 4, Chapter 3, pages 373--380. The reading
covers while loops as well as for loops, but we will
only cover for loops in class. You should also read
Book 4, Chapter 4, pages 395--404, which covers functions,
which you have already been learning about and using in
Because of the abbreviated week, the exercises from
Lab 6 will not be
collected on Friday. Instead, they will be due next Monday.
For Lab 7, there will be a new exercise that uses loops.
There is a test coming up on Wednesday of next week, October 19.
An information sheet is
Eighth Week: October 17, 19, and 21
There is a test on Wednesday. We will
spend Monday reviewing for the test, and maybe looking at a few
be an introduction to the Gimp image processing program.
Ninth Week: October 24, 26, and 28
We will spend some time on Monday reviewing some of the material covered
in the second quarter of the course. In particular, we will go over
a few new things, such as the onload event and why it is necessary.
After that, we take a break from programming and go back to HTML to
cover HTML forms and input elements. We will see how forms are used with
server-side programs. In the lab
for this week, you will create some forms that will interact with programs
on the math department's web server.
For reading this week, you only need to finish Book 2, Chapter 7, on
Tenth Week: October 31; November 2 and 4
We started the week by looking at HTML tables, which are covered in the
textbook in Book 1, Chapter 4, pages 74 to 81.
how to use JQuery on a page, how to use an "init" function in JQuery, animations,
and some basic events. This material is covered in the textbook in
Book 7, Chapters 2 and 3, pages 747 to 760 and 771 to 790; however, we did
not cover this material in as much depth as the textbook does.
Eleventh Week: November 7, 9, and 11
This week, we cover AJAX and in particular how AJAX is used in JQuery.
In the lab, you will work with AJAX
to make a very simple interactive web page. The material that we
are covering is mostly not taken from the textbook,
but it would be useful to read pages 731--732 on the basic idea of AJAX
and pages 418--421 on JSON object notation.
Twelfth Week: November 14, 16, and 18
There is a test on Wednesday, November 16. An
information sheet is available.
Aside from the test, we will spend Monday reviewing for the test
and talking a little more about AJAX and JQuery. The lab on
Friday will be part 1 of a two-part lab on the server side.
Change of plan: There will not be a new lab on Friday. You
can work on your web portfolio, or you can continue work on
lab 11, which is due next Monday.
Thirteenth Week: November 21
There is no class on Wednesday or Thursday this week because of
Thanksgiving break. Happy Thanksgiving!
On Monday, I spent the period answering student questions about
how various things work on the Internet. After break, we will
look briefly at aspects of server-side programming: MySQL and
Fourteenth Week: November 28 and 30; December 2
This week, we will be looking at two server-side technologies: databases and
server-side programs. This will be just a brief encounter. We will consider relational
databases, the SQL language, and the MySQL database server. For a server-side
programming language, we will consider PHP. The textbook has large sections
devoted to MySQL (Book VI) and to PHP (Book V). However, since we will be covering
these topics so briefly, I don't suggest reading them. You should try to
follow what we do in class and lab.
Reminder: The final exam is Tuesday, December 13, at 1:30 PM.
Fifteenth Week and Exam: December 5, 7, 9, and 13
On Monday of the last week of classes, I will finish up my discussion of
PHP, and I will talk about some aspects of the Internet and the Web that
were not covered in the course.
On Wednesday, we will review for the final exam.
On Friday, class will meet as usual in Gulick 208 for a lab. You can work on
your web portfolio and/or finish up Lab 13.
Lab 13 will be collected on Friday at 3:00. You will fill out a course
evaluation form at the end of the lab. You get 5 points for your
lab grade for being there (and filling out the form).
The final exam will take place in Albright Auditorium at 1:30 PM on Tuesday,
December 13. An information sheet is
Your web portfolio should be in final form by the time of the final exam.
It will be graded some time after the final.