INFO 2310: Interactive Web Development Syllabus (Spring 2026)
Credits: 4, Letter Grade
Prerequisites: INFO 1300 and CS 1110 or CS 1112
Expected Weekly Workload: 8 hours/week outside class
Instructor: Dr. Kyle Harms (he/him); https://kharms.infosci.cornell.edu
Course Website: https://infosci.cornell.edu/courses/info2310/2026sp/
Course Email: info2310@cornell.edu
Send all private communication to the course email; do not directly email or contact the instructor or TAs. We strive to respond to each email within 2 business days (Monday-Friday, excluding holidays and breaks), during business hours (Monday-Friday, 9am-4pm). Only the instructor, course administrator, and select graduate TAs have access to the course email; undergraduate TAs will never see your messages.
Lectures: Mondays, Wednesdays, 10:10am-11:25am, Phillips Hall 203
Friday Sections: Fridays, 50 minutes. See the class roster for details.
Office Hours: calendar
Required Materials: Pen or pencil, paper, a functioning laptop, and an active github.com account.
Textbooks: None
Course Description
This course introduces students to the conceptual, design, and technical aspects of authoring client-side interactive web applications. Students will use the JavaScript programming language to author dynamic client-side interactive and accessible components, implement REST APIs, query data from a document database, and asynchronously request and render API data client-side. Through a succession of homeworks and projects, students will learn and practice how to apply these principles to the creation of client-side rendered websites. Modern best practices are emphasized, including the use of version control, development containers, and generative AI.
Course Objectives
By the end of the course, a student will be able to:
- Design usable and accessible client-side rendered components for interactive single-page web applications.
- Communicate between client and server side code via HTTP requests and responses.
- Store and retrieve web content in a document database.
- Design and implement usable RESTful APIs.
- Troubleshoot programming problems independently using reference documentation, debuggers, and generative AI.
- Utilize generative AI tools effectively as a coding partner to assist in development.
- Gain experience with developer best practices, like version control using Git and authoring documentation using Markdown.
- Demonstrate a high standard of professionalism.
Course Structure & Assignments
To create the best learning environment for you, this class provides a lot of opportunities for practice with rapid feedback. However, the fast pace means that it's easy to fall behind. The course structure and policies are designed to help you stay on track and to help you succeed.
This is a project-oriented class with exams. There are 3 homework assignments, 2 projects (with four milestones), 8 practice problem workshops, and 3 exams, including a cumulative final exam.
- Every week you will be expected to complete a homework assignment or submit a project milestone.
- Every week during your registered Friday section you will create and answer practice problems.
- 2 exams are held during the regular scheduled lecture time. The final exam is scheduled by the University registrar.
The primary resource for course content comes from lectures with in-class activities. Your notes are your primary resource for studying for exams. Few additional resources are provided to learn the course material outside of class. Attendance is required because attending class regularly is important to your overall success in this class.
Grades
Grades are earned, not given. Your grade is a reflection of your mastery of the course content and your ability to apply that knowledge to the assignments. Your grade is not a reflection of your effort, your potential, or your worth as a person. There is no extra credit in this course.
Your grades are posted to Canvas. The course grade you see in Canvas is your current grade.
Assignment/Exam Grading
Most assignments (and exams) are graded for correctness. When assignments are graded for correctness, your grade is based on how well your submission demonstrates your mastery of the course learning objectives. Because you either master a learning objective or you don't, partial credit is only provided as half credit. When half credit is provided, it indicates that you demonstrated some mastery of the learning objective, but not full mastery.
Some assignments, like the practice problem workshops are graded for completion. You must demonstrate that you attempted all parts of the assignment, and you put forth a good faith effort to complete the assignment for full credit. No partial credit is provided for completion-graded assignments.
Final Grade Calculation
Your grade is computed using the following weighted averages:
| Component | Weight |
|---|---|
| Attendance | 0% |
| Class Preparation | 5% |
| Practice Problem Workshops | 10% |
| Homeworks | 15% |
| Project 1 | 15% |
| Project 2 | 20% |
| Exam 1 | 10% |
| Exam 2 | 10% |
| Final Exam | 15% |
Note: Your lowest practice problem workshop grade is dropped when calculating your final grade.
Letter Grades
Grades are never rounded. Like your GPA, letter grades are assigned by the integer-part of your final percentage. For example: 96.01, 96.5, and 96.99 are all A's. 97.0 is an A+.
| Letter | Percent | Letter | Percent | Letter | Percent | Letter | Percent |
|---|---|---|---|---|---|---|---|
| A+ | 97-100% | B+ | 87-89% | C+ | 77-79% | D+ | 67-69% |
| A | 93-96% | B | 84-86% | C | 74-76% | D | 64-66% |
| A- | 90-92% | B- | 80-83% | C- | 70-73% | D- | 61-63% |
| F | 0-60% |
70% and above is a passing grade (S). Below 70% is an unsatisfactory grade (U).
Course Policy Summary
By being here, you have earned the right to be held to a high standard of professionalism.
The course policies can be summarized as the following. For additional details about each policy, see the respective policies.
Contact the Instructor:
- Email info2310@cornell.edu using your Cornell email to privately contact the instructor.
- We strive to respond to each email within 2 business days (Monday-Friday, excluding holidays and breaks), during business hours (Monday-Friday, 9am-4pm).
- We do not respond to Canvas messages. Send all course-related communication to the course email.
Inclusivity & Accommodations:
- Everyone belongs in this class. Let us know if you have any concerns.
- Email us for accommodations. The sooner, the better (per university policy, accommodations are not applied retroactively.)
- All students are provided with built-in accommodations: slip days and assignment resubmission.
- The provided accommodations are specifically intended to support most student accommodation needs and should only be used for legitimate reasons for needing an accommodation.
Class Engagement:
- As per university policy, class attendance is required.
- Arrive and be seated before the start time of the course.
- Catch up with a peer if you miss class.
- You may not record or take photographs without the explicit permission of the instructor.
Assignments & Late Work:
- Handwritten work should be legible; no credit is provided for illegible work.
- It is your responsibility to ensure that your submissions are complete, valid, and ready to be graded; no leniency is provided for submitting broken or incomplete work, including the wrong file.
- Late work receives 0 credit without an accommodation.
- You have 3 slip day accommodations to use for the entire semester. You may submit any non-group work assignment (homework or project milestone only) 24 hours late using a slip day.
- You may not combine late submission / deadline extension accommodations.
- If you submit an assignment late, you should not expect timely feedback or grading of your submission; your grade may be delayed up to 2 weeks.
[Submission Policy] [Late Work Policy] [Accommodations Policy]
Exams:
- Exams are closed-book and closed-notes.
- Because exam dates are known in advance, all students are expected to take the exams at the scheduled times unless they have an accommodation and have made arrangements well in advance of the quiz/exam date (minimum 7 days).
- All exam accommodation logistics are handled by SDS Alternative Testing Program.
Grades:
- All assignments are graded exactly once; once your assignment is graded, the grade is final (unless there is a grading mistake).
- You may resubmit up to one non-group work assignment (homework or project milestone) to earn full credit using the resubmission accommodation one week after your grade was returned to you.
- In the interest of fairness to all students, the instructor and TAs cannot pre-grade your work or tell you if your work is correct.
- Submit a grade clarification request if you don't understand your grade on an assignment.
- Submit a regrade request if there is a mistake with your grade on an assignment. You have one week to submit a regrade request from the date that your assignment's grade was returned to you.
Getting Help & Collaboration:
- Only the instructor may clarify assignment instructions/requirements or course content.
- The best place to get help with an assignment is from your peers and office hours. ChatGPT has been known to mislead students in this course.
- When getting help, keep in mind that we prioritize helping you learn. We cannot fix nor debug your code for you.
- You are encouraged to collaborate/work with your peers in this class so long as you do your own work. You may not share or copy code/solutions.
- TAs do not have the authority to endorse solutions, provide clarifications, regrade your assignment, or debug AI generated code.
- We answer questions on the course discussion forum exactly twice a day, once before noon and again before 4pm, Monday-Friday.
Citations:
- Cite all content (text, images, videos, etc.) in your submissions.
- Cite all resources you referenced to complete your work.
Academic Integrity:
- Submit your own work; write your own code. Do not copy from anywhere, including the course provided code.
- Copy does not simply mean "copy and paste". You can also produce a copy by typing out a nearly identical code snippet, etc.
- You are encouraged to use additional resources, like tutorials and generative AI. Though you may use them as reference material only: study the resource so that you understand it and can use the same ideas in your project/code independently.
- Any copied work, including code, found in a submission will result in a 0 for the entire assignment.
- All course materials are copyrighted. Do not share course materials outside this class.
- This course is participating in Accepting Responsibility (AR), which is a pilot supplement to the Cornell Code of Academic Integrity (AI). For details about the AR process and how it supplements the AI Code, see the AR website.