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
Quote from Isaac Asimov    Other Quotes

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. Earth's latitude speed
  6. A simple number guessing game
  7. Rock paper scissors
  8. Write a temperature conversion program
    (Celsius to Fahrenheit / Fahrenheit to Celsius)
  9. Time Zone converter
  10. The round earth
  11. Fibonacci numbers and other sequences
  12. Closest pair of points
  13. Convert a list to high/low pairs
  14. Demonstrate linked lists
  15. Demonstrate a "ring of beads"
  16. Convert length/distance measurements (GUI program)
  17. How far will a cannon ball go? How high?
  18. How much money will you have after investing for several years?
  19. Create an interactive program to demonstrate a bubble sort
  20. Create an interactive program to demonstrate a quick sort
  21. Create an interactive program to demonstrate an insertion sort
  22. Create an interactive program to demonstrate a binary search
  23. Binary search tree
  24. Calculate if a given year is a leap year
  25. Sine and Cosine (GUI program)
  26. Analog clock (graphics program)
  27. Calculate the travel time to another star
  28. How old are you on another planet
  29. Great circle vs direct tunnel
  30. Centripetal force - artificial gravity
  31. How high is the mountain?
  32. Keep a directory tree up-to-date
  33. Read a star catalog
  34. Draw star catalog data
    (interactive star map) (graphics program)
  35. Count the number of words in a text file
  36. Re-Format text with long sentences
  37. Drop a rock from an airplane and hit a target
  38. Create arithmetic worksheets
  39. Mental arithmetic (cashier problem)
  40. Send and receive secret messages (encryption and decryption)
  41. Create your own GREP utility
  42. Print the tail of a text file
  43. Calculate/display a resistor's value (GUI program)
  44. Using Curses, draw a smiley face (graphics program?)
  45. Draw an ellipse (graphics program)
  46. Draw Spirograph designs (graphics program)
  47. Card game (GUI program)
  48. Bell curve (graphics program)
  49. Who can hear us? (graphics program)
  50. Create a Dyson sphere
  51. Convert a string to a number
  52. Descriptive numeric string
  53. Simple craps game
  54. Create a roman numeral converter
  55. Simple jukebox
  56. Automated picture frame (window) (GUI/graphics program)
  57. Morse code translator
  58. Display a directory tree
  59. Create a simple phone book using MySQL (MySQL/MariaDB)
  60. Create a simple phone book using NoSQL (MongoDB)
  61. Simulate an Enigma Machine (GUI program)
  62. Tic Tac Toe
  63. Black box game
  64. Conway's Game of Life (graphics program)
  65. Simple command line interpreter
  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 numeric expressions
  154. Evaluate reverse polish notation numeric expressions
  155. File organizer
  156. Estimate the size of a population from a random sample
  157. Make Change
  158. Data Compression
  159. Fix It - Modify It
  160. Tabulate
  161. UTF-8 Characters in Python
  162. Run Length Encoding - Fix It
  163. Demonstrate Bisect
  164. Create your own programming language
  165. Display a BMP image
  166. Extract information from binary STL files
  167. Cycloid Curve (plotting program)
  168. Use Regx to find prime numbers
  169. Capitalize

  170. Demonstrate Python string methods
  171. Demonstrate Python dictionary methods
  172. Demonstrate Python list methods
  173. Demonstrate Python set methods
  174. Demonstrate Python tuple methods
  175. Demonstrate Python built in functions
  176. Demonstrate Python decorators
  177. Demonstrate Python random module functions

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

  180. Raspberry Pi Pico LCD projects
    Python programming using an LCD1602 display and a Raspberry Pico
  181. Program an ESP32 micro controller using Python
  182. 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