Course Detail (Course Description By Faculty)

Full-Stack App & AI Development (36115)

Note: Due to the intensive support requirements and volume of requests, we can’t allow auditors for this course. We have many sections available this year, so please plan ahead and enroll as usual through your program (or Take 3 for alums). If you are on the waitlist, you are welcome to attend Day 1 so that you can keep up in case someone drops.

Introduction

On the first day of this course, you'll bring an app idea of your own and we'll show you how to use AI to generate a robust, deployed version of it. It will include a web app backed by a centralized server and database; iPhone and Android apps; email and push notifications; user accounts and permissions; and more.

Unlike the output of most "vibe coding" tools, the project will be completely under your control. The code will live in a GitHub repository you own, and the application will be deployed to a standard, industrial-grade hosting service. It will be structured for long-term maintenance, and we'll show you a workflow for continuing to iterate with an AI coding agent of your choice.

But here's the thing: you won't understand the codebase yet. Knowing something about how the application works will greatly improve your ability to steer a developer (whether AI or human). That knowledge also changes the kinds of ideas that you come up with.

We think that the best way to develop an understanding of how applications work is to roll up your sleeves and write the code yourself, by hand, at least once. So for the rest of the course, you'll build out full-stack applications step by step, starting from scratch.

In doing so, you'll see how the pieces fit together: the browser, server, database, iPhone and Android clients, libraries, APIs, deployment, monitoring, and the many other things that make an application valuable, maintainable, and extensible.

The course is intended to level up the technical vocabulary of aspiring founders, product managers, consultants, and anyone else who works with software engineers and wants to communicate with them more effectively.

Let's unpack the course's title:

  • "Full-stack": We'll learn a whole stack, from client-side to server-side to database to deployment to monitoring. Many introductory programming courses focus on one slice, but one slice isn't enough to build valuable apps on your own.
  • "App": We'll focus on internet-based, or "cloud", applications—the kind of software most of us use every day (social networks, two-sided markets, messaging apps, AI chatbots, etc). The services we'll build can be accessed through web browsers as well as iPhone and Android apps ("native mobile apps").
  • "AI": AI will play three roles in the course:
    1. AI in the product: We'll learn about generative AI and integrate its capabilities into the software that we build.
    2. AI as tutor: We'll use a course-specific AI tutor for questions, explanations, and debugging advice while writing the code ourselves.
    3. AI as programmer: In designated parts of the course, we'll use coding agents to write and modify code for us.
  • "Development": We learn by doing. We'll start by building simple applications and progress to more capable ones. We'll avoid computer science theory until and unless there's a pragmatic reason for it.

Frequently Asked Questions

What's the point of learning to code, now that AI can write it for us?

Personal opinion ahead:

Let's imagine that AI advances to the point that it becomes indistinguishable from a world-class senior developer. You can tell it what you want and it can do research, push back on impractical ideas, implement the product, deploy it, measure it, and iterate. Is there still any point in learning to code?

I think yes, because understanding how technology works changes how you see the world, and therefore what you want to build. I only realized this after I learned how to code myself. I had always been an "ideas guy," and that was why I wanted to learn programming in the first place. But after I learned, my ideas changed.

I liken it to photography. When I carry my DSLR camera, I pay more attention to lighting, shadows, reflections, framing, and moments that I otherwise wouldn't, because I'm looking out for a shot.

Learning to program had the same effect: by giving me a sense of what was possible, what was hard, and what was easy, it made me a better noticer of opportunities. And it gave me the vocabulary to stay on top of new developments and identify promising places to apply them.

Until AI can see through your eyes, live inside your workflows, and experience your pain points, there is enormous value in being a good noticer. The rise of AI doesn't make learning to code pointless; it makes the judgment developed by learning to code even more valuable.

What will we learn about full-stack app development?

The required lessons cover how to write and deploy a full-stack, responsive, authenticated, database-backed web application using a framework called Ruby on Rails. Along the way, you'll gain hands-on experience with Ruby, HTML, CSS, relational databases, Structured Query Language (SQL), Git, HTTP, APIs, and deployment.

Electives allow you to decide where you want to go deeper, e.g. native mobile app development, more CSS for greater control over the look and feel of your apps, real-time client updates, or SQL for working directly with the database.

You'll finish with a useful mental model of full-stack software, practical experience building and deploying applications, and a much better sense of what you do and do not yet understand.

What will we learn about AI?

We'll learn a brief history of AI, what makes generative AI different, and how to incorporate the capabilities of generative models into applications. We'll work with existing models rather than train new ones from scratch.

Required topics include chat completions, image and file input, structured output, and tool use. Electives may explore agents, local models, systematic evaluation (“evals”), Model Context Protocol (MCP) connections to external tools, and reusable Skills for agents.

For coding-agent demonstrations and required exercises, we'll primarily use Claude Code. The workflows we teach transfer to Codex, OpenCode, and other coding agents. Required Claude Code usage should remain well within the free allocation provided by the University of Chicago.

What aren't we going to learn?

The course emphasizes breadth across the application stack, and you can choose to go deeper in some areas with electives.

But we won't deal much with the following:

  • Data analysis and data science
  • Visual and interaction design
  • Computer science theory, including algorithms and data structures
  • Training AI models from scratch
  • Cryptocurrency and blockchain
  • Building iPhone apps purely in Swift or Android apps purely in Kotlin (we'll use a hybrid approach)
  • 3D game development with engines such as Unity or Unreal

Do I need prior programming experience?

No. This course is designed for a beginner who has never programmed before. The only prerequisite is a determination to learn how to write code by hand. Modern languages, frameworks, and tools make it possible to go from zero to "I can understand and build a full-stack app" in just one quarter.

What if I already have some programming experience?

Historically, students who come in with some programming experience but have never built a full-stack application especially enjoy the course. One such student called it "rocket fuel." You may be retreading old ground for the first couple of weeks, but after that you'll be learning new things along with the rest of us.

We'll help you put all the pieces together and build real, useful products, rather than stopping at one-off scripts, static design mockups, or isolated SQL queries.

How should I prepare?

Complete the First Class Assignment before our first meeting; students who add the course late can complete it afterward. The assignment will help you pick and scope an app idea for Day 1.

Why Ruby and Rails rather than Python, JavaScript, or something else?

Ruby is designed around "developer happiness": optimizing for the humans reading and writing the code. That matters because the hard part of learning your first language is grasping the concepts. Once you understand those, your second and third languages are much easier.

We start beginners with Ruby on Rails because its central ambition is to empower one person to build a complete, powerful application. It has been called "the one-person framework." Its conventions make many decisions for you, rather than you having to assemble authentication, database access, routing, jobs, deployment, and dozens of other pieces from unrelated libraries. Thus, it is the more direct path to building a mental model of an entire full-stack application.

Python, for example, has a larger community around scientific computing, data analysis, and training AI models. But we're building applications that use AI models, not training those models, so Python has no inherent advantage for our core task.

However, one of the electives lets you translate what you learn about building web applications into Python. Learning a second stack is very valuable for understanding general patterns versus particular foibles. The goal isn't to become a one-trick Ruby programmer; we just believe that Rails is the most productive first stack for our learning goals.

How difficult is the course, and what is the weekly time commitment?

Our goal is to make learning to code as approachable as possible. We do a lot behind the scenes to remove friction and hide complicated details (until they're relevant).

Despite that—yes, it's still going to be hard. Programming is like learning a foreign language and an entirely different way of thinking, both at the same time. Don't be surprised or discouraged when it feels hard. That doesn't mean you're dumb or not cut out for programming. It means that you're growing.

Most coding happens outside class, where you read introductory material, watch videos, and build. In class, we solidify what you've learned through questions, guided projects, group challenges, and other activities.

In the past, students have reported spending around 7 hours per week outside class, on average. That average hides a lot of variance: for you it could be 4, or it could be 15. Your prior experience and how effectively you seek help will affect that number.

What support is available when I get stuck?

You can request office hours on demand during business hours with instructors who are professional software developers. Please utilize this incredible resource. We love questions, and you never need to worry that you're bothering us.

We also built an AI tutor called Study Buddy directly into every lesson. It uses state-of-the-art models, has the complete context of the lesson you're working on, is calibrated for beginners, and is designed to help you learn rather than complete the work for you. Human instructors monitor its conversations and step in when an answer is incomplete or misleading.

When can I use AI to write code?

It depends on the assignment. For your Day 1 application and other designated activities, we'll ask you to work with a coding agent. In the guided lessons, we'll ask you to write the assigned code yourself and use Study Buddy for questions, explanations, and debugging advice.

Each assignment will make clear which mode we are in.

Can I work with classmates?

Yes — please form study groups. Talking through concepts and helping one another get unstuck is strongly encouraged.

All submitted work must be completed individually, using only the tools permitted for that assignment. The only exceptions are a few in-class exercises that are explicitly assigned as group work.

What if I miss class?

Attendance itself is not graded, and class meetings are not recorded. If you miss a class, the in-class lessons will still be available for you to complete independently afterward.

Those projects will usually take substantially longer without the guidance and teammates available in the room. Because lessons unlock sequentially, falling behind delays access to later material, and catching up can be very difficult.

What if I find that I love it? What comes next?

You'll retain access to the course materials, including the full elective catalog, after the quarter for as long as the platform remains available.

Many former students have discovered that they enjoy programming enough to pursue it much further, including through graduate study in computer science. This course should help you decide.

"Education is not the filling of a pail, but the lighting of a fire."

— After Plutarch

None. Cannot enroll in BUSN 36115 if BUSN 36110 or 20550 taken previously.

What devices will I need?

The only required device is a laptop that runs Google Chrome, and you should bring it to every class meeting.

We use browser-based programming environments for all required work. That means you won't have to install anything on your own computer. If your laptop dies, you can borrow another one, sign in, and continue where you left off.

Some native mobile app electives, such as push notifications, may require an iPhone or Android phone, a Mac that can run Xcode, or Android Studio installed on your laptop.

Will I be able to submit an app to the Apple App Store or Google Play Store?

The native mobile app electives will guide you through preparing an app for public release. Releasing under your own name requires a paid Apple or Google developer account and may require compatible hardware. Store policies and review still apply, so we can't promise approval.

Will I have to pay for anything else?

Everything needed to complete the required lessons is either free or provided by us. This includes access to the learning platform, development environment, required API credentials, and a no-cost deployment workflow. We'll walk you through creating or connecting any free accounts you need.

Depending on the electives you choose, you might need to pay for:

  • books, courses, or other learning materials used by particular electives;
  • API usage beyond the course allocation or after the course is over;
  • your own Apple or Google developer account for certain native mobile capabilities or public app store releases; and
  • a custom domain or upgraded hosting if your application begins receiving serious traffic.

How does grading work?

There are two kinds of lessons:

  • Required lessons form the recommended core path and have due dates to keep you on track and prepare you to participate fully in upcoming class meetings.
  • Elective lessons cover optional topics and don't have due dates. You choose among them according to your interests and the needs of your app ideas.

Most lessons unlock sequentially and can be completed at your own pace, subject to the due dates for required lessons. A few will be released to everyone at the same time so that we can work on them together during class.

Every lesson is worth points. There are 110 points available:

  • Required lessons are worth 80 points in total.
  • Elective lessons are worth an additional 30 points.

Your letter grade is determined by the number of points you earn. We do not grade on a curve.

Total points 

 Grade

100 or greater 

 A+

93 up to 100 

 A

90 up to 93 

 A-

87 up to 90 

 B+

83 up to 87 

 B

80 up to 83 

 B-

77 up to 80 

 C+

73 up to 77 

 C

70 up to 73 

 C-

67 up to 70 

 D+

60 up to 67 

 D

Below 60 

 F

 

Most work is graded automatically and immediately, and you may re-submit as many times as you like to improve your score.

Coursework, due dates, and detailed scores will live in the course's custom learning platform, which you'll access through a single assignment in Canvas. Canvas will show the points you've earned so far, so your score will begin at zero and rise as you complete work.

What if I miss a due date?

You can still submit an assignment after its due date. Any points you earn after the due date will be discounted by 25%. Points you earn before the due date will be unaffected. For example:

  • You earn 6 points before the due date on an assignment worth 10 points.
  • You re-submit after the due date and earn the full 10 points.
  • The 4 points earned after the due date will be discounted by 25%, or 1 point.
  • Your score for that assignment will be 9: 6 on-time points + 3 late points.

This means that you don't have to ask the instructors for extensions. You can take an extension on any assignment, recognizing that it carries the late discount. If you know you have a wedding to attend or a busy recruiting week coming up, you should work ahead.

The late penalty may be waived for documented medical emergencies, religious observances, and other circumstances covered by university policy.

All work — required and elective — must be submitted by 5:00 p.m. on Friday of final exams week.
  • Allow Provisional Grades (For joint degree and non-Booth students only)
  • Early Final Grades (For joint degree and non-Booth students only)
  • No auditors
Description and/or course criteria last updated: July 20 2026
SCHEDULE
  • Autumn 2026
    Section: 36115-01
    M 1:30 PM-4:30 PM
    Harper Center
    C04
    In-Person Only
  • Autumn 2026
    Section: 36115-81
    M 6:00 PM-9:00 PM
    Gleacher Center
    404
    In-Person Only
  • Winter 2027
    Section: 36115-01
    M 1:30 PM-4:30 PM
    Harper Center
    C10
    In-Person Only
  • Winter 2027
    Section: 36115-20
    T 8:30 AM-11:30 AM
    Gleacher Center
    206
    In-Person Only
  • Spring 2027
    Section: 36115-01
    M 1:30 PM-4:30 PM
    Harper Center
    C01
    In-Person Only
  • Spring 2027
    Section: 36115-81
    M 6:00 PM-9:00 PM
    Gleacher Center
    406
    In-Person Only

Full-Stack App & AI Development (36115) - Betina, Raghu>>

Note: Due to the intensive support requirements and volume of requests, we can’t allow auditors for this course. We have many sections available this year, so please plan ahead and enroll as usual through your program (or Take 3 for alums). If you are on the waitlist, you are welcome to attend Day 1 so that you can keep up in case someone drops.

Introduction

On the first day of this course, you'll bring an app idea of your own and we'll show you how to use AI to generate a robust, deployed version of it. It will include a web app backed by a centralized server and database; iPhone and Android apps; email and push notifications; user accounts and permissions; and more.

Unlike the output of most "vibe coding" tools, the project will be completely under your control. The code will live in a GitHub repository you own, and the application will be deployed to a standard, industrial-grade hosting service. It will be structured for long-term maintenance, and we'll show you a workflow for continuing to iterate with an AI coding agent of your choice.

But here's the thing: you won't understand the codebase yet. Knowing something about how the application works will greatly improve your ability to steer a developer (whether AI or human). That knowledge also changes the kinds of ideas that you come up with.

We think that the best way to develop an understanding of how applications work is to roll up your sleeves and write the code yourself, by hand, at least once. So for the rest of the course, you'll build out full-stack applications step by step, starting from scratch.

In doing so, you'll see how the pieces fit together: the browser, server, database, iPhone and Android clients, libraries, APIs, deployment, monitoring, and the many other things that make an application valuable, maintainable, and extensible.

The course is intended to level up the technical vocabulary of aspiring founders, product managers, consultants, and anyone else who works with software engineers and wants to communicate with them more effectively.

Let's unpack the course's title:

  • "Full-stack": We'll learn a whole stack, from client-side to server-side to database to deployment to monitoring. Many introductory programming courses focus on one slice, but one slice isn't enough to build valuable apps on your own.
  • "App": We'll focus on internet-based, or "cloud", applications—the kind of software most of us use every day (social networks, two-sided markets, messaging apps, AI chatbots, etc). The services we'll build can be accessed through web browsers as well as iPhone and Android apps ("native mobile apps").
  • "AI": AI will play three roles in the course:
    1. AI in the product: We'll learn about generative AI and integrate its capabilities into the software that we build.
    2. AI as tutor: We'll use a course-specific AI tutor for questions, explanations, and debugging advice while writing the code ourselves.
    3. AI as programmer: In designated parts of the course, we'll use coding agents to write and modify code for us.
  • "Development": We learn by doing. We'll start by building simple applications and progress to more capable ones. We'll avoid computer science theory until and unless there's a pragmatic reason for it.

Frequently Asked Questions

What's the point of learning to code, now that AI can write it for us?

Personal opinion ahead:

Let's imagine that AI advances to the point that it becomes indistinguishable from a world-class senior developer. You can tell it what you want and it can do research, push back on impractical ideas, implement the product, deploy it, measure it, and iterate. Is there still any point in learning to code?

I think yes, because understanding how technology works changes how you see the world, and therefore what you want to build. I only realized this after I learned how to code myself. I had always been an "ideas guy," and that was why I wanted to learn programming in the first place. But after I learned, my ideas changed.

I liken it to photography. When I carry my DSLR camera, I pay more attention to lighting, shadows, reflections, framing, and moments that I otherwise wouldn't, because I'm looking out for a shot.

Learning to program had the same effect: by giving me a sense of what was possible, what was hard, and what was easy, it made me a better noticer of opportunities. And it gave me the vocabulary to stay on top of new developments and identify promising places to apply them.

Until AI can see through your eyes, live inside your workflows, and experience your pain points, there is enormous value in being a good noticer. The rise of AI doesn't make learning to code pointless; it makes the judgment developed by learning to code even more valuable.

What will we learn about full-stack app development?

The required lessons cover how to write and deploy a full-stack, responsive, authenticated, database-backed web application using a framework called Ruby on Rails. Along the way, you'll gain hands-on experience with Ruby, HTML, CSS, relational databases, Structured Query Language (SQL), Git, HTTP, APIs, and deployment.

Electives allow you to decide where you want to go deeper, e.g. native mobile app development, more CSS for greater control over the look and feel of your apps, real-time client updates, or SQL for working directly with the database.

You'll finish with a useful mental model of full-stack software, practical experience building and deploying applications, and a much better sense of what you do and do not yet understand.

What will we learn about AI?

We'll learn a brief history of AI, what makes generative AI different, and how to incorporate the capabilities of generative models into applications. We'll work with existing models rather than train new ones from scratch.

Required topics include chat completions, image and file input, structured output, and tool use. Electives may explore agents, local models, systematic evaluation (“evals”), Model Context Protocol (MCP) connections to external tools, and reusable Skills for agents.

For coding-agent demonstrations and required exercises, we'll primarily use Claude Code. The workflows we teach transfer to Codex, OpenCode, and other coding agents. Required Claude Code usage should remain well within the free allocation provided by the University of Chicago.

What aren't we going to learn?

The course emphasizes breadth across the application stack, and you can choose to go deeper in some areas with electives.

But we won't deal much with the following:

  • Data analysis and data science
  • Visual and interaction design
  • Computer science theory, including algorithms and data structures
  • Training AI models from scratch
  • Cryptocurrency and blockchain
  • Building iPhone apps purely in Swift or Android apps purely in Kotlin (we'll use a hybrid approach)
  • 3D game development with engines such as Unity or Unreal

Do I need prior programming experience?

No. This course is designed for a beginner who has never programmed before. The only prerequisite is a determination to learn how to write code by hand. Modern languages, frameworks, and tools make it possible to go from zero to "I can understand and build a full-stack app" in just one quarter.

What if I already have some programming experience?

Historically, students who come in with some programming experience but have never built a full-stack application especially enjoy the course. One such student called it "rocket fuel." You may be retreading old ground for the first couple of weeks, but after that you'll be learning new things along with the rest of us.

We'll help you put all the pieces together and build real, useful products, rather than stopping at one-off scripts, static design mockups, or isolated SQL queries.

How should I prepare?

Complete the First Class Assignment before our first meeting; students who add the course late can complete it afterward. The assignment will help you pick and scope an app idea for Day 1.

Why Ruby and Rails rather than Python, JavaScript, or something else?

Ruby is designed around "developer happiness": optimizing for the humans reading and writing the code. That matters because the hard part of learning your first language is grasping the concepts. Once you understand those, your second and third languages are much easier.

We start beginners with Ruby on Rails because its central ambition is to empower one person to build a complete, powerful application. It has been called "the one-person framework." Its conventions make many decisions for you, rather than you having to assemble authentication, database access, routing, jobs, deployment, and dozens of other pieces from unrelated libraries. Thus, it is the more direct path to building a mental model of an entire full-stack application.

Python, for example, has a larger community around scientific computing, data analysis, and training AI models. But we're building applications that use AI models, not training those models, so Python has no inherent advantage for our core task.

However, one of the electives lets you translate what you learn about building web applications into Python. Learning a second stack is very valuable for understanding general patterns versus particular foibles. The goal isn't to become a one-trick Ruby programmer; we just believe that Rails is the most productive first stack for our learning goals.

How difficult is the course, and what is the weekly time commitment?

Our goal is to make learning to code as approachable as possible. We do a lot behind the scenes to remove friction and hide complicated details (until they're relevant).

Despite that—yes, it's still going to be hard. Programming is like learning a foreign language and an entirely different way of thinking, both at the same time. Don't be surprised or discouraged when it feels hard. That doesn't mean you're dumb or not cut out for programming. It means that you're growing.

Most coding happens outside class, where you read introductory material, watch videos, and build. In class, we solidify what you've learned through questions, guided projects, group challenges, and other activities.

In the past, students have reported spending around 7 hours per week outside class, on average. That average hides a lot of variance: for you it could be 4, or it could be 15. Your prior experience and how effectively you seek help will affect that number.

What support is available when I get stuck?

You can request office hours on demand during business hours with instructors who are professional software developers. Please utilize this incredible resource. We love questions, and you never need to worry that you're bothering us.

We also built an AI tutor called Study Buddy directly into every lesson. It uses state-of-the-art models, has the complete context of the lesson you're working on, is calibrated for beginners, and is designed to help you learn rather than complete the work for you. Human instructors monitor its conversations and step in when an answer is incomplete or misleading.

When can I use AI to write code?

It depends on the assignment. For your Day 1 application and other designated activities, we'll ask you to work with a coding agent. In the guided lessons, we'll ask you to write the assigned code yourself and use Study Buddy for questions, explanations, and debugging advice.

Each assignment will make clear which mode we are in.

Can I work with classmates?

Yes — please form study groups. Talking through concepts and helping one another get unstuck is strongly encouraged.

All submitted work must be completed individually, using only the tools permitted for that assignment. The only exceptions are a few in-class exercises that are explicitly assigned as group work.

What if I miss class?

Attendance itself is not graded, and class meetings are not recorded. If you miss a class, the in-class lessons will still be available for you to complete independently afterward.

Those projects will usually take substantially longer without the guidance and teammates available in the room. Because lessons unlock sequentially, falling behind delays access to later material, and catching up can be very difficult.

What if I find that I love it? What comes next?

You'll retain access to the course materials, including the full elective catalog, after the quarter for as long as the platform remains available.

Many former students have discovered that they enjoy programming enough to pursue it much further, including through graduate study in computer science. This course should help you decide.

"Education is not the filling of a pail, but the lighting of a fire."

— After Plutarch

None. Cannot enroll in BUSN 36115 if BUSN 36110 or 20550 taken previously.

What devices will I need?

The only required device is a laptop that runs Google Chrome, and you should bring it to every class meeting.

We use browser-based programming environments for all required work. That means you won't have to install anything on your own computer. If your laptop dies, you can borrow another one, sign in, and continue where you left off.

Some native mobile app electives, such as push notifications, may require an iPhone or Android phone, a Mac that can run Xcode, or Android Studio installed on your laptop.

Will I be able to submit an app to the Apple App Store or Google Play Store?

The native mobile app electives will guide you through preparing an app for public release. Releasing under your own name requires a paid Apple or Google developer account and may require compatible hardware. Store policies and review still apply, so we can't promise approval.

Will I have to pay for anything else?

Everything needed to complete the required lessons is either free or provided by us. This includes access to the learning platform, development environment, required API credentials, and a no-cost deployment workflow. We'll walk you through creating or connecting any free accounts you need.

Depending on the electives you choose, you might need to pay for:

  • books, courses, or other learning materials used by particular electives;
  • API usage beyond the course allocation or after the course is over;
  • your own Apple or Google developer account for certain native mobile capabilities or public app store releases; and
  • a custom domain or upgraded hosting if your application begins receiving serious traffic.

How does grading work?

There are two kinds of lessons:

  • Required lessons form the recommended core path and have due dates to keep you on track and prepare you to participate fully in upcoming class meetings.
  • Elective lessons cover optional topics and don't have due dates. You choose among them according to your interests and the needs of your app ideas.

Most lessons unlock sequentially and can be completed at your own pace, subject to the due dates for required lessons. A few will be released to everyone at the same time so that we can work on them together during class.

Every lesson is worth points. There are 110 points available:

  • Required lessons are worth 80 points in total.
  • Elective lessons are worth an additional 30 points.

Your letter grade is determined by the number of points you earn. We do not grade on a curve.

Total points 

 Grade

100 or greater 

 A+

93 up to 100 

 A

90 up to 93 

 A-

87 up to 90 

 B+

83 up to 87 

 B

80 up to 83 

 B-

77 up to 80 

 C+

73 up to 77 

 C

70 up to 73 

 C-

67 up to 70 

 D+

60 up to 67 

 D

Below 60 

 F

 

Most work is graded automatically and immediately, and you may re-submit as many times as you like to improve your score.

Coursework, due dates, and detailed scores will live in the course's custom learning platform, which you'll access through a single assignment in Canvas. Canvas will show the points you've earned so far, so your score will begin at zero and rise as you complete work.

What if I miss a due date?

You can still submit an assignment after its due date. Any points you earn after the due date will be discounted by 25%. Points you earn before the due date will be unaffected. For example:

  • You earn 6 points before the due date on an assignment worth 10 points.
  • You re-submit after the due date and earn the full 10 points.
  • The 4 points earned after the due date will be discounted by 25%, or 1 point.
  • Your score for that assignment will be 9: 6 on-time points + 3 late points.

This means that you don't have to ask the instructors for extensions. You can take an extension on any assignment, recognizing that it carries the late discount. If you know you have a wedding to attend or a busy recruiting week coming up, you should work ahead.

The late penalty may be waived for documented medical emergencies, religious observances, and other circumstances covered by university policy.

All work — required and elective — must be submitted by 5:00 p.m. on Friday of final exams week.
  • Allow Provisional Grades (For joint degree and non-Booth students only)
  • Early Final Grades (For joint degree and non-Booth students only)
  • No auditors
Description and/or course criteria last updated: July 20 2026
SCHEDULE
  • Autumn 2026
    Section: 36115-01
    M 1:30 PM-4:30 PM
    Harper Center
    C04
    In-Person Only
  • Autumn 2026
    Section: 36115-81
    M 6:00 PM-9:00 PM
    Gleacher Center
    404
    In-Person Only
  • Winter 2027
    Section: 36115-01
    M 1:30 PM-4:30 PM
    Harper Center
    C10
    In-Person Only
  • Winter 2027
    Section: 36115-20
    T 8:30 AM-11:30 AM
    Gleacher Center
    206
    In-Person Only
  • Spring 2027
    Section: 36115-01
    M 1:30 PM-4:30 PM
    Harper Center
    C01
    In-Person Only
  • Spring 2027
    Section: 36115-81
    M 6:00 PM-9:00 PM
    Gleacher Center
    406
    In-Person Only