CS-3017: Intro to Web Design

Syllabus

Course Staff

Instructor

Kevin Angstadt
(he/him/his)

Office: Bewkes 103
Email: kangstadt@stlawu.edu
Communication Hours: I regularly check Email 9-5 on weekdays. While I may respond outside those hours, I make no guarantees.
Student Hours:

Addressing: I encourage you to call me by any one of the following names. Please use what makes you feel the most comfortable.

  • Kevin
  • Prof./Dr. Angstadt
  • Prof./Dr. A
  • Prof./Dr. Kevin
Kevin Angstadt

Course Information

Fall 2025
Meets: MW 12:50–2:20
Room: Valentine 207
Course Requirements:

  • None: this course assumes no background knowledge beyond basic computer literacy and typing.
  • CS-3017 is intended for students who have not yet done any substantial web design work.
  • Students will benefit from having access to a personal computer during class time. If you do not have a computer you can bring to class, please let me know ASAP.
  • Students are expected to attend class regularly.

Required Materials

There are two required books for this class:

Hello Web Design
Hello Web Design [HWD]

Author: Tracy Osborn
Publisher: No Starch Press
ISBN: 978-1-718-50138-6

The Design of Everyday Things
The Design of Everyday Things [DET]

Revised & Expanded Edition Author: Don Norman
Publisher: Basic Books
ISBN: 978-0-465-05065-1

  These books are Day 1 Digital resources available in Canvas under the Day 1 Digital tab. You may opt-out until 2025-09-10 by using the Opt-out tool in Canvas. For assistance or questions, please email bookstore@stlawu.edu.

You may wish to purchase actual copies of these books. While e-books can be appealing, there are times when having actual books that you carry with you through life are desirable. These two books are more fundamental than "learn how to" books, so they will likely stand the test of time.

Additional readings will be provided as needed throughout the semester.

Important Dates

Description Date
First Class Meeting 2025-08-27
Last Day to Add/Drop 2025-09-04
Pass/Fail Deadline 2025-10-31
Last Day to Withdraw 2025-11-07
No Class—Thanksgiving Break 2025-11-24/26
Last Day of Class 2025-12-10
Final Exam Period (all assignments due) 2025-12-15

Course Overview and Goals

From the course catalog: Provides a foundational introduction to web design, focusing on the principles of creating well-structured, accessible, and visually appealing web pages. Students will learn core web technologies, including markup and styling languages, as well as best practices for organizing and laying out content. Students will gain practical skills for building and publishing websites. No prior programming experience is required.

This course satisfies the ARTS requirement.

When someone visits a new website or downloads a new app, the first few seconds of interaction are critical. No matter how good a service you provide, if the website doesn't look "right" or doesn't feel "natural", it's likely that the visitor will bounce or leave.

Thus, the design of a website is critical for product or personal success. What makes for good design is a complex question—indeed, there are entire degrees one can earn in design—but we can identify some key principles that contribute to effective design. This semester, we will explore these concepts while also learning several fundamental tools and languages used to build webpages.

This course is not a programming course per se, but we will definitely write what many would consider "code". However, the focus will be on design and implementation rather than on specific programming languages or paradigms.

At the end of this course, you will be able to:

  1. Create and configure multi-page websites hosted online.
  2. Design and lay out web pages that are visually appealing, user-friendly, and work well on a variety of devices.
  3. Discuss key design principles, their relationship to human psychology, and how they relate to web design.

Course Topics

This course is structured around learning core concepts in web design as implemented in Markdown, HTML, and CSS. We will learn the necessary parts of each language to allow us to develop web pages, but many concepts will also be left for you to explore independently.

A rough ordering of topics is presented below, but is subject to change. The lectures page maintains a detailed description of topics covered so far in class.

  1. Publishing Sites Quickly
    • Markdown
    • Jekyll
    • GitHub Pages
  2. Building Pages From Scratch (or Nearly Scratch)
    • Wireframing
    • HTML5
    • CSS
    • Bootstrap
    • Accessibility
  3. Web Design Principles
    • Layout and Whitespace
    • Color Theory
    • Typography
    • Images and Icons
    • User Experience
  4. Fundamental Design Principles
    • Human-Centered Design
    • Stages of Action
    • Memory
    • Constraints
    • Designing for Error
  5. Further (or fewer) topics as time permits

Course Format

This course consists of both in-class components as well as activities that must be completed outside of class time. The subsequent subsections provide an overview of this course's structure.

Weekly Lectures

Each week, there will be synchronous lectures during our scheduled course time. These meetings will introduce you to the fun and exciting world of web design. They won't be traditional lectures, but based more around discussion, experimentation, and exploration of topics. Please review the attendance policy below for expectations about attending these lectures.

Lectures will be recorded and available on Canvas for students wishing to review material covered in this course.

Homework Exercises

Homework exercises will be assigned periodically throughout the course. While you may have time to complete these exercises in class, there may be many occasions where you are asked to complete something before the start of the next class. The purpose of these exercises is to give you additional opportunities to solve real-world problems using your newly acquired design skills. Further, these exercises help you prepare for in-class assessments.

While correctness is important, your effort on these assignments will be weighted heavily. This includes, but is not limited to, thorough commenting of your code. Homework exercises assigned during the previous week are due on Gradescope before the start of the Monday class. All exercises must be submitted no later than two days after the official due date to receive credit.

Readings

Readings will be assigned on a class-by-class basis. There will be a short take-home quiz associated with each reading assigned for class. The purpose of these quizzes is to help students retain information for discussion of material during classes.

Quizzes will be available online via Gradescope and must be completed prior to the start of each class meeting (except for exams or as otherwise announced). There is no limit on the number of times a student may take a reading quiz before the deadline. Excluding special circumstances, reading quizzes may not be taken after the deadline has passed.

In-Class Quizzes

Each week, there will be a 15-20 minute quiz for you to complete in class on Mondays. This quiz will typically focus on material covered over the past week, but are officially cumulative. You are encouraged to review recent class material and readings before coming to class. Quizzes for this class will be closed note, but you may use a reference notecard. Weeks without a quiz will be announced.

Final Project

This class will have a final project, due on the day of our final exam. Further details about this project will be made available as the semester progresses.

No Exams

There are no traditional exams in this course (including no final exam). Instead, we will rely on the weekly quizzes to assess your learning throughout the semester.

Attendance

Students are expected to attend each class meeting. Absences will leave holes in your understanding of course concepts. If you must miss a class, you are expected to make up the material on your own time before the next class. You are welcome to attend student hours if you have specific questions about the material you missed, but you will not receive any help if you ask, "what did I miss?" during student hours.

I do my best to post resources from class online (slides, recordings, etc.), but I write a significant amount on the board. This means you will need to review notes from a peer or rewatch the video recordings.

Should you become unable to attend class (e.g., you become sick, you have a doctor's appointment, or your housing situation changes), please email the course instructor as soon as possible.

Grading

Final grades are based off of a cumulative point system. All points carry equal weight in this class. That means, for example, that 1 point from a homework exercise is equivalent to 1 point from a quiz. You can expect a majority of points to come from in-class quizzes. Homework and the final project will make up a smaller portion of your grade.

Your final grade will be calculated as follows. First, the percent of total possible points you received is calculated. Then, this percentage is mapped to a numeric grade on the 4.00 scale (see below). Note that I do not guarantee any particular rounding scheme for this calculation.

Grade Max Min
4.00 100 96
3.75 95 93
3.50 92 90
3.25 89 87
3.00 86 83
2.75 82 80
2.50 79 76
2.25 75 73
2.00 72 70
1.75 69 67
1.50 66 64
1.25 63 62
1.00 61 60
0.00 59 0

Regrading Policy

Requests for an assignment regrade must be made in person to the instructor within one week of the assignment being returned to the student and by the final day of classes. Any requests submitted after this may be done at my discretion. I reserve the right to regrade the entire assignment, which may result in either an increase or a decrease in your grade. This is not intended to scare off students, but to avoid frivolous requests.

Examples of appropriate reasons for requesting a regrade include:

  • You believe your answer to a question matches the answer on the key.
  • Your answer is different from the key, but is also correct.
  • There is in error in the summation of points.

Examples of inappropriate reasons for requesting a regrade include:

  • Your programming assignment works on your computer but not the grading server.
  • Most of what you wrote on an assignment was correct, but you want more partial credit.
  • You are one point away from a 3.75 and are trying to get extra points.

Electronics Policy

Students will need a computer with an internet connection to participate in this course. If you do not have access to a reliable computer, please contact me as soon as possible. There may be resources available to help.

Students are expected to remain on task during synchronous activities (no web browsing, social media usage, etc.), as per the professionalism policy. If you have any concerns about this request, please contact me outside of class, and we will work together to find an appropriate solution.

Generally speaking, I encourage taking notes by hand. At least one recent study found that students who took notes longhand remembered more and had a deeper understanding of the material. Rather than using slides, I typically take notes on the board, which will help you keep up if you are taking notes by hand.

Academic Integrity and Professionalism

As noted in the Academic Honor Code in the Student Handbook, "all students at St. Lawrence University are bound by honor to maintain the highest level of academic integrity." Please review the handbook for general guidelines. In particular, you should only be turning in your own work. You are expected to abide by the additional policies listed below. It is my responsibility to report violations of these policies to the Dean.

Students are also expected to act in a professional manner for the duration of the course. This includes (but is not limited to): staying on task during lectures, being respectful of others, avoiding extra use of electronics in class, and promptness for class and deadlines. Unprofessional behavior will result in a reduction of the student's final grade.

Assignment Policies

In addition to the general policies described in the Student Handbook, you are expected to follow the following policies, which are specific to this course.

The assignments in this class are designed to help you learn. Learning doesn't always come easily, so struggling with some programs is normal and expected. If you aren't ever struggling, you probably aren't learning!

That is one important reason to complete your assignments independently. Another reason is that academic integrity requires you to submit your own work. This rule applies to code just as it does to any other form of writing.

Signs of code plagiarism include:

  • Code that uses syntax that was not introduced in course materials.
  • Code that is very similar to that of classmates or previous students.
  • Code that you cannot explain or reproduce.

Examples of code plagiarism include:

  • Copying existing code (from a classmate, a previous student, the web, etc.)
  • Having someone (human or AI) write the code for you (or feed it to you bit by bit).
  • Working so closely with a classmate that you end up with essentially the same code.
  • Providing your code to a classmate, who then copies it (making you both culpable).

Students and faculty all have responsibilities to uphold academic integrity at St. Lawrence. If I see signs of plagiarism in your code, I will ask you to meet with me to discuss it. Any plagiarized assignment must receive a grade penalty and a letter to the Academic Dean.

Citations

You must always cite any people or other allowed resources (including class notes, and assigned readings) that helped you complete your work. You may do this by adding comments to your code. Failure to appropriately cite resources will be considered a breach of the honor policy and will be dealt with as described in this document. If, at any point, you are unsure about the citation policy, ask. Your grade is not affected by the number of resources you cite; I will not be impressed by low or high citation counts. Use the resources you need to complete the assignments!

In addition to following the practice of academic honesty, the purpose of these citations is to help you find resources when you look back at your work. If you were confused by something before, it's likely you might be confused by it again later.

Best Practices

When it comes to academic integrity and professionalism, it's best to ask questions if you are unsure. It has been my experience that most violations are acts of desperation or misunderstanding rather than ill will. I would rather you ask for help or clarification than commit an act of academic dishonesty.

As a general rule of thumb, when you are talking to someone (other than the instructor) about work in this class, close all code that you are working on. If you cannot look at your code (or others' code!) while you are discussing content, it becomes significantly more difficult to violate these policies.

In most cases, I don't believe that students maliciously break these policies; violations tend to be an act of desperation. If you are tempted to copy code from online, a classmate, or a peer, STOP and email me. You will find that my late assignment penalty is significantly less harsh than my academic dishonesty penalty.

Course Platforms

Canvas

Canvas will be the launching site for this class. It will have links to this course site, your assignments, and grades.

This Website

All course materials will be available through this course website. This is the “home base” for this course. If you are looking for something related to CS-3017, this is the place to start!

Gradescope

You will submit assignments for this course using Gradescope, which will be linked directly from Canvas. For exercises, you will upload your code directly. When submitting a written assignment, you will need to convert your submission into either a PDF or a set of picture files. Contact the instructor if you have any difficulty uploading your assignments.

Panopto

Recordings of classes will be available on Panopto under the Panopto link. You can access these videos by using the direct links provided in Canvas.

Tips for Success

Computer Science courses can often look and feel different from your other classes at St. Lawrence. Nevertheless, mature study habits can help you be successful and achieve your personal goals this semester. Many of these tips apply to courses across the curriculum, but a few are also specific to this particular class.

  1. Start homework exercises and projects early, not the day before it is due. Humans are notoriously bad at estimating time; it's better to have too much time rather than too little.
  2. Struggle through the frustration and don't give in to temptation to take shortcuts or use disallowed resources
    • This is part of the learning process (and why you should start early)
    • Take a break. Sometimes stepping away from a problem can give you new insights
    • If you've tried to solve a problem three times and it's still not making sense, then it is a good time to ask for help
  3. Challenge yourself to ask questions and offer answers in class
    • Nothing bad happens if you make a mistake
    • If you have a question, you can be sure that at least two other people in class have the same question—ask it and help all three of you
  4. Set aside time outside of class and keep a regular schedule of when you are going to study for this class
    • Do not use this time for other work or commitments unless you have already finished everything (including studying) for this class
    • As a rule of thumb, set aside two (2) hours of time for every one (1) hour of class
    • If you have academic accommodations, adjust the time you set aside to match
    • Find a place you can concentrate. There may be too many distractions in your room, so consider the library, PQRC, classroom, or the study and collaboration room
  5. After each class, review the code and notes you took
    • Fix any typos or mistakes that you find
    • Add additional comments to your code to explain ideas
    • Make extra notes to clarify what you wrote down and complete any examples that were left for you to do
    • Create a list of questions you have about the material
  6. Do the assigned reading
  7. Show up for student hours
    • This is a great time to ask your questions!
    • You don't need questions to attend, however. You might use this time for some of your set-aside review
  8. Come to class; watching the recordings is not a substitute for attending
  9. Make sure that your development environment is in “a good state”
    • No errors in your IDE settings
    • Code from previous classes works without crashing
    • GitHub/Git/OneDrive are up to date and do not have any conflicts

Mental Health and Wellbeing

St. Lawrence University is committed to advancing the mental health and wellbeing of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available.

For help, contact the Diana B. Torrey '82 Health and Counseling Center at (315) 229-5392 Monday through Friday from 8:30 AM–4:30 PM. After hours, call Campus Safety at (315) 229-5555 to speak with the after-hours crisis counselor. The nation-wide 24/7 crisis counselor service can be reached by calling (315) 229-1914.

For more details, visit https://www.stlawu.edu/health-and-counseling-services.

Accommodations

Student Accessibility Services

Your experience in this class is important to me. It is the policy and practice of St. Lawrence University to create inclusive and accessible learning environments consistent with federal and state law. If you have already established accommodations with the Student Accessibility Services Office, please meet with them to activate your accommodations so we can discuss how they will be implemented in this course.

If you have not yet established services through the Student Accessibility Services Office but have a temporary health condition or permanent disability that requires accommodations, please contact them directly to start the process of requesting accommodations and to receive guidance with the next steps.

SAS Contact Information

Telephone: 315.229.5537

Email: studentaccessibility@stlawu.edu

Website: https://www.stlawu.edu/offices/student-accessibility-services

Diversity and Equity Statement

As indicated by the University's Statement on Diversity and the student handbook, we are committed to treating students fairly and with dignity regardless of age, color, creed, disability, marital status, national origin or ancestry, race, religion, sex (including gender identity and gender expression), sexual orientation, and/or veteran status.

It is my intent that students from all diverse backgrounds and perspectives be well served by this course, that students' learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. Should you have any concerns, problems, or suggestions, please do not hesitate to contact me. I strive to make my classrooms safe spaces for learning.

Please also feel free to talk to me about events that happen outside my classroom. If you do not feel comfortable talking to me, there are many other resources available to you on campus, including those on this list of on-campus resources: https://www.stlawu.edu/diversity-and-inclusion/campus-resources.

You can report a bias incident here: https://www.stlawu.edu/diversity-and-inclusion/bias-reporting.

Title IX

MEMBERS OF THE ST. LAWRENCE COMMUNITY—students, employees, and guests— should expect to be free from retaliation, discrimination, harassment, and sexual misconduct, behavior that is inherently abusive of the humanity that each of us brings to the campus community. St. Lawrence University and its faculty are committed to supporting our students and seeking an environment that is free of discrimination, harassment, and sexual misconduct. St. Lawrence strongly encourages students to report retaliation, discrimination, harassment, including sexual harassment, sexual exploitation, domestic violence, dating violence, stalking, or sexual assault to St. Lawrence University's Title IX office. Discrimination on the basis of sex includes discrimination on the basis of assigned sex at birth, sex characteristics, pregnancy and pregnancy related conditions, sexual orientation, and gender identity.

If you speak with a faculty member about an incident that involves a Title IX matter or matter of other discrimination or harassment, that faculty member must notify SLU's Title IX Coordinator that you shared that experience. This is true even if you ask the faculty member not to disclose the incident. Moreover, if you disclose an incident of retaliation, discrimination, harassment, or sexual misconduct in an academic assignment, the faculty member must also report that experience to the Title IX Coordinator.

Once a report is made, the reporting individual can expect to receive email outreach from the Title IX Coordinator, who will provide resources and possible resolution options. If the impacted person is not a threat to themselves or others, the impacted person will be free not to respond to the offer to meet. You can find more information for resources and reporting options at: https://www.stlawu.edu/offices/title-ix/reporting-options-confidential-and-nonconfidential-resources.

Title IX also protects students who are pregnant or need assistance for pregnancy related conditions. If you are pregnant, the Title IX Coordinator can assist you in understanding your rights and options as well as provide supportive measures.

Lindsey Tropper (Cohen) is the Title IX Coordinator at St. Lawrence University (Student Center Room 302; lcohen@stlawu.edu; 315-229-5334).

PQRC

The Peterson Quantitative Resource Center (PQRC) offers free, no appointment necessary peer tutoring across a range of courses with quantitative content. The PQRC student staff of mentors is trained to assist students to develop and to improve their quantitative skills and understanding. More information about the PQRC's current hours and modes of operation can be found at the PQRC webpage: www.stlawu.edu/pqrc.

Research

Your class work might be used for research purposes. For example, we may use anonymized student assignments to design algorithms or build tools to help programmers. Any student who wishes to opt out can contact the instructor to do so up to seven days after final grades have been issued. This has no impact on your grade in any manner.

Right to Revise

This is a "living syllabus". Therefore, its contents may be changed throughout the course of the semester to address changing needs. I will do my best to notify students of changes; however, it is up to the student to monitor this page for any changes. Final authority on any decision in this course rests with the instructor (i.e., Kevin Angstadt), not with this document.