Syllabus
Course Description
What does it take to build a website from scratch? How do designers create beautiful and functional interfaces? How do websites send, store, and use data? This course aims to answer these questions by giving students exposure to some of the technologies and techniques of web development – with particular focus on front-end web interfaces.
Prerequisites
COMP_SCI 150 or COMP_SCI 211
Required Texts
There are no required textbooks for this class. All assigned readings and videos will be linked on this course site. If you would like or need access to materials in a different format, please contact Prof V as soon as possible.
Course Format
The course format is asynchronous: you’ll be reviewing videos and readings on your own time and will be completing weekly assignments. You will be assessed based on (a) weekly assignments, and (b) a final project (which can be completed individually or in a group) – where you will create a website of your choosing.
I believe that my role as an educator is not to feed you facts, but rather to help facilitate the exchange of knowledge between you, your peers, myself, and the greater outside world. I believe that as a learner, how much you gain from this course is almost entirely up to you. I work to provide the best materials and opportunities I can, and from there, your learning will be a direct reflection of how well you use said materials and resources.
As a firm believer in Universal Design for Learning (UDL), I try my best for “reading” material to be varied across both readings and videos. That being said, a lot of the material will seem repetitive– while you are more than welcome to read and watch every single item, you won’t need to in order to be able to answer the essential questions for any given unit. The goal is for you to have the same information presented in different forms, so you are able to become comfortable with the key concepts and have a thorough grasp of the essential questions, in whatever medium best suits you.
Learning Goals
The learning goals for the course include:
- Gaining exposure to the various components of a ‘full-stack’ web application and how the pieces fit together (e.g. database, web server, user authentication, and front-end client).
- Building proficiency with commonly-used tools and technologies related to web development (e.g. HTML, CSS, JavaScript, GitHub, Node.js, Heroku, and React).
- Gaining familiarity with different types of design architectures across the web stack (REST, MVC, etc.)
- Learning some fundamental UX/UI design principles (usability, accessibility, visual design, prototyping) in the context of web development
Getting Help
Office Hours (Live/Sync)
All hours will be held over Zoom (note: you must be logged in using Northwestern’s SSO)
Days/Times (Chicago/Central Time):
- Mondays: 4-5pm (Irena)
- Thursdays: 4:30-5:30pm (Justin) & 7-8pm (Ethan)
- Saturdays: 3-4pm (Amy)
- Sundays: 1-2pm (Lianhao)
By appointment with Prof V (these 1:1s will happen on a different Zoom link which will automatically be emailed to you along with a calendar invite)
Asynchronous / Piazza
If you have any questions and are unable to attend hours, please post on Piazza. Make sure to check if your question has already been asked!
Course Policies
We are working very hard to ensure this course is as accessible as possible. If you have any suggestions for how we can make the course more accessible, please reach out to Prof V. If you have any AccessibleANU accommodations, please contact Prof V as soon as possible so that we may work together to support your success in this course. Furthermore, if you are reading this, email me your favorite tech-related meme by the end of the second week of classes to receive a custom, limited edition, and soon to be highly-coveted certificate of recognition.
Collaboration Policy
Assignments are designed to be completed individually, unless otherwise noted. It is acceptable to get help online, from TAs, and from students. However, it is not acceptable to copy solutions directly from any source. In general: do not share files, screenshots, or portions of your assignments with anyone else; do not look at files, screenshots, or portions of assignments created by anyone else.
Late/Extensions Policy & Resubmissions
Late assignments will not be accepted. Students may resubmit any assignment that has received partial credit, except the final project. Assignments that have received no credit may not be submitted for late credit.
Grades
I don’t believe in nit-picking for points. I want everyone who puts in the effort to get an A in my courses. Based on feedback from previous students, I’m trying out a new point-based (un)grading system.
Assignment Types
There are four types of assignments in this class:
- Participation: Can collect up to 5 points per week, based on reading quizzes and Piazza participation
- Piazza participation includes asking relevant, meaningful, and thought-provoking questions; sharing resources; and responding to peers’ questions.
- Labs: Can collect up to 10 points each, based on fulfillment of lab-specific requirements
- Final Project: Can collect up to 35 points, based on fulfillment of final-project-specific requirements
Assignment Evaluation
Assignments will be graded on the following basis:
- Full Credit (FC): Assignment meets all requirements and collects all possible points
- Partial Credit (PC): Assignment meets some requirements and collects half possible points
- No Credit (NC): Assignment is missing or otherwise meets no requirements and collects no points
Letter / Point Breakdown
To receive a(n):
- A: Collect 135 points or more
- B: Collect 120-134 points
- C: Collect 100-119 points
- D: Collect 80-99 points
- F: Collect 79 points or less
Additionally:
- There will be no - designations (i.e., A-, B-, or C-)
- To earn a + designation (i.e., B+ or C+) you may do any one of the following:
- Design and record a short (10-15 minute) lecture, presentation, or activity related to a topic being discussed in the course. Post your video on Piazza as a public post for your peers to learn from.
- Design a lab you would assign to the class if you were teaching it. Email it to Prof V.
Assignment Table
The table below is designed to help you plan out your grade ahead of time, if you’d like to. Note there is a total of 150 points possible but only 135 are needed to get an A. The additional availability of points is an intentional design choice so you’re able to get an A even if you miss a couple of assignments.
Assignment | Possible Points Per | Total Opportunities Over Term | Max Points Over Term |
---|---|---|---|
Participation | 5 | 9 | 45 |
Labs | 10 | 7 | 70 |
Final Project | 35 | 1 | 35 |
University Policies
Below, we have also included the following statements, written by the Provost’s office:
Academic Integrity
Students are expected to comply with University regulations regarding academic integrity. Policies may be found in the booklet: “Academic Integrity at Northwestern University: A Basic Guide”. If you are in doubt, speak to the instructor or look at the University website. All assignments submitted for credit in this course must be submitted electronically unless otherwise instructed by the professor. Your work may be tested for plagiarized content. Academic dishonesty includes, but is not limited to cheating on an exam or copying someone else’s code. Failure to maintain academic integrity on an assignment will result in a loss of credit for that assignment at a minimum. Other penalties may also apply.
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.
Diversity, Equity, and Inclusion
We, as a class and community, respect the rights and dignity of each individual and group. We reject prejudice and intolerance, and we work to understand differences. We believe that diversity, equity, inclusion, and justice are critical components for campus community members to thrive.
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.
Tentative Schedule
Week | Topic(s) | Assignment(s) |
---|---|---|
Week 1 Jun 17 - Jun 21 |
Intro: Design Principles, Accessibility, & Web Development Setup (Wireframes, Domains, and Hosting) |
Lab 1 |
Week 2 Jun 24 - Jun 28 |
Web Programming Basics: HTML & CSS |
Lab 2 |
Week 3 Jul 1 - Jul 5 |
Modern Development: Image Optimization & Responsive Design (feat. Bootstrap & SCSS) |
Lab 3 |
Week 4 Jul 8 - Jul 12 |
Basic Dynamic Sites: JavaScript |
Lab 4 |
Week 5 Jul 15 - Jul 19 |
Third-party Services: JSONs, AJAX, APIs |
Lab 5 Final Project Out |
Week 6 Jul 22 - Jul 26 |
Frameworks & Libraries | Lab 6 Work on Final Project |
Week 7 Jul 29 - Aug 2 |
Frameworks & Libraries, cont’d | Lab 7 Work on Final Project |
Week 8 Aug 5 - Aug 9 |
Preserving state | Work on Final Project |
Week 9 Aug 12 - Aug 16 |
User Authentication & Databases | Final Project Presentations Work on Final Project |
Week 10 Aug 19 - Aug 23 |
No new material | Final Project Due |