Skip to main content

INFO 4340/5440: App Design and Prototyping (Fall 2026)

Notice

This course is experimental; all aspects of the course are subject to change.

Course topics, deadlines, and activities are finalized on a rolling basis in response to student needs and feedback. You should feel comfortable interpreting open-ended requirements and learning independently. You should not expect detailed slides for lectures, a fixed semester schedule with all deadlines known, or step-by-step instructions for assignments.

This course requires comfort with uncertainty and rolling deadlines. If a fully fixed semester schedule is important to you, this course is likely not a good fit.

Credits: 3, Letter Grade
Prerequisites: Proficiency in dynamic client and server-side web programming required; INFO 2310 strongly recommended as a prerequisite.
Expected Weekly Workload: 6 hours/week outside class
Instructor: Dr. Kyle Harms (he/him); https://kharms.infosci.cornell.edu

Course Website: https://infosci.cornell.edu/courses/info4340/2026fa/
Course Email: info4340@cornell.edu

Send all private communication to the course email. I strive to respond to each email within 2 business days (Monday-Friday, excluding holidays and breaks), during business hours (Monday-Friday, 9am-4pm).

Lectures: Tuesdays, Thursdays, 10:10am-11:25am, Upson Hall 216
Office Hours: calendar

Required Materials: Pen or pencil, paper, a functioning laptop with a minimum of 10GB of free space, an active github.com account, and a GitHub Copilot Pro subscription ($10/month + additional credits).
Textbooks: None

Course Material Costs

This course requires GitHub Copilot Pro, with the costs paid directly by the student, estimated at ~$40/semester. (Free GitHub Copilot Pro accounts are available through GitHub Education for verified students.) Note that AI pricing is difficult to accurately estimate and can change with little notice. Contact info4340@cornell.edu if this cost presents a hardship for you.

Course Description

In this interactive studio-based course, students will gain practical experience independently designing and implementing high-fidelity AI-supported app prototypes. This course has a significant software development focus, exposing students to software development methods and tools necessary for developing interactive prototype applications that leverage large language models in support of assisting users with their tasks. Throughout the course students will be exposed to current industry-relevant software development practices, including sprint-based development, version control, AI coding agents, and web-based app frameworks. Professionalism and soft skill development are emphasized throughout the course, including teamwork, time management, and verbal communication.

Course Objectives

By the end of the course, a student will be able to:

  • Design and implement high-fidelity prototype apps using web-based application frameworks.
  • Apply established UI patterns and reusable components to produce interfaces that communicate effectively with users.
  • Design apps that incorporate AI to support users with their tasks.
  • Effectively manage the user's experience with AI through large language model selection and system prompt engineering.
  • Employ industry-relevant software development practices, including sprint-based development, version control, and AI coding agents.
  • Present and defend design and technical decisions to a professional audience.
  • Manage time effectively to meet deadlines and complete projects.
  • Work effectively in a team, including conflict resolution.
  • Demonstrate a high standard of professionalism and development best practices.

Beyond the learning objectives stated above, graduate students (INFO 5440) are expected to:

  • Extend the functionality of client-side apps through the implementation of server-side supported features.

Course Structure & Assignments

This is a studio-based course grounded in self-directed learning. Significant class time is dedicated to studio work where you learn by doing. Most of the learning occurs through completing roughly 5 homework assignments and a team project in weekly sprints. This course is designed to help you pick up unfamiliar technology for building high-fidelity prototypes now and into the future.

Class is loosely structured. We typically begin with an activity or a short mini-lecture, followed by studio work that advances your project and develops design and software development skills. Students will be randomly called on twice during the semester to answer questions during lecture for participation credit.

Mastery of course learning objectives is assessed primarily through 3 oral exams: one about a third of the way through the semester, one about two-thirds, and one during the final exam period.

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. This course does not offer extra credit.

Your grades are posted to Canvas. The grade you see in Canvas is your current grade.

Assignment/Exam Grading

Some assignments, like projects 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 grading is based on demonstrated mastery of the learning objectives, partial credit is awarded only as half credit.

Some assignments, like class preparation and homeworks, 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:

ComponentWeight
Attendance0%
Class Preparation & Engagement, Homeworks20%
Team Project20%
Oral Exam I20%
Oral Exam II20%
Final Oral Exam20%

† During in-class project work days, credit is provided for attendance as part of the "effective teamwork" component of your project grade.

‡ Twice during the semester, you will be randomly called on to answer a question during lecture/studio. You need not answer correctly to receive credit, however you must be present to receive your participation credit.

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

LetterPercentLetterPercentLetterPercentLetterPercent
A+97-100%B+87-89%C+77-79%D+67-69%
A93-96%B84-86%C74-76%D64-66%
A-90-92%B-80-83%C-70-73%D-61-63%
F0-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 are summarized below. For additional details about each policy, see the respective policies.

Contact the Instructor:

  • Email info4340@cornell.edu using your Cornell email to privately contact the instructor.
  • I 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 PhD teaching assistants have access to the course email; undergraduate course assistants will never see your messages.
  • I do not respond to Canvas messages. Send all course-related communication to the course email.

Inclusivity & Accommodations:

  • Everyone belongs in this class. Let me know if you have any concerns.
  • Email the course for accommodations. The sooner, the better (per university policy, accommodations are not applied retroactively.)
  • All students are provided with built-in accommodations: 2 slip days, and 1 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.

[Inclusivity Statement] [Accommodations Policy]

Lecture & Participation:

  • As per university policy, lecture attendance is required.
  • Take your own notes during class. You are responsible for all information presented in lecture, including information not available elsewhere, such as in the slides, course website, Canvas, etc.
  • It is your responsibility to complete the in-class activity handout and physically submit it before leaving the classroom to be counted as present for that class.
  • If you arrive after the start of lecture (class starts exactly at 10:10:00am), but within 10 minutes of the start time (10:20:00am), you will be counted as half present for that class.
  • If you arrive more than 10 minutes after the start of lecture (after 1:20:00am) or you leave before lecture is dismissed, you will be counted as absent for that class.
  • Twice during the semester, you will be randomly called on to answer a question during lecture/studio. You need not answer correctly to receive credit, however you must be present to receive your participation/engagement credit.
  • Catch up with a peer if you miss lecture.
  • You may not record or take photographs during class without the explicit permission of the instructor.

[Attendance Policy]

Assignments & Late Work:

  • Professionalism necessitates that you plan ahead for technical issues and begin assignments early so that you have time to seek assistance if needed.
  • 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 submitting the wrong file.
  • Assignments are due when stated regardless of whether you encounter technical difficulties.
  • Late work receives 0 credit without an accommodation. (Reminder: accommodations are not retroactive and must be coordinated in advance.)
  • You have 2 slip day accommodations to use for the entire semester. You may submit any non-group work assignment (homework) 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 for around 2 weeks.

[Submission Policy] [Late Work Policy] [Accommodations Policy]

Exams:

  • Oral exams are held in-person during scheduled times.
  • Failure to schedule or attend an oral exam will result in a 0 for that exam.

[Exam Policy] [Accommodations Policy]

Grades:

  • All submitted work is assessed for your mastery of the course learning objectives; grades are not based on effort.
  • 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) for a new grade using the provided resubmission accommodation one week after your grade was returned to you.
  • In the interest of fairness to all students, the instructor and course/teaching assistants 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.

[Regrade Policy] [Accommodations Policy]

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.
  • 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.
  • Course/teaching assistants 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.

[Help Resources] [Collaboration Policy]

Generative AI:

  • GenAI use is permitted, but you may not upload copyrighted or proprietary class materials (slides, readings, recordings, lecture notes, etc.) unless otherwise specified.

[Generative AI Policy]

Academic Integrity:

  • Submit your own work. 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. 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.
  • If found guilty of violating the Code of Academic Integrity, the minimum penalty is a 0 for the offending assignment. The maximum penalty is failing the course.
  • All course materials are copyrighted. Do not share course materials outside this class, including sharing the materials with generative AI.

[Academic Integrity Policy]