Foundational principles and practices of web development and client-server architecture
according to current open standards. Taught by Professor Karl
Stolley, Fall 2021.
From the Catalog: This course will cover the creation of Web pages and sites using
server architecture of the Internet and related web technologies. The creation and
deployment of modern, standards-compliant web pages are addressed. Students create and
deploy a Web site with multiple pages and cross-linked structures.
Extended Description: The course emphasizes a research-driven approach to web
development that adheres to the relevant standards specifications governing the use of
the web’s languages and protocols. All practices covered in this class give priority to
accessibility and long-term use and sustainability. The course avoids entirely the lore
and half-baked, quick-fix shortcuts that too often plague web development practice and
instruction. Student work is organized around weekly work and participation, and three
major projects, completed both individually or possibly in teams. All projects emphasize
the course’s hands-on, theory-grounded approach to web development.
At the conclusion of this course, successful students will be able to:
Select the proper mark-up tags or code to achieve a particular result
Identify improperly used markup and code
Produce modern standards compliant web pages
Deploy web pages to a public server
Thoughtfully evaluate and adopt only the most standards-compliant documentation,
libraries, and development techniques
Write valid, well-formed semantic HTML; error-free, backward- and forward-compatible
Effectively comment on and format source code for maximum readability
Track the development of a project over time and collaborate with others using
Students completing this course will learn to:
Explain the client and server architecture of the internet and related web
Use a basic text editor and other software tools to create web pages using HTML, CSS,
Deploy web pages to a Linux-based web server using sftp and more leading-edge
methods, such as automated deploys integrated with version control
Describe the history and track the ongoing development of web standard specifications
from the W3C, ISO, IETF, and other specifications-issuing groups
Research and argue for particular methods of web development that keep structure in
Engage in agile, iterative web development, supported by version control
Write useful, descriptive messages attached to granular commits in a version control
Andrew, R. The New CSS Layout. A Book Apart, $15 (eBook),
Keith, J. & Andrew, R. HTML5 for Web Designers, 2nd ed.. A Book Apart,
$15 (eBook), 9781937557249
Marcotte, E. Responsive Web Design, 2nd ed. A Book Apart, $15 (eBook),
Santa Maria, J. On Web Typography. A Book Apart, $15 (eBook),
A blank, bound sketchbook of 100 pages or more
A wide-tipped black marker, like a Sharpie
An email account that you check daily
A browser- or cloud-based bookmarking scheme to aid your information management
A Basecamp account (invite will arrive via email); Basecamp, not Blackboard, will
be where we coordinate our work and communication during and outside of class.
A GitHub account (see note about anonymity in the course technology policy below)
A personal computer, Unix-based (Linux, BSD, macOS) or virtualized to run a
Unix-like OS, with the following software installed:
A plain-text editor capable of syntax highlighting and configured for
UTF-8/Unicode character encoding and Unix-style line endings (LF), entabbed with
spaces (two spaces per tab)
Firefox Developer Edition (free)
I make it my very top priority to create courses that are welcoming and accessible to all
students. I will make additional reasonable accommodations for students with documented
disabilities. In order to receive accommodations, students must obtain a letter of
accommodation from the Center for Disability Resources. The Center for Disability Resources is located in IIT
Tower, 3424 S. State Street - 3F3-1 (third floor, in the northwest corner across from the
Student Health and Wellness Center). Contact the Center by telephone at 312-567-5744, by
TDD at 312-567-5135, or via email at email@example.com
Students who have any difficulty, either permanent or temporary, that might affect their
ability to successfully participate in and complete the class should contact me
privately, either in person or electronically, at the start of the semester or as a
difficulty arises. That includes difficulties with housing, internet access, and anything
that otherwise compromises your sense of safety, security, and support—especially if it
impacts your ability to complete this class. Please reach out.
I will adjust methods, materials, or deadlines as necessary to ensure equitable
participation for all students.
Mental Health and Well-Being
It’s no secret that attending school while managing and balancing other life concerns is
incredibly stressful and at times completely overwhelming. And that’s when there’s not a
global pandemic raging, disrupting all aspects of our lives. All of us, no matter how
outwardly strong, successful, or put-together we might appear, struggle sometimes.
Illinois Tech provides all students with a variety of free counseling services. I
encourage all students to seek support and help from the Counseling Services unit of
the Student Health and Wellness Center. Students facing a crisis situation, especially
outside of the Counseling Services unit’s operating hours, may wish to call the National Suicide Prevention Lifeline at
1-800-273-8255. The Student Health and Wellness Center maintains a list of other
emergency resources worth bookmarking.
Illinois Tech’s Policy on Sexual Harassment and Discrimination
Illinois Tech prohibits all sexual harassment, sexual misconduct, and gender
discrimination by any member of our community. This includes harassment among students,
staff, or faculty. Sexual harassment of a student by a faculty member or sexual
harassment of an employee by a supervisor is particularly serious. Such conduct may
easily create an intimidating, hostile, or offensive environment.
Illinois Tech encourages anyone experiencing sexual harassment or sexual misconduct to
speak with the Office of Title IX Compliance for information on support options and the
You can report sexual harassment electronically at iit.edu/incidentreport, which may be completed anonymously.
You may additionally report by contacting the Title IX Coordinator, Virginia Foster at
firstname.lastname@example.org, or the Deputy Title IX Coordinator,
Esther Espeland at email@example.com.
For confidential support, you may reach Illinois Tech’s Confidential Advisor at
773-907-1062. You can also contact a licensed practitioner in Illinois Tech’s Student
Health and Wellness Center at firstname.lastname@example.org or 312-567-7550
For a comprehensive list of resources regarding counseling services, medical assistance,
legal assistance and visa and immigration services, you can visit the Office of Title IX
Compliance website at https://www.iit.edu/title-ix/resources.
Attendance & Participation
Your timely submission of work and active participation in the electronic discussions for
this class are required both for your own success and for the success of the class as a
whole. I do not squander students’ time with reading quizzes, but I do assign a lot of
reading. And I expect you to be prepared to discuss that reading on Basecamp by quoting
or making direct references to each week’s assigned reading.
Additionally, you should be posting to Basecamp about your individual and group progress,
questions, and challenges as you complete the course’s major projects.
Students intending to earn an A for Participation should be posting substantively on the
Discussion & Announcements Basecamp five times or more per week, with contributions
appearing multiple days per week, all semester long. Students earning a B will post three
to five times, and students earning a C will post two times, every week. Fewer than an
average of two discussion contributions per week will result in a failing Participation
grade. (While you are certainly encouraged to post to the Social Hour Basecamp, that
activity does not affect your participation grade.)
Attendance at live class meetings does not impact your participation grade, but I do hope
that everyone who is able joins those meetings.
Class Meeting Expectations and Etiquette
If you are able to attend our class meetings on the Mies Campus, here are some
important but simple guidelines:
In keeping with the University’s
masking policy, everyone in the classroom, including all students and the
instructor, must wear a mask, regardless of vaccination status. Changes to
University policy will be reflected here.
If you are sick or even just think you’re sick, stay home. You can
watch class live via Google Meet or later on YouTube. There is no penalty for missing
an in-person class, and definitely no reward for trying to be heroic and showing up
if you’re unwell. Your health—and the health of those around you—is the top priority.
But do check in with me so that you stay on track as you are able.
If you are able to attend our class meetings via Google Meet, or if our class has any
online-only meetings, here are just a few simple guidelines:
You do not have to broadcast your camera. For any reason. The choice
is yours. It’s helpful for me to be able to glance at faces and see how everyone is
reacting, but it’s totally up to you whether to broadcast your camera or not.
Please mute your mic if you’re not speaking. Self-explanatory. Muted
mics cut down on ambient noise and occasional echo that can be real problems for
people who have hearing difficulties. I encourage you to turn on the live closed
captioning when we’re in Google Meet.
Neither you nor our Meet room will appear in class videos. I will
always teach class with our Google Meet room on a second screen that will not be
recorded. If you opt to speak, your voice may be in the video, of course. But you
also have the option of messaging in the Meet room by text; I will keep an eye on
that as class is going, in case you wish to raise questions or ask for clarification
If my Internet connection fails, I will still record and post class.
That kind of thing does happen: sometimes before class, sometimes during. If I’ve got
Internet troubles, I’ll post to Basecamp from my phone and let everyone know what’s
All class meetings will be posted to YouTube. You’ll be able to
watch class on your own time if you’re unable to attend the live class. I invite
students to contribute markers to index the videos on YouTube, too, to help anyone
who needs to go back and find and rewatch something. Again, I will take great care
not to accidentally record our chat room. I will share a playlist link for all of our
videos on Basecamp and on the course website.
All major projects for this course will be submitted via Basecamp for instructor and peer
feedback. Certain deliverables, such as critiques of team members, will be submitted
separately via email. See each major project’s description for exact submission
Weekly work will be pushed to GitHub and posted about on Basecamp, as described in the
weekly work’s instructions.
All work must be submitted before the date and time specified in each project
description. Weekly work, including reading discussions, is due by the start of the first
class meeting each week. The deadlines in this class, including for draft work,
are no different from exam dates in classes that have exams. I expect you to do
your best to treat them accordingly. If you believe you are in danger of missing a
deadline, be sure to contact me well ahead of time so we can work something out.
Project 1: 15 pts
Project 2: 25 pts
Project 3: 15 pts
Production Problems: 25 pts
Basecamp Participation: 20 pts
A = 90+ pts; B = 80-89 pts; C = 70-79 pts; D = 60-69 pts; E ≤ 59 pts
A - Student has turned in all required components of a project, the work is
exceptional in quality, and reflects the student’s dedication to adjusting the project to
his or her own interests.
B - Student has turned in all required components of a project, and the work is
exceptional for undergraduate work.
C - Student has turned in all required components of a project and submitted work
that is acceptable as undergraduate level.
D - Student has turned in all required components of a project, but the work is below
E - Student has not turned in all required components of a project.
Technology is an essential part of learning and day-to-day living. It is therefore
essential to this class. You are just as responsible for learning to command various
technologies as for any other course content. Difficulty with technology is not an
acceptable excuse for being unprepared for class or for incomplete assignments.
If you are having trouble with technology or any other material covered in this course,
it is your professional responsibility to do research beyond the resources and guidance
provided in class and find supplemental materials that work for you. I also encourage all
students to contact me during my office hours or at another arranged time. I prefer that
you contact me via Basecamp Ping or email well in advance of assignment and project
deadlines. I want everyone in here to succeed, but each of you has to take the first step
and reach out for help.
Also, I have asked you to sign up for a GitHub account for this class. Note that GitHub
accounts are public, as are most social-type accounts. To protect your privacy you are
certainly allowed to use a pseudonym/alias for GitHub and any other account. That being
said, you might want to think about the high value of establishing GitHub and other
accounts under your own name or professional alias. Public accounts where you conduct
yourself professionally might well be an asset to your online presence, improving the
search results that future schools or employers turn up when they look for you on Google
As with any course at IIT, you are expected to uphold the Code
of Academic Honesty as described in the IIT Student Handbook. All work for
this course must be your own original effort, including print and digital page design and
computer code. Summarizations and quotations of text, as well as any use of open-source
code libraries and images not of your own making, should be clearly cited as legally and
ethically warranted and rhetorically appropriate. Access, storage, dissemination, and
other use of data from third-party sources must conform to the source’s terms of service,
licensing, and other relevant legal and ethical restrictions.
If you are at all uncertain as to whether you are submitting work that in whole or in
part may violate the Code of Academic Honesty, please contact me immediately and before
the work is due. The consequences of academic dishonesty are severe. Any student who
violates the Code of Academic Honesty will be subject to expulsion from this course with
a failing grade, and I will report the student to the Chair of the Information Technology
and Management Department, who may take additional disciplinary action, including
reporting violations to the relevant offices of Undergraduate or Graduate Academic
Office hours via Basecamp Chat or Pings on Tuesdays, 4pm to
5pm Central Time (America/Chicago), or by appointment or chance. If you’d like to
audio or video chat, we can of course do that, too. Just message me first. I’m always
signed into Basecamp and closely monitor my notifications. Message or email any time—I
make students a priority, and I will respond as soon as I am able.
Anthea Gonzalez (an-THAY-ah GON-za-lez), Co-terminal Student in Information
Technology and Management, Cyber Forensics and Security