Programming Projects
Computer Science isn't programming (YouTube)
I put this material together for the fun of it. Anyone is free to use it in any manner they wish.
No guarantees are made.

Expertise comes with study and practice, practice, practice, ...

Introduction    Something You Need To Know    Baby Code    Software Design
Copyright    Skills Programmers Need    Extras and Miscellaneous    About Me

Projects (in no particular order)

  1. Print a string in reverse
  2. Play with words and letters
  3. Create "silly" sentences
  4. Earth's circumference calculations
  5. A simple number guessing game
  6. Rock Paper Scissors
  7. Write a temperature conversion program
    (Celsius to Fahrenheit / Fahrenheit to Celsius)
  8. Time Zone converter
  9. The round earth
  10. Fibonacci numbers and other sequences
  11. Closest pair of points
  12. Convert a list to high/low pairs
  13. Demonstrate linked lists
  14. Demonstrate a "ring of beads"
  15. Convert length/distance measurements (GUI program)
  16. How far will a cannon ball go? How high?
  17. How much money will you have after investing for several years?
  18. Create an interactive program to demonstrate a bubble sort
  19. Create an interactive program to demonstrate a quick sort
  20. Create an interactive program to demonstrate an insertion sort
  21. Create an interactive program to demonstrate a binary search
  22. Binary search tree
  23. Calculate if a given year is a leap year
  24. Sine and Cosine (GUI program)
  25. Analog clock (graphics program)
  26. Calculate the travel time to another star
  27. How old are you on another planet
  28. Great circle vs direct tunnel
  29. Centripetal force - artificial gravity
  30. How high is the mountain?
  31. Keep a directory tree up-to-date
  32. Read a star catalog
  33. Draw star catalog data
    (interactive star map) (graphics program)
  34. Count the number of words in a text file
  35. Re-Format Text With Long Sentences
  36. Drop a rock from an airplane and hit a target
  37. Create arithmetic worksheets
  38. Mental arithmetic (cashier problem)
  39. Send and receive secret messages (encryption and decryption)
  40. Create your own GREP utility
  41. Print the tail of a text file
  42. Calculate/display a resistor's value (GUI program)
  43. Using Curses, draw a smiley face (graphics program?)
  44. Draw an ellipse (graphics program)
  45. Draw Spirograph designs (graphics program)
  46. Card game (GUI program)
  47. Bell curve (graphics program)
  48. Who can hear us? (graphics program)
  49. Create a Dyson sphere
  50. Convert a string to a number
  51. Descriptive numeric string
  52. Simple craps game
  53. Create a roman numeral converter
  54. Simple jukebox
  55. Automated picture frame (window) (GUI/graphics program)
  56. Morse code translator
  57. Display a directory tree
  58. Create a simple phone book using MySQL (MySQL/MariaDB)
  59. Create a simple phone book using NoSQL (MongoDB)
  60. Simulate an Enigma Machine (GUI program)
  61. Tic Tac Toe
  62. Black box game
  63. Conway's Game of Life (graphics program)
  64. Simple command line interpreter
  65. Evaluate numerical expressions
    (A difficult project. Perhaps this should be a class project.)
  66. Modify/Fix calculator code
    (The calculator is a Tk based GUI.)
  67. Validate/Verify HTML file's proper nesting of tags
  68. Simple web crawler / web bot
  69. 6502 CPU simulator (in Python3)
    (the instructor will select the instructions to implement - not all of them)
    (6502 simulation design thoughts)
  70. Star Trek classic game (circa 1973)
  71. Classic text-based game
  72. Simple dashboard gauge (graphics program)
  73. A simple messaging service
  74. Demonstrate hashing / checksums
  75. Fold a piece of paper (graphics program)
  76. Demonstrate a lookaside list
  77. Recognize postal (Snail Mail) addresses
  78. Demonstrate Python and mutex locks
  79. Compare two text files
  80. Display current weather forecast (plot data)
  81. Edit images
  82. Analyze publicly available data
  83. Shortest path (minimum path)
  84. Time and profile your code
  85. Code/Decode QR codes
  86. Stamp/Watermark PDF files
  87. Convert a float to a fraction
  88. 3D matrix game
  89. Draw X,Y axes with tick marks (graphics program)
  90. Galileo's measurement of gravity (graphics program)
  91. Format a letter/invoice using f-strings
  92. Calculate Pi to N digits
  93. laser and mirror (could also have graphics?)
  94. Command line arguments
  95. Doppler shift
  96. Googly eyes (graphics program)
  97. Hash table demo
  98. Rotate the wheels and draw a line (graphics program)
  99. Plot these curves (plotting & graphics program)
  100. Secure password vault (menu/GUI)
  101. Convert MD (Markdown) file to HTML
  102. Draw multi-point objects (Stars?) (graphics program)
  103. Send email
  104. Face recognition (graphics program)
  105. Hex dump
  106. Count lines of code
  107. Extract metadata from an image
  108. Geocoding/Geolocation
  109. Create a Turing Machine simulation
  110. Financial (stock) market data
  111. Let's do some basic statistics (plotting program)
  112. Linear regression
  113. Nonlinear regression
  114. Golden Spiral / Golden Ratio (graphics program)
  115. What time is it?
  116. Isosceles triangle calculator
  117. Quiz maker
  118. Convert a number to different bases
  119. Flying with a crosswind (graphics program)
  120. Time dilation calculator and plot (graphics program)
  121. Estimate the area of irregular shapes
  122. Pipeline
  123. Multi-processing
  124. Fourier Series demonstration (graphics program)
  125. Combining waves (plotting program)
  126. Fast Fourier Transform (FFT) demonstration (plotting program)
  127. Create an animated GIF (graphics program)
  128. Combination, permutation, factorial
  129. The classic two trains meeting problem
  130. The knapsack problem
  131. Linear Programming (optimization) Demonstration
  132. Prime numbers
  133. Create a simple website (create static HTML web pages using Python)
  134. Create a notification server
  135. Pygame demonstration
  136. Grabable/draggable/stackable objects (graphics program)
  137. Random walk (graphics program)
  138. Two pointer problem
  139. Is it an Armstrong Number?
  140. Family & friends database (graphics program)
  141. Magic 8 ball simulation, etc. (menu/GUI)
  142. Use a TOML configuration file
  143. Use a YAML configuration file
  144. Minimum falling path
  145. Zipf distribution
  146. Caching web pages for performance
  147. Shift element is a list
  148. Stacks and queues
  149. CSV Data Files
  150. Compare two lists
  151. Display Reordered File Names
  152. Interpret Bytes as Packed Binary Data
  153. Infix and Postfix Numerical Expressions
  154. File Organizer

  155. Demonstrate Python string methods
  156. Demonstrate Python dictionary methods
  157. Demonstrate Python list methods
  158. Demonstrate Python set methods
  159. Demonstrate Python tuple methods
  160. Demonstrate Python built in functions
  161. Demonstrate Python decorators
  162. Demonstrate Python random module functions

  163. Demonstrate using a graphics transformation matrix
    (2D and/or 3D) (graphics program)
  164. A major project using graphics transformations

  165. Raspberry Pi Pico LCD projects
    Python programming using an LCD1602 display and a Raspberry Pico
  166. Program an ESP32 micro controller using Python
  167. Program in Python on an inexpensive SBC

Code to Help The Student Get Started (hints, examples, demos, etc.)

Random Module Functions (quick notes/examples)

Basic Data Structures

Software Design Patterns

Work in a Virtual Environment?

VENV notes
Run IDLE in VENV

VirtualBox VM

What is it? What is it for? What does it do?

Advanced Projects - Infrastructure Services

Interesting but Non-Programming Projects

Create your Own Email and DNS Server

Hacking Portable Satellite Dish

Links

Videos for learning creative programming
Classical Problems
5 Crucial Projects for Beginners
Design Patterns
10 Programming Questions and Exercises
Beginner Programming Challenge

Extra

Data/Test Files

The Constitution of the USA
The Declaration of Independence
The Night Before Implementation
Titanic Dataset (CSV)

Miscellaneous

Python Install (Rough Notes)
Python Compilers (Rough Notes)

ASCII Code (dec)
ASCII Code (oct,dec,hex)
NATO Phonetic Alphabet (pdf)

LINUX Magazine

bpython

IPython

Python Annotations

Python Exceptions

Python Tutor (online)

Virtual Machines

BeautifulSoup Examples

Python Code Formatter