Python at Columbia Business School


Any questions? Email [email protected]
Ready to start? Enroll in this canvas course

The next live Python help session will be hosted on Sunday October 2nd, from 1pm-5pm in Geffen 620. There will be no formal programming, but TAs will be in the room during that entire time period, and available to help you answer any Python questions you might have.

The world runs on code; from core operations to Business Analytics. Even if you won't be working in tech, understanding how these technologies work is crucial to being successful in the modern world - Python will be to you what Excel was to students 20 years ago.

CBS has one of the best Python programs around; wheher you just want the basics for recruiting, or want to do a more in-depth study. The program is structured in three levels for maximum flexibility:

  • Level 1: Python basics: designed for those who thinks Python is a snake. By the end of this level, you should be able to pass a coding interview.
  • Level 2: Business python: essential ways Python is used in business; analyzing data, automating emails and productivity tasks, building apps, and more. You will need to pass the Basic Python Qualification Exam to access this level.
  • Level 3: Advanced Python: covers more advanced topics such as AI, machine learning, and subject-specific applications. You will need to pass the Advanced Python Qualification Exam to access this level.
  • For those not currently enrolled as MBA students at Columbia Business School, Columbia Executive Education runs Python for Managers (online), also available through the alumni edge program for CBS alumni.

Check out this video for a summary of these levels, and use the links above to navigate this page.

Level 1

Level 1 comprises a series of self-guided videos, which you can choose to complete in one of two ways:

  • By yourself in your own time; Slack support will be available form a team of dedicated engineering students.
  • During one of several dedicated workshops each semester, during which you can come into a room on campus and follow the videos while in-person engineering students are there to help you with any questions you might have. All upcoming workshop dates are listed on the calendar for the "Python Level 1" canvas site; you can sign up directly on the Canvas calendar if you'd like a slot.

To get started, simply enroll in this canvas course, open to all Business School students.

If you prefer the written word, all the material at level 1 is also covered in Chapters 1-5 of Python for MBAs, available free as a download to all current Columbia students here.

Level 2

All classes at level 2 require the Basic Qualification Exam as a pre-requisite.

The main class at this level is B8154 (Python for MBAs), which will teach you how to read, write, and analyze massive datasets Excel couldn't even dream of handling, scrape websites, automate emails, and more. Other classes at this level are Web App Programming in Python (B8126) and the MBA track of Analytics in Action (B8146) in which you'll work on data consulting programs in interdisciplinary teams of MBAs and engineers.

Level 3

All classes at leavel 3 require either a pass in Python for MBAs (B8154) or passing the Advanced Qualification Exam as a pre-requisite, which you need to have passed before the first day of class.

Classes currently at this level are the engineer track of Analytics in Action (B8146), which will be available for the first time in the Fall of 2023, and Data Analytics in Python (B8139).

The Basic Python Qualification Exam

The Basic Python Qualification Exam is required to take any Python class at Columbia.

  • It is highly recommended that you watch the last video in the Python Level 1 Canvas Class, before you attempt to take the exam - it will guide you through the logistics of using the platform to take the exam. You do not need to take the rest of the class to watch this last video.
  • You will have five hours in which to complete the exam, which comprises 6 questions. You need to answer every question correctly to pass.
  • The exam is open book, open notes, open internet, open Canvas - you may use any material you wish while taking the exam, including searchign the internet for code snipets. However, you may not consult with any other human being after starting the exam. Doing so is a violation of the honor code.
  • Each question will require you to write a Python function. The platform will test your function against a number of test cases - your function needs to return the correct value to pass each test case.
    • Some test cases are visible. You will be told in advance the inputs with which your function will be tested, and the expected outputs.
    • Some test cases are hidden; you will not know what inputs your function will be tested with, or the expected outputs.
    • You must pass all test cases to pass a question.
  • You can answer the questions in any order. Once you have attempted a question, you can
    • Click on the Test Run button, to test your answer on the visible test cases and ensure there are no bugs in your code. You can do this as many times as you want.
    • Click on the Submit button, to test your answer against all test cases, including hidden ones. You will be told whether your answers were right or wrong, but not what these test cases were. You can do this a limited number of times
    • YOU MUST SUBMIT EVERY QUESTION BEFORE THE EXAM TIMER RUNS OUT. The questions will not be submitted automatically for you. To pass the exam, you must score 100%; all of your functions must pass all of the test cases.
  • You can take the exam at any time. If you fail it, you can re-take it a maximum of three times, for a total for four attempts (with new questions each time), but you must wait one week between tries. If you fail the exam four times, no further exam will be available to you, and you will not be able to take any Python classes during your time at CBS. We recommend reaching out to the CBS Python team before your third attempt for extra help.
  • To access the exam platform, go to Log in with your uni. The front page will have links to access the mock exams, as well as a link to start the basic Python qualification exam. Solutions to the mock exams are available on the platform, and video solutions are available in the Python Level 1 Canvas Class.

The Advanced Python Qualification Exam

The Advanced Qualification Exam allows students to take more advanced electives without taking "Python for MBAs". It is available on the same platform (; see the quicklinks at the bottom of the page for a mock exam, and the advanced exam itself.

It is important to realize that the Advanced Exam can only be taken once - if you fail your single sitting of the exam, you will not be able to retake it - your only path to taking more advanced Python classes will be to take "Python for MBAs".

Cross Registrations from Other Columbia Schools

As long as you have a Columbia uni, you will have access to all the resources described above. Requirements for cross-registrants are identical to those for CBS students.

  • You can take the qualification exams by logging in to the CBS Python platform using your uni.
  • You can access the Canvas course to review the material required, or just to watch the solutions to the mock qualification exams in the course's last module (you do not need to watch the other videos to access these last videos).
  • Space permitting, the class will not open to cross-registrants until the initial business school registration process is over. The most up-to-date information in re: registration timelines for cross registrants is available on the CBS cross registration website - scroll down to "Registration Periods & Available Courses (Subject to Change)"