Skip to main content

INFO 4340/5440:
App Design and Prototyping

Welcome!

Instructor: Dr. Kyle Harms (he/him)

Course Website: https://infosci.cornell.edu/courses/info4340/2026sp/


Agenda

  1. About this course.
  2. Course reflection + motivations discussion.
  3. Course structure and policies.
  4. Apps

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.


INFO 4340/5440:
App Design & Prototyping


Primary Course Objective

Apply the user-centered design process in support of designing and building a working high-fidelity prototype.


Course Objectives

  • Design and implement high-fidelity prototypes of interactive software applications independently.
  • Leverage the language of user interfaces to design interfaces that engage in a conversation with users.
  • Independently approach technical problems and use unfamiliar technology you haven't been directly "taught".
  • Explore unfamiliar code and technology as a strategy for building working prototypes.
  • Effectively utilize generative AI to assist in the design and development of prototype apps.
  • Demonstrate a high standard of professionalism and development best practices.

INFO 5440: Course Objectives

  • Leverage hardware and system APIs to add advanced functionality to prototypes.

As a graduate student, you are expected to demonstrate a higher level of professionalism and proficiency in the course objectives.


What this course is not:

  • How to build apps...
  • Pad your resume with "industry standard" tools...
  • The instructor tells you how to do everything...
  • Step-by-step instructions for how to get the points...

Warning!

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

Few resources are provided for this course. You should not expect slides for lectures or step-by-step instructions for assignments. You should feel comfortable interpreting open-ended requirements and learning independently.

If you want prescriptive directions, this is not the course for you.


App Design & PrototypingSoftware Engineering for Information Science Majors

  • AI is changing how we design and build apps.
  • Information Science majors 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!

Pre-requisites

Pre-requisites are not optional.

INFO 4340: INFO 2310 (or INFO 2300)

You should have extensive experience with dynamic website creation.

You will be dropped if you do not satisfy the prerequisites.

INFO 5440: Equivalent experience


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.

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.

You should assume that assignments will be "unclear" if you don't know the prerequisite material.


Activity: Motivation Reflection

Take a moment on reflect on the following questions:

  • Why are you here?
  • What do you want to get out of this course?
  • What are your expectations for this course?

Complete the handout.


Activity: Discussion

Pair up with a peer or two (or three...)

Discuss the following:

  • Introduce yourself.
  • Why are you here?
  • What do you hope to get out of this course?
  • What are your expectations for this course?

Course Structure: Think Internship/Mentoring

  • I'll ask you do something...
  • You will try and figure it out on your own.
  • Seek help from peers (like you would in industry.)
  • We'll mentor you when you're really stuck.

Course Structure

This is a studio-based course with oral exams.

  • ~8 individual homeworks
  • 1 team project
  • 2 oral exams: 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, discussions, and lectures.

Your Notes -- (Primary Resource) Your notes are your study guide.

Readings -- Online resources and documentation.

Office Hours -- The instructor and TAs 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.)


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.


Grades

Your grade is computed using the following weighted averages:

ComponentWeight
Attendance0%
Class Preparation5%
Homeworks35%
Team Project35%
Mid-Semester Oral Exam10%
Final Oral Exam15%

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.
  • Because you either master a learning objective or you don't, partial credit is only provided as half credit.

Course Policies

  • Email info4340@cornell.edu to privately contact us. (No undergrad TAs access.)
  • We strive to respond to each email within 2 business days (Monday-Friday, excluding holidays and breaks), during business hours (Monday-Friday, 9am-4pm).
  • Class attendance is required. Please arrive and be seated before class begins.
  • Late work receives 0 credit without an accommodation.
  • Accommodations must be arranged in advance.

Course Policies

  • Email us 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.
  • TAs cannot "pre-grade" your work or tell you if your work is correct; TAs 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

This course is structured to support the diverse needs of all students.

This course provides built-in accommodations:

  • 3, one-time use slip day accommodations
  • 1, one-time resubmission accommodation
  • 1, first oral exam retake accommodation

These accommodations are specifically intended to support most student accommodation needs (e.g. disability, religious observance, Title IX, athletic participation, miliary 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.


Support

This course has built-in support:

  • Peer collaboration
  • Regular office hours
  • Q&A discussion forum
  • Generative AI permitted

We want you get to the help you need to be successful in this class. Make regular use of office hours and collaborate with your peers.


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.
  • You are encouraged to use additional resources, like generative AI, as reference material only: study the resource so that you understand it and can use the same ideas in your code independently.
  • Any non-original work will result in a 0 for the entire assignment.

Generative AI

You may use generative AI as a reference tool.

Study the response. Understand it. Use the ideas in your work independently.

Exercise caution: don't cheat yourself out of your education.


Discussion: Generative AI

  • What should you do to get out of this course with what you want?
  • What skills/experience do employers expect from you?
  • How can generative AI help you meet these expectations?
  • How might generative AI hinder your ability to achieve your goals?

ChatGPT vs. GitHub Copilot

ChatGPT is a general-purpose conversational AI.

GitHub Copilot is a coding-specific AI.

Discussion:

  • Do you need to know industry/domain-specific AI tools?
  • Can you get by with copy-pasting from ChatGPT?

Advise: Recent Graduate


You're getting hired because of the value you are adding.

-- Celeste Naughton (Information Science '25) on what students should know about AI and the workplace.


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)

Accommodations are not provided for "not being enrolled in the course."


Discussion: What is an App?

Form groups of 3-4.

Discuss with your peers what an app is.

Prepare a definition to share with the class. (I will call on each group to share.)


Homework

  • Course Policy Refresher
  • Class Preparation for next class
  • Homework 1 (Dev Environment Setup)

See the course website for details.