Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Python Code Challenges

Unit Project

Materials We Provide

Topic Description Link
Starter Code Required questions and Bonus prompts Here
Solution Code Sample solutions for all required sections Here

Note: Instructors should withhold project solutions until students have submitted their drafts.

Project Objective

We've provided a Jupyter notebook that contains the kinds of coding challenges that often come up in data science job interviews. In addition to preparing you for interviews, completing challenges like these is a fun way to develop your Python skills.

Some of these problems are well known, so it may be possible to find complete solutions online. Students should see these questions as an opportunity to challenge themselves; looking up answers limits the potential growth that comes from practice and repetition of these skills.

Project Requirements

In a Jupyter Notebook, create working solutions for all of the required questions. Your notebook should include:

  1. Text for each question, copy and pasted from the starter code provided.

  2. A working solution to each problem.

    • Do not include test, practice, or broken code (unless you were unable to create a working solution).
  3. Comments for all of your code.

    • In your comments, describe any assumptions you made in order to solve these problems.
  4. Optional: After completing the required portions, try your hand at the bonus sections for some additional challenges!


For all projects, requirements will be evaluated on a simple point scale of 0, 1, or 2. Additionally, instructors will provide you with feedback on required portions of your project.

Score Expectations
0 Incomplete.
1 Does not meet expectations.
2 Meets expectations, good job!
3 Surpasses our wildest expectations!

Note: Scores of 2 mean that a requirement has been completely fulfilled, while 3 is typically reserved for bonus objectives.


Your instructor will explain how to submit your assignment. Typically, this is done either by:

  • Creating a repository in your github profile, hosting your materials, and sharing a link with your instructor. [or]
  • Forking the project repository, adding your solutions, and submitting a pull request back to the relevant repo.