CS130: Spring 2022

Tools and Technologies of the World Wide Web

CS130: Spring 2022

Syllabus

Course CS 130: Tools and Technologies of the Worldwide Web
Term Spring, 2022
Professor Sarah Van Wart (she/her
Class Time MW 4:00-4:50PM
Class Location Annenberg Hall G15

Learning During COVID-19

The COVID-19 pandemic is still ongoing and will present new, unexpected challenges to our class and to our community at Northwestern. I want to acknowledge that things are difficult for many of us on multiple fronts. Some thoughts:

  1. Your health and well-being is always top priority. Please communicate with me if you have something going on so that we can figure out a path forward together.
  2. There are numerous resources at Northwestern that are in place to support stuednts with extenuating circumstances (e.g. CAPS, talking to your academic advisor, talking to the dean of students, etc.). I can help you navigate these paths if you need help.

Weekly Topics

Note that the schedule is dynamic and subject to change.

Week Topic
Week 1 03/29/22 Tue, 03/29 Intro to the Course
03/30/22 Wed, 03/30 Intro to HTML
04/01/22 Fri, 04/01 Tutorial 1: Installation & Configuration
Week 2 04/04/22 Mon, 04/04 Web Infrastructure
04/06/22 Wed, 04/06 Intro to CSS: The DOM, Selectors, & the Cascade
04/08/22 Fri, 04/08 Tutorial 2: Getting Started with GitHub
Week 3 04/11/22 Mon, 04/11 Principles of Visual Design
04/13/22 Wed, 04/13 Intro to Design with Accessibility in Mind (with Victoria Chávez)
04/15/22 Fri, 04/15 Tutorial 3: Design Lab: Make a Homepage
Week 4 04/18/22 Mon, 04/18 Creating Page Layouts w/CSS: Flex
04/20/22 Wed, 04/20 Creating Page Layouts w/CSS: Grid
04/22/22 Fri, 04/22 Tutorial 4: CSS Grid & Media Queries
Week 5 04/25/22 Mon, 04/25 CSS Fun
04/27/22 Wed, 04/27 Intro to JavaScript
04/29/22 Fri, 04/29 Tutorial 5: Practice manipulating the DOM with JavaScript
Week 6 05/02/22 Mon, 05/02 Intro to Programming with JavaScript
05/04/22 Wed, 05/04 Lists, objects & loops
05/06/22 Fri, 05/06 Tutorial 6: Music Player
Week 7 05/09/22 Mon, 05/09 More Practice with JavaScript
05/11/22 Wed, 05/11 Working with Data: AJAX & Web APIs
05/13/22 Fri, 05/13 Tutorial 7: Starting the Spotify JS Homework
Week 8 05/16/22 Mon, 05/16 Spotify Activity
05/18/22 Wed, 05/18 Integrating Third-Party UI Components
05/20/22 Fri, 05/20 Tutorial 8: Informal Project Presentations [Mandatory Attendance]
Week 9 05/23/22 Mon, 05/23 Data Visualization
05/25/22 Wed, 05/25 Alternative Inputs / Outputs
05/27/22 Fri, 05/27 Tutorial 9: Optional: Use for Office Hours
Week 10 05/30/22 Mon, 05/30 Memorial Day
06/01/22 Wed, 06/01 Domain Names & Analytics

About the Course

This course is an introduction to the web, and assumes no prior knowledge. If you feel like you know nothing about coding (as in computer code) or design, but are a little bit curious about the web, then this course for you. If you’ve had quite a bit of experience with coding and design but want to continue developing your skills / portfolio, then this course may also be for you, although you may eventually want to explore additional courses offered in the CS Department (e.g. Agile Programming, Information Visualization, Intro to HCI, etc.).

Websites are living documents that require multiple forms of expertise to design and build – understanding the needs of the users and organizations, understanding technical and computational ideas, understanding potential implications of design decisions, etc. Moreover, as web techniques/technologies continue to evolve, it is also import to “learn how to learn” about new technologies, including interpreting technical documentation, modifying and adapting sample code, and thinking about whether or not to use an external library (versus building something from scratch). Developing these competencies involves cultivating a variety of practices and dispositions (versus acquiring some fixed body of knowledge).

Taking this course means committing – for 10 weeks – to practicing your emergent coding skills, turning in weekly assignments, committing to doing homework, being present in class for individual and group activities, and most importantly, persevering when things get confusing/difficult and asking questions. Your enjoyment and success in this course depends on your commitment to showing up, engaging, and practicing your developing skills and ideas.

Course Format

Lectures

Lectures will take place during class time, and will be recorded. I will also assign you readings and video tutorials, which will be posted on the course website.

Tutorial Sessions

This course also involves weekly small-group tutorial sessions where you will work with a member of the teaching staff, beginning in Week 1. Tutorial sessions will be run synchronously (live) by your assigned peer mentors. During each tutorial session, you will work through an exercise together with your peer mentor, to advance your understanding of various web concepts.

Following the submission deadline, solutions will be made available via Canvas.

Homework and Projects

The majority of your grade will be based on 4 homework assignments and one final project – creating a website of your choosing – that you will complete over the course of the quarter.

Course Staff

Peer Mentors

Office Hours

Consider office hours as an extension of the class, and we want you to rely on them to get the help you need for assignments. We expect that everyone will need to attend office hours from time to time throughout the quarter. Many students opt to go every week. Office hours will be posted on the course’s Google Calendar.

Course Materials and Resources

Free Online Books

Software

As this is a programming course, you will be using the free software programs listed below. This software will take about 3GB of space to install. Installing and configuring programming software can be a hassle, but it is part of the process of developing your working computing knowledge. We will help you.

Getting Questions Answered

Assignment & Programming Questions

For assignment and programming related questions you should post questions on our class Piazza site. Before you post a question, please do a quick search to make sure that one of your classmates hasn’t already asked the same question. Piazza gives you the option of posting anonymously (to your classmates) so that you don’t feel intimidated to ask a question. As a general rule, do not post ANY code that would be part of an answer to an assignment question. It is critical that you use Piazza for assignment questions; any assignment questions emailed directly to any course staff will be forwarded to Piazza.

If you have a question about code that requires you to show someone your code, please go to one of the peer mentor hosted office hours. These hours (days/times/locations) are posted on a google calendar linked to from the Piazza resources page (under the ‘course information’ tab) for our class. In general, please use the peer mentor hours, these mentors were selected from a large number of applicants and are highly qualified!

Grading Questions

If you believe that your assignment has been misgraded, please send a private message on Campuswire within 1 week to Sarah, with an explanation of the potential grading error. Finally, it is your responsibility to keep up-to-date on class material and announcements. This includes material presented and announcements made in class, via email, or on Campuswire.

Other Questions

For any other issues that you think are not appropriate for the peer mentors, please come talk to me. This might include things like concerns about your progress in the course, questions about content from my lectures, personal matter related to your participation in the course, larger grade concerns, advice about future courses, majors and internships, etc.

Grading

This course will consist of weekly homework assignments and tutorial exercises, which will help you build up to a final project. There will be 10 tutorials. You may miss 2 without a grade penalty. Your passes are to be used for sickness, unexpected events, etc., so don’t cash them in too early!

4 Homeworks 4 x 10 Points 40%
1 Project 1 x 20 Points 40%
8 Tutorials 8 x 2.5 Points 20%
    100%

Final grades are assigned on a fixed scale: 93-100 is an A, 90-92.99 is an A-, 87-89.99 is a B+, etc. Some other logistics:

  1. Final course grades will not be rounded or curved.
  2. We will NOT be using the final exam time for this class.
  3. You will be presenting your final project during your tutorial section on the last day.

Tutorial Grading

All Tutorials are due on Friday at 11:59PM and are graded pass / fail. We will typically not grade you on attendance. That said:

Homework Grading

All homework assignments will be due as indicated on Canvas. A late penalty will be applied to all late homework submissions. The late penalty is as follows:

Days Late Penalty
up to 1 day 10% penalty
1-2 days 20% penalty
2-3 days 30% penalty
3-4 days 40% penalty
> 5 days 50% penalty

Late Credits

During COVID, we have decided to instill a system of “Late Credits.” Over the course of the quarter, you have 5 “late credits” that you can allocate across your homeworks, no questions asked. The purpose of these late credits is to give you some flexibility if you get sick or have a personal emergency, as Sarah and the course staff are having difficulty keeping track of all of the extension requests.

*Note that your final project deliverable MUST be submitted on time because of the Ceasar grading deadline.

How do credits work?

To apply your “late credits” to an assignment, please fill out this form

Policy on Academic Honesty

In the past, there have been a few unfortunate instances in which students have presented work other than their own. For the programming assignments: You are allowed (encouraged, even!) to discuss general approaches to solving problems, but all work you submit must be your own. Working “together” and presenting variants of the same file is not acceptable. Here are some specific guidelines to make sure you don’t cross the line:

  1. Do not exchange programs or program fragments in any form – on paper, via e-mail, or by other means.
  2. Do not copy solutions from any source, including the web or previous CS 130 students.
  3. While working with other students, it is perfectly acceptable to ‘look’ at each other’s code (perhaps while helping someone to debug), but you should NEVER be scribing (typing or writing) your own work while looking at someone else’s (on a computer screen, paper, whiteboard, etc.).
  4. Uploading materials from this course to websites that sell such content to students is prohibited by Northwestern’s academic integrity policies, and may also put you at risk for violating copyright policies in Northwestern’s Student Conduct Code.

Contact Sarah Van Wart if you have any questions about what is appropriate.

Masks Required All Quarter

To ensure the inclusion of all participants in this course, this classroom will require masks for the duration of the Spring 2022 academic term. This requirement is a result of an accommodation determination made in line with the Americans with Disabilities Act and supported by the Office of Equity and AccessibleNU. As with previous terms, non-compliance with this requirement will be reported to the Office of Community Standards (OCS) and/or the Office of Equity. Thank you for your assistance in keeping our community safe.

Syllabus Statements from the Provost’s Office

Below, we have also included the following statements, written by the Provost’s office:

Academic Integrity

Students in this course are required to comply with the policies found in the booklet, “Academic Integrity at Northwestern University: A Basic Guide”. All papers submitted for credit in this course must be submitted electronically unless otherwise instructed by the professor. Your written work may be tested for plagiarized content. For details regarding academic integrity at Northwestern or to download the guide, visit: https://www.northwestern.edu/provost/policies/academic-integrity/index.html.

Accessibility

Northwestern University is committed to providing the most accessible learning environment as possible for students with disabilities. Should you anticipate or experience disability-related barriers in the academic setting, please contact AccessibleNU to move forward with the university’s established accommodation process (e: accessiblenu@northwestern.edu; p: 847-467-5530). If you already have established accommodations with AccessibleNU, please let me know as soon as possible, preferably within the first two weeks of the term, so we can work together to implement your disability accommodations. Disability information, including academic accommodations, is confidential under the Family Educational Rights and Privacy Act.

Prohibition of Recording of Class Sessions by Students

In this class, we will NOT be recording classes. Note from the Provost’s office:

Unauthorized student recording of classroom or other academic activities (including advising sessions or office hours) is prohibited. Unauthorized recording is unethical and may also be a violation of University policy and state law. Students requesting the use of assistive technology as an accommodation should contact AccessibleNU. Unauthorized use of classroom recordings — including distributing or posting them — is also prohibited.

Under the University’s Copyright Policy, faculty own the copyright to instructional materials — including those resources created specifically for the purposes of instruction, such as syllabi, lectures and lecture notes, and presentations. Students cannot copy, reproduce, display or distribute these materials. Students who engage in unauthorized recording, unauthorized use of a recording or unauthorized distribution of instructional materials will be referred to the appropriate University office for follow-up.

Support for Wellness and Mental Health

Northwestern University is committed to supporting the wellness of our students. Student Affairs has multiple resources to support student wellness and mental health. If you are feeling distressed or overwhelmed, please reach out for help. Students can access confidential resources through the Counseling and Psychological Services (CAPS), Religious and Spiritual Life (RSL) and the Center for Awareness, Response and Education (CARE). Additional information on all of the resources mentioned above can be found here:

COVID-19 Classroom Expectations

Students, faculty, and staff must comply with University expectations regarding appropriate classroom behavior, including those outlined below and in the COVID-19 Code of Conduct. With respect to classroom procedures, this includes:

  • Policies regarding masking and social distancing evolve as the public health situation changes. Students are responsible for understanding and complying with current masking, testing, Symptom Tracking, and social distancing requirements.
  • In some classes, masking and/or social distancing may be required as a result of an Americans with Disabilities Act (ADA) accommodation for the instructor or a student in the class even when not generally required on campus. In such cases, the instructor will notify the class.
  • No food is allowed inside classrooms. Drinks are permitted, but please keep your face covering on and use a straw.
  • Faculty may assign seats in some classes to help facilitate contact tracing in the event that a student tests positive for COVID-19. Students must sit in their assigned seats.

If a student fails to comply with the COVID-19 Code of Conduct or other University expectations related to COVID-19, the instructor may ask the student to leave the class. The instructor is asked to report the incident to the Office of Community Standards for additional follow-up.

Exceptions to Class Modality

Class sessions for this course will occur in person. Individual students will not be granted permission to attend remotely except as the result of an Americans with Disabilities Act (ADA) accommodation as determined by AccessibleNU.

Maintaining the health of the community remains our priority. If you are experiencing any symptoms of COVID do not attend class and update your Symptom Tracker application right away to connect with Northwestern’s Case Management Team for guidance on next steps. Also contact the instructor as soon as possible to arrange to complete coursework.

Students who experience a personal emergency should contact the instructor as soon as possible to arrange to complete coursework.

Should public health recommendations prevent in person class from being held on a given day, the instructor or the university will notify students.