Foundational principles and practices of web development and client-server architecture according to current open standards.
Taught by Professor Karl Stolley,
Fall 2021.
Course Description
From the Catalog: This course will cover the creation of Web pages and sites using HTML, CSS,
Javascript, jQuery, and graphical [sic] applications as well as the client and 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.
Course Outcomes
At the conclusion of this course, successful students will be able to:
Recognize HTML, CSS, and JavaScript markup and code in a web page/application
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 CSS; and
error-free, progressively enhanced JavaScript over HTML pages that continue to function in the
absence of JavaScript
Effectively comment on and format source code for maximum readability
Track the development of a project over time and collaborate with others using version control
Course Objectives
Students completing this course will learn to:
Explain the client and server architecture of the internet and related web technologies
Use a basic text editor and other software tools to create web pages using HTML, CSS, JavaScript, and images
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 HTML, design
entirely in CSS, and progressively enhanced behavior in JavaScript
Engage in agile, iterative web development, supported by version control
Write useful, descriptive messages attached to granular commits in a version control system
Books
Required
Andrew, R. The New CSS Layout. A Book Apart, $15 (eBook), 9781937557683
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), 9781937557188
Santa Maria, J. On Web Typography. A Book Apart, $15 (eBook), 9781937557065
Materials
Required
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)
Git (free)
Special Needs
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 disabilities@iit.edu
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 resolution process.
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 foster@iit.edu, or the Deputy Title IX Coordinator, Esther Espeland
at eespeland@iit.edu.
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
student.health@iit.edu 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
In-Person Meetings
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.
Online Meetings
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 that way.
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 going on.
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.
Assignment Submission
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 instructions.
Weekly work will be pushed to GitHub and posted about on Basecamp, as described in the weekly work’s
instructions.
Late Work
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.
Grading Policy
Project 1: 15 pts
Project 2: 25 pts
Project 3: 15 pts
Production Problems: 25 pts
Basecamp Participation: 20 pts
TOTAL: 100pts
A = 90+ pts; B = 80-89 pts; C = 70-79 pts; D = 60-69 pts; E ≤ 59 pts
Grading Criteria
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
undergraduate level.
E - Student has not turned in all required components of a project.
Technology Policy
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 and elsewhere.
Academic Integrity
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 Affairs.
Course Information
Instructor
Dr. Karl Stolley,
Associate Professor of Information Technology and Management
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.
Teaching Assistant
Anthea Gonzalez (an-THAY-ah GON-za-lez),
Co-terminal Student in Information Technology and Management, Cyber Forensics and Security
In-person office hours on Thursdays, 10am to 12pm Central Time (America/Chicago). I am always signed into email and Basecamp, so message or email me any time and I will respond as soon as possible.