CS130: Spring 2021

Intro to the Web

CS130: Spring 2021

Syllabus

Term Spring, 2021
Course EECS 130: Tools and Technologies of the Worldwide Web
Prerequisites No experience necessary!
Instructor Sarah Van Wart (she/her)
Lecture MW 4:00-4:50pm, Online
Section 1 Th 4:00-4:50pm (Katherine Johns)
Section 2 Fr 11:00-11:50pm (Jenny Lam)
Section 3 Fr 4:00-4:50pm (Z Mallwitz)

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 via Zoom. During each tutorial session, you will work through an exercise together with your peer mentor, to advance your understanding of various web concepts.

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

  • Your attendance will be required for some tutorial sessions, as you will be presenting your final project and getting feedback from others.
  • Attending the tutorial is a form of low-pressure, built-in accountability that will help you learn.

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

  • Katherine Johns (katherinejohns2021@u.northwestern.edu)
  • Jenny Lam (jennylam2021@u.northwestern.edu)
  • Z Mallwitz (isabellemallwitz2022@u.northwestern.edu)

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

  • Lynda.com (using the campus subscription)

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.

  • Visual Studio Code
  • Git and Github

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

For grading questions/concerns you should go to the graduate TA’s grading office hours (also posted on the google calendar). You can also send them a private message through Piazza with assignment grading questions/concerns.

Other Questions

For any other issues that you think are not appropriate for the peer mentors or graduate TAs, 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 9 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.

Homework Grading

Homework will be approximately weekly. Homework assignments are due at 11:59pm on Thursdays, unless otherwise specified. We will still accept late homework up to 48 hours after the original due date, but with a 20% penalty. Homework is graded according to the following scale:

No submission 0 Points No effort made
Check minus 3 Points Some effort made, but significant features are missing or not working
Check 7 Points Mostly working, but some errors or issues were found
Check Plus 10 Points Working exactly as it should

If you turn your homework late (within 48 hours of the deadline) you will be penalized 3 points (30%), and can receive a maximum of 7/10 points. I do not give extensions.

If you have any grading questions/concerns, please send a private message on Piazza within 1 week to Sarah to resolve the issue. 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 Piazza.

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 EECS 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.

Zoom Instructions

To ensure a smooth lecture experience for everyone, we have created a Zoom Guide for you. Please refer to it to understand how to access the course Zoom sessions, and some of the recording and etiquette policies.

A Note on Class Recordings

The Provost’s office has asked instructors to publish the following language in the syllabus:

Class Recordings

This class or portions of this class may be recorded by the instructor for educational purposes. These recordings will be shared only with students enrolled in the course and will be deleted at the end of the Spring Quarter, 2021 course. Your instructor will communicate how you can access the recordings.

Policy On Unauthorized Student Recording of Classroom or other Academic Activities

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.

Accommodations for Students with Disabilities

Any student requesting accommodations related to a disability or other condition is required to register with AccessibleNU (847-467-5530) and provide professors with an accommodation notification from AccessibleNU, preferably within the first two weeks of class. All information will remain confidential.