Course Detail (Course Description By Faculty)

Application Development (36110)

Note: Due to the intensive support requirements and volume of requests, we can’t allow auditors for this course. We have many more 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.

The new reality is that every company is a software company. Even in traditionally brick-and-mortar industries, software is performing more and more of the work. And, of course, many companies (especially "lean startups") are purely software-based.

Lacking an understanding of how applications work and how software gets built while working in a software-based world puts you at a disadvantage.

In this course, we will demystify these things and dispel this disadvantage. We believe the best way to do that is for you to just write and ship an app idea yourself.

To do this, you will have to become a full-stack developer — someone who can take an idea all the way to a live app on the internet.

This involves learning much more than just one language. You’ll learn multiple languages (front-end and back-end languages), so that you can write a whole application (not just one slice of it). We’ll also see how to deploy it on industrial-grade cloud infrastructure, as well as how to instrument it with analytics so that you can gather feedback and iterate.

You will ultimately build a functional prototype of your own app idea. To do this, you will learn the Ruby on Rails web application framework. Our objective, though, is not to learn specific technologies. Instead, we want to:

1. Understand how most modern software — specifically, software-as-a-service — functions.
2. Communicate more credibly with developers on our teams.
3. Grow an eye for problems that can be solved with technology.
4. Prioritize features more prudently by developing a better feel for their costs.
5. Research and specify changes we want made to products more clearly.
6. Be empowered with a new, powerful, and just plain fun creative outlet.

Course Format

This course is entirely project-driven. We will build a series of applications together in class. We will start with a simple idea and learn just what we need about various technologies (HTML, CSS, Ruby, Rails) to make that idea real.

We will then build a slightly more complicated idea, and deepen our knowledge of each topic. And then an even more complicated idea. In this way, we will spiral across topics picking up essential, applicable knowledge; what we're not going to do are deep theoretical dives into each topic, one after the other, without ever getting to build real stuff.

In addition, you will build your own app idea. During the first few weeks, you will think of a few of your ideas and we'll then, together, select one that matches the scope of the course. This app will be your final project.

The process will generally consist of the instructor demonstrating a concept in a tutorial app and then giving the class a challenge to practice it and think up questions. You are strongly encouraged to team up and work together on the challenges.

Expectations

This course is designed for a beginner who has never programmed before. It is our goal to make programming accessible to as many people as possible, and dispel the mystique that surrounds it. It's really possible, with passion and persistence, for a beginner to become productive very quickly with today's tools.

Note: it's possible, but not always easy. If you have never seen a line of code before, you are going to be learning a lot of new things all at once, and so should plan to spend a significant amount of time. If you already have some programming experience, you may have to spend less time initially while we learn basics; but once we get into Rails, it will likely be all new to you too.

What you can expect from us in return is a lot of support. We know it's a lot, and we're here for you -- one-on-one appointments, review sessions, etc. We all will help each other on the class discussion board. There is no such thing as a dumb question; we're all beginners here, learning together.
None. Cannot enroll in BUSN 36110 if BUSN 20550 taken previously.
You should bring your own Mac, Windows, or Linux computer. You will receive a detailed guide to setting up your development environment.

Most required software, tools, and content are available free of cost; although there are various things that you may choose to purchase (i.e. a domain name, API access, etc) for your project.
Participation - 40%
Homework - 40%
Final Project - 20%

No auditors.
  • 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: April 16 2024
SCHEDULE
  • Autumn 2023
    Section: 36110-01
    W 8:30 AM-11:30 AM
    Harper Center
    C09
    In-Person Only
  • Autumn 2023
    Section: 36110-85
    S 1:30 PM-4:30 PM
    Gleacher Center
    306
    In-Person Only
  • Spring 2024
    Section: 36110-01
    TH 1:30 PM-4:30 PM
    Harper Center
    C09
    In-Person Only
  • Spring 2024
    Section: 36110-81
    W 6:00 PM-9:00 PM
    Building: TBD
    Location: TBD
    Remote-Only
  • Summer 2024
    Section: 36110-81
    TH 6:00 PM-9:00 PM
    Gleacher Center
    404
    In-Person Only

Application Development (36110) - Betina, Raghu>>

Note: Due to the intensive support requirements and volume of requests, we can’t allow auditors for this course. We have many more 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.

The new reality is that every company is a software company. Even in traditionally brick-and-mortar industries, software is performing more and more of the work. And, of course, many companies (especially "lean startups") are purely software-based.

Lacking an understanding of how applications work and how software gets built while working in a software-based world puts you at a disadvantage.

In this course, we will demystify these things and dispel this disadvantage. We believe the best way to do that is for you to just write and ship an app idea yourself.

To do this, you will have to become a full-stack developer — someone who can take an idea all the way to a live app on the internet.

This involves learning much more than just one language. You’ll learn multiple languages (front-end and back-end languages), so that you can write a whole application (not just one slice of it). We’ll also see how to deploy it on industrial-grade cloud infrastructure, as well as how to instrument it with analytics so that you can gather feedback and iterate.

You will ultimately build a functional prototype of your own app idea. To do this, you will learn the Ruby on Rails web application framework. Our objective, though, is not to learn specific technologies. Instead, we want to:

1. Understand how most modern software — specifically, software-as-a-service — functions.
2. Communicate more credibly with developers on our teams.
3. Grow an eye for problems that can be solved with technology.
4. Prioritize features more prudently by developing a better feel for their costs.
5. Research and specify changes we want made to products more clearly.
6. Be empowered with a new, powerful, and just plain fun creative outlet.

Course Format

This course is entirely project-driven. We will build a series of applications together in class. We will start with a simple idea and learn just what we need about various technologies (HTML, CSS, Ruby, Rails) to make that idea real.

We will then build a slightly more complicated idea, and deepen our knowledge of each topic. And then an even more complicated idea. In this way, we will spiral across topics picking up essential, applicable knowledge; what we're not going to do are deep theoretical dives into each topic, one after the other, without ever getting to build real stuff.

In addition, you will build your own app idea. During the first few weeks, you will think of a few of your ideas and we'll then, together, select one that matches the scope of the course. This app will be your final project.

The process will generally consist of the instructor demonstrating a concept in a tutorial app and then giving the class a challenge to practice it and think up questions. You are strongly encouraged to team up and work together on the challenges.

Expectations

This course is designed for a beginner who has never programmed before. It is our goal to make programming accessible to as many people as possible, and dispel the mystique that surrounds it. It's really possible, with passion and persistence, for a beginner to become productive very quickly with today's tools.

Note: it's possible, but not always easy. If you have never seen a line of code before, you are going to be learning a lot of new things all at once, and so should plan to spend a significant amount of time. If you already have some programming experience, you may have to spend less time initially while we learn basics; but once we get into Rails, it will likely be all new to you too.

What you can expect from us in return is a lot of support. We know it's a lot, and we're here for you -- one-on-one appointments, review sessions, etc. We all will help each other on the class discussion board. There is no such thing as a dumb question; we're all beginners here, learning together.
None. Cannot enroll in BUSN 36110 if BUSN 20550 taken previously.
You should bring your own Mac, Windows, or Linux computer. You will receive a detailed guide to setting up your development environment.

Most required software, tools, and content are available free of cost; although there are various things that you may choose to purchase (i.e. a domain name, API access, etc) for your project.
Participation - 40%
Homework - 40%
Final Project - 20%

No auditors.
  • 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: April 16 2024
SCHEDULE
  • Autumn 2023
    Section: 36110-01
    W 8:30 AM-11:30 AM
    Harper Center
    C09
    In-Person Only
  • Autumn 2023
    Section: 36110-85
    S 1:30 PM-4:30 PM
    Gleacher Center
    306
    In-Person Only
  • Spring 2024
    Section: 36110-01
    TH 1:30 PM-4:30 PM
    Harper Center
    C09
    In-Person Only
  • Spring 2024
    Section: 36110-81
    W 6:00 PM-9:00 PM
    Building: TBD
    Location: TBD
    Remote-Only
  • Summer 2024
    Section: 36110-81
    TH 6:00 PM-9:00 PM
    Gleacher Center
    404
    In-Person Only