CSc 055: Syllabus
Prof Hours Office Phone Email Web Page
Chris Fernandes M 10:30-1
W 2:30-4
F 10:30-12
and by appt.
Steinmetz Hall Room 208 388-6401
fernandc@
union.edu
cs.union.edu/
csc055

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.