INFO 4340/5440: Introduction
INFO 4340/5440:
App Design and Prototyping
Welcome!
Instructor: Dr. Kyle Harms (he/him)
Course Website: https://infosci.cornell.edu/courses/info4340/2026fa/
Copyright 2026, Kyle J. Harms
Agenda
- About this course.
- Course structure and policies.
Homework: class preparation exercise due before next class.
Welcome!
Diversity, inclusion, and belonging are all core values of this course.
Because a sense of belonging can also affect students’ mental health and wellness, I want you to know that all participants in this course belong here and deserve to be treated with respect.
I am here to help you learn. Don't be embarrassed to ask for help – it's my job.
Activity: Meet Your Peers!
Turn to your left and right and introduce yourself to your neighbors.
Share one thing that you enjoy about the Finger Lakes region of Upstate New York or one thing that you want to do in the Finger Lakes before your graduate.
Share your contact information (for when you miss class and need to get caught up on what you missed, or want to get together for a study session while working on your homework, etc.)
Why? Students that have a supportive peer network are more likely to succeed in a course. Start your network today!
INFO 4340/5440:
App Design & Prototyping
Notice: Experimental Course
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.
Primary Course Objective
Apply the user-centered design process in support of designing and building a working high-fidelity AI-supported app prototypes.
Activity: Design Jam
Go to the board with a peer (or two) and sketch a design for an app that checks the integrity of a downloaded file (e.g., a PDF, image, or video) using a provided checksum.
Use case: You're using an insecure public WiFi network and want to make sure that a sensitive file you downloaded is not corrupted or tampered with. (Assume you are provided a checksum to verify the file's integrity.)
Checksum: A small value computed from data to detect errors.
Activity: UI Component Identification
Using a different color marker, circle common user-interface components in your design (e.g., buttons, text fields, checkboxes, radio buttons, etc.)
User-Interface Components: Reusable building blocks used to create interactive graphical user interfaces, such as buttons, text fields, checkboxes, and menus.
Pre-requisites
Pre-requisites are not optional.
INFO 4340: INFO 2310
INFO 5440: Equivalent experience
Proficiency in dynamic client and server-side web programming required
INFO 2310: Course Objectives
- 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.
INFO 5440: Disclaimer
It is your responsibility to ensure you have the necessary background to succeed in this course.
This course does not provide remedial instruction on prerequisite material; no remedial "resources" are provided.
You should assume that assignments will be "unclear" if you don't know the prerequisite material.
Course Objectives
- 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.
INFO 5440: Course Objectives
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.
What this course is not:
- How to build apps...
- iOS development
- Android development
- React Native development
- etc.
- "Industry standard" tool training/certification...
- Figma / Figma AI for prototyping
- etc.
Why not "App Dev" and "Industry Standard"?
Goal: Understand the foundational principles of app design and prototype development.
- Critical thinking and problem-solving
- Teamwork and collaboration
- Strong communication skills
- Adaptability and intellectual curiosity
Deal with messy, unstructured situations.
App Design & Prototyping → Software Engineering Lite for Information Science Majors
- AI is changing how we design and build apps.
- Information Science degree holders are the "integrators"!
- You sit at the intersection of the users, clients, and developers/engineers!
- You need to understand how apps are designed and built!
- You need to be able to communicate effectively with users, clients, business analysts, developers/engineers, etc.!
Activity: Motivation Reflection
Take a moment on reflect on the following questions:
- What do you want to get out of this course?
- What are your expectations for this course?
Complete Part II on the handout.
Activity: Discussion
- What do you hope to get out of this course?
- What are your expectations for this course?
- Why learn any of this stuff when AI can do it for you?
- What skills/experience do employers expect from you?
When I call on you, please say your name first, then answer.
Advice: Recent Graduate
You're getting hired because of the value you are adding.
– Celeste Naughton (Information Science '25) on what students should know about genAI and industry.
Syllabus
The syllabus documents everything you need to know about this course. Refer to it first, if you're not sure what to do.
By being here, you have earned the right to be held to a high standard of professionalism.
Required Materials
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
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 Structure
This is a studio-based course with oral exams.
- ~5 homeworks
- 1 team project (~6 sprints)
- 3 oral exams: 2 mid-semester + during finals period
"Lectures": Most classes have a mini-lecture and studio time.
Expected Workload: About 6 hours outside of class a week for a satisfactory grade (C).
Resources
Class – (Primary Resource) In-class activities and lectures.
Your Notes – (Primary Resource) Your notes are your study guide.
Readings – Online resources and documentation.
Office Hours – The instructor and teaching/course assistants are available to help you. (Limited office hours available. More available upon request.)
GitHub Copilot – Reference AI tool for coding activities/assignments. (Not to be used a substitute for the above resources.)
(Timely) Attendance Required
- As per university policy, lecture attendance is required.
- 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 10:20:00am), you will be counted as absent for that class.
Grades
Your grades are posted to Canvas. The course grade in Canvas is your current grade.
| Component | Weight |
|---|---|
| Attendance | 0%† |
| Class Preparation & Engagement, Homeworks | 20%‡ |
| Team Project | 20% |
| Oral Exam I | 20% |
| Oral Exam II | 20% |
| Final Oral Exam | 20% |
† 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.
This course does not offer extra credit.
Grading
- 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.
Course Policies
- Email info4340@cornell.edu to privately contact the instructor. (No undergrad CAs access.)
- I strive to respond to each email within 2 business days (Monday-Friday, excluding holidays and breaks), during business hours (Monday-Friday, 9am-4pm).
- You are responsible for all information presented in lecture, including information not available elsewhere, such as in the slides, course website, Canvas, etc.
- Late work receives 0 credit without an accommodation.
- Accommodations must be arranged in advance.
Course Policies
- Email the course for accommodations. The sooner, the better (per university policy, accommodations are not applied retroactively.)
- Only the instructor may clarify assignment instructions/requirements or course content.
- All assignments are graded once.
- TA/CAs cannot "pre-grade" your work or tell you if your work is correct; TA/CAs do not have the authority to endorse solutions, provide clarifications, or regrade your assignment.
- You are encouraged to collaborate/work with your peers in this class so long as you do your own work.
Flexibility & Grace
This course is structured to support the diverse needs of all students.
This course provides built-in accommodations:
- 2, one-time use slip day accommodations
- 1, one-time resubmission accommodation
These accommodations are specifically intended to support most student accommodation needs (e.g. disability, religious observance, Title IX, athletic participation, military service, medical and mental health concerns, family emergencies, late enrollment, etc.)
Accommodations
Use the existing course structure and built-in accommodations.
If you believe that your individual needs and circumstances require additional consideration, email info4340@cornell.edu and let us know how the built-in structure and accommodations are not providing the access you require.
Note that all accommodations must be arranged well in advance – as per university policy, we are unable to retroactively apply accommodations to late assignments, etc.
Privacy
We respect your privacy.
Please keep your personal information private. You need not provide any personal information when requesting accommodations, etc.
In the interest of respecting the privacy of all students, you may not record lecture or take photographs in the classroom without the explicit permission of the instructor.
Academic Integrity
- Unless otherwise stated by the assignment, all work should be own your own.
- 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.
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.

Wait-List
If you are on the wait-list or trying to enroll in this course, you should:
- act like you are enrolled
- attend class
- submit the homeworks (on time)
You have access to the entire course infrastructure now, including the course website, Canvas, and GitHub repository.
Accommodations are not provided for not being enrolled in the course.
What's Next
- Due before next class:
- Class 2 Preparation
See the course website for details: https://infosci.cornell.edu/courses/info4340/2026fa/