This project will take you off-platform and get you started in your own developer environment! Never done that before? Not to worry - we’ve shared some resources to help you down below. This project can be completed entirely on your own - or, you can join the #comp-sci-buddies in the Codecademy Pro Learner community on Slack and find someone to work with! Jump to the community support section to hear more about this.
The project is broken down into a set of user stories for you to follow. User stories are likely something you will see more and more of as you progress in your journey as a developer. They are short, simple descriptions of a feature told from the perspective of the individual using that feature. The goal of each user story is to describe to you, the developer, what the feature or application needs to do, while providing you with enough flexibility to determine the best way to make that happen.
Build a console application that allows the user to enter a 9x9 sudoku board, have the program solve it using depth-first search and produce the solution. Never played sudoku? It’s a logic-based, numbers placement game - you can read more about here!
In order to complete this project, we suggest that you have familiarity with the content in the following courses or lessons from the Codecademy Computer Science Path:
Depending on where you are on your Path, there may be multiple technology options you can use to complete this project - we suggest the following:
- Command Line
Get started - setting up your project
Since you won’t be completing this project in the Codecademy learning environment, you’ll need to find somewhere else to host your project! We’ve listed our recommendations below. For additional set-up information and guidance, please refer to the general resources section below.
- Repl.it: If you’re not quite ready to get into all of the nitty gritty details of setting up your own local developer environment, Repl.it is an amazing online tool that can help you spin one up a web-based development environment with the click of a button. For this project, you’ll need a Repl.it environment that supports Python.
- Visual Studio Code: If you’re excited & ready to set-up your own local environment, we’ve got your back too. Visual Studio Code is a popular open source text editor that you will set-up & configure on your own device and can be used to develop websites and applications locally before pushing to production.
User Story: As a user I want to be able to input a valid starting sudoku board.
- This can be done in pieces (one box/row/column at a time) or all at once.
User Store: As a user I want to be able to choose to use the most recent starting board.
- Board can be hard-coded initially to help you get started, since the focal point of this project is the implementation of minimax. This will also streamline testing, as it won’t be necessary to manually input a board each you run the program.
User Story: As a user I want to be able to quit the program or go again after each cycle.
User Story: As a user I want to be able to switch between 4x4, 9x9 and 16x16 configurations.
User Story: As a user I want the program to save the output, in addition to printing to console, so that it can be preserved and accessed separately.
Resources & Support
- Depth-first search
- Python file input/output
- Python documentation
- Command line setup
- Command line glossary
- How to get set-up for coding on your computer
- What you need to know about Git, GitHub & Coding in Teams
- How developer teams work
- First steps in tackling a group project
- Resource on writing pseudocode to get started with off-platform projects
- Video on how to use Chrome dev tools
- User Stories: What are they?
Want to Looking for additional help or someone to work with (or somewhere to brag about your finished project)? Join our Codecademy Pro Learner Community on Slack to meet other learners like yourself!