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)
-
Print a string in reverse
-
Play with words and letters
-
Create "silly" sentences
-
Earth's circumference calculations
-
Earth's latitude speed
-
A simple number guessing game
-
Rock paper scissors
-
Write a temperature conversion program
(Celsius to Fahrenheit / Fahrenheit to Celsius)
- Time Zone converter
- The round earth
-
Fibonacci numbers and other sequences
-
Closest pair of points
-
Convert a list to high/low pairs
-
Demonstrate linked lists
-
Demonstrate a "ring of beads"
-
Convert length/distance measurements
(GUI program)
-
How far will a cannon ball go? How high?
-
How much money will you have after investing for several years?
-
Create an interactive program to demonstrate a bubble sort
-
Create an interactive program to demonstrate a quick sort
-
Create an interactive program to demonstrate an insertion sort
-
Create an interactive program to demonstrate a binary search
- Binary search tree
- Calculate if a given year is a leap year
- Sine and Cosine
(GUI program)
- Analog clock
(graphics program)
- Calculate the travel time to another star
- How old are you on another planet
- Great circle vs direct tunnel
- Centripetal force - artificial gravity
- How high is the mountain?
- Keep a directory tree up-to-date
- Read a star catalog
- Draw star catalog data
(interactive star map) (graphics program)
- Count the number of words in a text file
- Re-Format text with long sentences
- Drop a rock from an airplane and hit a target
- Create arithmetic worksheets
- Mental arithmetic (cashier problem)
-
Send and receive secret messages (encryption and decryption)
- Create your own GREP utility
- Print the tail of a text file
- Calculate/display a resistor's value
(GUI program)
- Using Curses, draw a smiley face
(graphics program?)
- Draw an ellipse
(graphics program)
- Draw Spirograph designs
(graphics program)
- Card game
(GUI program)
- Bell curve
(graphics program)
- Who can hear us?
(graphics program)
- Create a Dyson sphere
- Convert a string to a number
- Descriptive numeric string
- Simple craps game
- Create a roman numeral converter
- Simple jukebox
- Automated picture frame (window)
(GUI/graphics program)
- Morse code translator
- Display a directory tree
- Create a simple phone book using MySQL (MySQL/MariaDB)
- Create a simple phone book using NoSQL (MongoDB)
- Simulate an Enigma Machine
(GUI program)
- Tic Tac Toe
- Black box game
- Conway's Game of Life
(graphics program)
- Simple command line interpreter
- Modify/Fix calculator code
(The calculator is a Tk based GUI.)
-
Validate/Verify HTML file's proper nesting of tags
- Simple web crawler / web bot
- 6502 CPU simulator
(in Python3)
(the instructor will select the instructions to implement - not all of them)
(6502 simulation design thoughts)
- Star Trek classic game (circa 1973)
- Classic text-based game
- Simple dashboard gauge
(graphics program)
- A simple messaging service
- Demonstrate hashing / checksums
- Fold a piece of paper
(graphics program)
- Demonstrate a lookaside list
- Recognize postal (Snail Mail) addresses
- Demonstrate Python and mutex locks
- Compare two text files
- Display current weather forecast
(plot data)
- Edit images
- Analyze publicly available data
- Shortest path
(minimum path)
- Time and profile your code
- Code/Decode QR codes
- Stamp/Watermark PDF files
- Convert a float to a fraction
- 3D matrix game
- Draw X,Y axes with tick marks
(graphics program)
- Galileo's measurement of gravity
(graphics program)
- Format a letter/invoice using f-strings
- Calculate Pi to N digits
- laser and mirror
(could also have graphics?)
- Command line arguments
- Doppler shift
- Googly eyes
(graphics program)
- Hash table demo
- Rotate the wheels and draw a line
(graphics program)
- Plot these curves
(plotting & graphics program)
- Secure password vault
(menu/GUI)
- Convert MD (Markdown) file to HTML
- Draw multi-point objects (Stars?)
(graphics program)
- Send email
- Face recognition
(graphics program)
- Hex dump
- Count lines of code
- Extract metadata from an image
- Geocoding/Geolocation
- Create a Turing Machine simulation
- Financial (stock) market data
- Let's do some basic statistics
(plotting program)
- Linear regression
- Nonlinear regression
- Golden Spiral / Golden Ratio
(graphics program)
- What time is it?
- Isosceles triangle calculator
- Quiz maker
- Convert a number to different bases
- Flying with a crosswind
(graphics program)
- Time dilation calculator and plot
(graphics program)
- Estimate the area of irregular shapes
- Pipeline
- Multi-processing
- Fourier Series demonstration
(graphics program)
- Combining waves
(plotting program)
- Fast Fourier Transform (FFT) demonstration
(plotting program)
- Create an animated GIF
(graphics program)
- Combination, permutation, factorial
- The classic two trains meeting problem
- The knapsack problem
- Linear Programming (optimization) Demonstration
- Prime numbers
- Create a simple website
(create static HTML web pages using Python)
- Create a notification server
- Pygame demonstration
- Grabable/draggable/stackable objects
(graphics program)
- Random walk
(graphics program)
- Two pointer problem
- Is it an Armstrong Number?
- Family & friends database
(graphics program)
- Magic 8 ball simulation, etc.
(menu/GUI)
- Use a TOML configuration file
- Use a YAML configuration file
- Minimum falling path
- Zipf distribution
- Caching web pages for performance
- Shift element is a list
- Stacks and queues
- CSV data files
- Compare two lists
- Display reordered file names
- Interpret bytes as Packed binary data
- Infix and postfix numeric expressions
-
Evaluate reverse polish notation numeric expressions
- File organizer
-
Estimate the size of a population from a random sample
- Make change
- Data compression
- Fix It - Modify It
- Tabulate
- UTF-8 characters in Python
- Run Length Encoding - Fix It
- Demonstrate Bisect
- Create your own programming language
- Display a BMP image
-
Extract information from binary STL files
- Cycloid curve
(plotting program)
- Use Regx to find prime numbers
- Capitalize
- Create a Python TryIt Editor
- Create a simple Turtle Graphics program
- Find missing Python function annotation
- GZIP, sockets, and web pages
- Demonstrate Python string methods
- Demonstrate Python dictionary methods
- Demonstrate Python list methods
- Demonstrate Python set methods
- Demonstrate Python tuple methods
- Demonstrate Python built in functions
- Demonstrate Python decorators
- Demonstrate Python random module functions
-
Demonstrate using a graphics transformation matrix
(2D and/or 3D) (graphics program)
-
A major project using graphics transformations
- Raspberry Pi Pico LCD projects
Python programming using an LCD1602 display and a Raspberry Pico
-
Program an ESP32 micro controller using Python
-
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