In our first project, let's start out with something fun - a game! Specifically, We'll be making Tic Tac Toe, a game that takes seconds to learn but minutes to master!
By the time you submit this project, developers will have covered new ground in many of the big themes of the course:
- Command Line: Interacting with the computer and navigating the filesystem from the command line.
- Source Control: Managing and interacting with a git repository to store changes to code.
- Programming Fundamentals: Working with objects, constructors, and events, while learning how to strategically solve problems and resolve errors.
- Web Fundamentals: Structuring, styling, and animating documents within a browser; responding to actions your users take and the data they input into the browser.
- Browser Applications: Using AJAX to connect to a back-end application.
- Server Applications: We haven't covered a ton of server-side technologies yet (that's up next), but we learned a bit about how API endpoints work, and how to get data from them.
- Deployment: Host a static web site in a managed hosting environment (GitHub Pages)
- Products and Teams: Document your code and your code repository so others understand what you've built.
At a high level, here are our goals for you in this project:
- Build a web application from scratch, without a starter codebase
- Use your programming skills to map out the game logic for a simple game like Tic Tac Toe
- Build an application to a spec that someone else gives you
- Build a dynamic game that allows two players to compete (bonus: compete from separate devices)
- Craft a
readme.mdfile that explains your app to the world
- Communicate with a back-end (which we'll provide for you) to store the state of your game.
You will be working individually for this project, but we'll be guiding you along the process and helping as you go. Everyone will get a chance to be creative, and work through some really tough programming challenges to get your feet wet in the world of web development. Those who dare will have the tools to make it multi-player, and multi-device – so you can say to someone, "hand me your phone," load up the game, and play a quick round!
- All content is licensed under a CCBYNCSA 4.0 license.
- All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact firstname.lastname@example.org.