Project ideas graded by learnt skills
All below are cumulative - the next bullet assumes knowledge of the previous:
- You have learnt to output something
- ASCII art, patterns
- You have learnt to retrieve input from the user
- Mad libs
- simple calculation
- You have learnt conditionals/branching statements
- 20 questions
- a very basic text adventure (interactive fiction)
- You have learnt loops
- Number guessing game
- 99 bottles of beer
- Dice games
- More patterns - repeat the patterns from early, but this time, use loops and conditionals
- You have learnt string manipulation
- Hangman
- You've learnt arrays (lists, any form of collections)
- Card games
- Board games (like "Don't Angry", "Connect Four", "Tic Tac Toe", "Battleships", etc.)
- Conway's Game Of Life
- Dewdney's Wa-Tor
- Sudoku (not the solver, though at this level)
- You have learnt how to read and write files
- RPG Character Sheet generator/storage
- Shopping list
- Finance tracker
- Simple data storage (CD collection, etc. - on a basic level)
- You have learnt object-oriented programming:
- Create a simple game using object-oriented design principles
- Build a chatbot that can interact with users and respond to their messages
- Develop a calculator with advanced mathematical functions
- You have learnt recursion:
- Implement a recursive algorithm to solve a classic problem like the Tower of Hanoi or the Fibonacci sequence
- Build a recursive maze generator and solver
- Develop a recursive fractal generator, like the Sierpinski triangle or the Koch curve
- You have learnt data structures:
- Implement a sorting algorithm like bubble sort, insertion sort, or quicksort
- Build a binary search tree and implement basic operations like insertion, deletion, and search
- Develop a priority queue using a heap data structure
- You have learnt exception handling:
- Develop a file handling system that can handle different types of exceptions
- Build a calculator that can handle divide-by-zero and other arithmetic exceptions
- Create a program that can handle network exceptions like connection timeouts and socket errors
- You have learnt networking:
- Build a simple chat application that can send and receive messages over a network
- Develop a file sharing application that can transfer files between different computers on a network
- Create a simple web server that can handle HTTP requests and serve static content
- You have learnt graph algorithms:
- Implement a graph data structure and perform basic operations like adding and removing vertices and edges
- Build a program that can perform shortest path calculations using Dijkstra's algorithm or Bellman-Ford algorithm
- Develop a program that can perform network flow calculations using algorithms like Ford-Fulkerson or Edmonds-Karp