This course provides an introduction to web page design and to various
kinds of web technology. It assumes no previous experience with
other computer courses. In addition, students learn about basic techniques
that define the way computer scientists think about and solve problems.
Course Goals
At the end of this course, a student will be able to
- write structured web pages with HyperText Markup Language
(HTML)
- use Cascading Style Sheets (CSS) to control web page appearance and formatting
- use an HTML editor
- read and write Javascript code to create dynamic web pages
- understand problem-solving techniques used by computer scientists
Major Topics Covered
- web design languages: HTML and XHTML
- style rules: CSS
- web publishing
- layouts
- web usability
- interactive forms using Javascript
Who should take this course
This course is for people who wish to design
good web pages:
those that are effective, functional,
and well-structured. We'll also look at the technology that makes the Web work.
More than a survey course, students will be required to work in some detail with various
computer languages.
There are two goals. First, to provide enough practical
knowledge such that they will be comfortable with working with various Web
technologies. And second, to provide enough theoretical knowledge
about why things work so that they can solve problems they encounter
in the future.
No prerequisites are needed except a desire to work and learn.
Will we be learning/using Dreamweaver?
No. There are lots of web page authoring programs out there like Dreamweaver,
but they all use the same underlying technology and languages. And with those
languages, it's pretty easy
to make even complex pages yourself without paying $300. Besides, this is a
Computer Science course, so we're interested in why things work, not just using
programs that will do things for us with no understanding on our part. So you won't
be allowed to create your web pages with Dreamweaver or any other authoring tool
besides what we talk about in class.
A word about class computers and the printer
Class time will be a "hands-on" computing environment. There will be lots
of time for you to practice with various demos that I'll provide. But class time
is for class work. Using the computers for other things like other classes' work,
checking Facebook, or catching the latest ESPN highlight video is not permitted.
Class goes by quick. Stay focused. If you're done with a demo, don't allow yourself
to get bored. Extend the demo. Or help out your neighbor.
Please don't use our classroom printer to print out your homework at the
start of class on the day that it's due. Without fail, the printer breaks down
or runs out of paper at precisely that moment. And I'm still going to count it
late if that happens. Print it early.
Materials Needed
Text
- Required: Programming the Web using XHTML and Javascript
by Larry Randles Lagerstrom
USB flash drive
You'll want to keep copies of everything you hand in for reference
purposes. A USB flash drive is the most convenient, and it's cheap.
You should also keep a backup elsewhere, such as on your account on
the
antipasto web server. Emailing it to yourself or using
dropbox are other options.
Always keep a backup copy somewhere. Corrupted files and accidents happen.
Evaluation
Homework Assignments
Assignments will give you practice with the concepts
covered in class. Each assignment must be turned in both
on paper and by publishing your web page on the antipasto
web server. Assignments are due at the beginning of class on the due date.
Late penalty is 20% per day late.
Exams
There will be two midterm exams and one final. The midterms
will be on Wed, Sept. 28th and Wed, Oct. 26th. Exams
are cumulative, closed book, and limited notes.
You may bring one single-sided page of notes to the first midterm,
two single-sided pages to the second midterm, and three single-sided pages of notes
to the final. If you can't be at an exam for a
good reason (illness, for example) please come talk to me so we can
make other arrangements.
Project
A term project (spanning several weeks) will allow you to build your own web page
from the ground up. It will incorporate many of the elements and concepts
from class, and it can be about any topic you wish. Start thinking of ideas now!
Grading
- Homework Assignments: 40%
- Midterm Exams: 10% each
- Final Exam: 25%
- Project: 15%
Academic Dishonesty
Students often have some confusion about what might
or might not be considered "cheating" in a computer science class. In general,
you should feel free to ask questions of your fellow students, but
all the code you write must be your own -- not taken from other people or the Web.
Here are some examples:
- OK: "The left margin is not where I want it. Can you look
at my style rule and tell me if this looks right?"
- Not OK: "Can I see your code for Part 1 of the assignment?"
- Bottom Line: Don't look at other people's code to *get*
help or "inspiration"; just to *give* it. And if you do see something wrong, show
a separate example on a piece of paper -- never give your own code to anyone.
If you don't even know where to start, you should be emailing or visiting ME.
Two people next to each other on two computers:
- OK: Molly: "We make web links with the 'link' tag, right?"
Dolly: "No, it's the anchor tag. It's the one with the 'href' attribute."
Molly: "Oh, yeah, I'll look up the format in my notes."
- Not OK: Jen: "What'd you write for the next line?"
Ben: "I wrote 'a', then a space, and then 'href'." Jen: "I'll write that too."
- Bottom Line: Jen & Ben are two people making one web page,
and Jen's not learning anything. Dolly, on the other hand, gives a better answer
that helps without spoon-feeding, which lets Molly consult her notes to actually learn
what she needs.
- OK: "I found a tutorial site on the Web for putting images into my web
page. Now I understand the class examples better. I even found a couple of cool extensions
we didn't learn in class. I'll use those too, but I need to remember to cite the
page where I learned it from."
- Not OK: "I found a web site that gives example code of how to do the layout
we need for the assignment. I'll just use that code and put in my own picture names."
- Bottom Line: The text and the Web can be used to help you
understand things better (with appropriate citing),
but no copying code from the Web -- ever. Exception:
you can include things from the Web for your Project, but
all such code will not fulfill any project requirements.
If you're not sure if something crosses the plagiarism line, the best thing to do is ask me.
What you need to do
To prepare for class, you are required to do the
following:
Show up
You are expected to be present for every class. However, I
realize that sometimes other things come up (interview, illness, etc.) so just
please let me know in advance or by phone/email if you're going to be absent.
Unexcused absences are NOT allowed and will affect your grade. If you miss
class, get notes from someone and do the readings before coming to see me. I'm
happy to explain things, but I won't repeat lectures for you.
Read the text
Lectures will primarily follow the major topics covered
by the text. You should do the reading for that week before coming to
class so that questions you have about the material can be answered during
lecture. There will always be a time for questions about the readings or
previous lectures at the beginning of class. Take advantage of it. All of the
readings for the entire term can be found on the course web page in the
Full Schedule section.
Check the web page
The reading assignments (and other announcements)
will be posted regularly on the course web page. You are required to check it
at least once a week. (I update it every Fri or Sat.) The URL is at the top of this document.
Check your email every day
I will send email throughout the term for a variety of reasons such as answering frequently asked
questions and warning you of pitfalls in the assignment. I know, it's old tech, but I'm
not going to text you or post to your Facebook wall. Please check it daily.
Put in the time!
I know that this course is often used to satisfy GenEd credit, but that doesn't mean this
course is an "easy A". I expect full-time students to put in a full-time amount of work,
which is about 10 hours per week outside of class (probably less than that at the beginning;
probably a little more than that near the end).
The Bottom Line
Ask questions and seek help. This is the most
important point of all. I live to answer questions. Don't be afraid to come to
my office every single day if you want. It's better for everybody (you AND me)
if you understand things sooner rather than later. More often than not, there's
a line of people waiting to see me on the day before a project is due. You'll
get the help you need faster by starting on projects sooner rather than waiting
until the last minute.
Any student with a documented learning disorder should come talk to me
privately about options for completion of exams and homework assignments.
Please do this within the first two weeks of the term.