"An étude (a French word meaning study) is an instrumental musical composition, usually short, of considerable difficulty, and designed to provide practice material for perfecting a particular musical skill." — Wikipedia
This project contains pytudes—Python programs for perfecting programming skills.
Some are in Jupyter (IPython) notebooks, some in *.py files.
Logic and Number Puzzles |
---|
Advent of Code 2016 Puzzle site with a coding puzzle each day for Advent 2016 |
Translating English Sentences into Propositional Logic Statements Automatically converting informal English sentences into formal Propositional Logic. |
The Puzzle of the Misanthropic Neighbors How crowded will this neighborhood be, if nobody wants to live next door to anyone else? |
Countdown to 2016 Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. From an Alex Bellos puzzle. |
Sicherman Dice Find a pair of dice that is like a regular pair of dice, only different. |
Beal's Conjecture Revisited A search for counterexamples to Beal's Conjecture |
When is Cheryl's Birthday? Solving the "Cheryl's Birthday" logic puzzle. |
When Cheryl Met Eve: A Birthday Story Inventing new puzzles in the Style of Cheryl's Birthday. |
Sol Golomb's Rectangle Puzzle A Puzzle involving placing rectangles of different sizes inside a square. Bonus: cryptarithmetic. |
WWW: Will Warriors Win? Golden State Warriors probability of winning the 2016 NBA title. |
Word Games |
---|
Ghost The word game Ghost (add letters, try to avoid making a word). |
World's Longest Palindrome Searching for a long Panama-style palindrome, this time letter-by-letter. |
Refactoring a Crossword Game Program Refactoring the Scrabble / Word with Friends game from Udacity 212. |
xkcd 1313: Regex Golf Find the smallest regular expression; inspired by Randall Monroe. |
xkcd 1313: Regex Golf (Part 2: Infinite Problems) Regex Golf: better, faster, funer. With Stefan Pochmann. |
Let's Code About Bike Locks A tale of a bicycle combination lock that uses letters instead of digits. Inspired by Bike Snob NYC. |
Gesture Typing What word has the longest path on a gesture-typing smartphone keyboard? Inspired by Nicolas Schank and Shumin Zhai. |
How to Do Things with Words, or Statistical Natural Language Processing in Python Spelling Correction, Secret Codes, Word Segmentation, and more: grab your bag of words. |
Computer Science Algorithms, Concepts, and Problems |
---|
A Chaos Game with Triangles A surprising appearance of the Sierpinski triangle in a random walk between vertexes. |
BASIC Interpreter How to write an interpreter for the BASIC programming language. |
Bad Grade, Good Experience As a student, did you ever get a bad grade on a programming assignment? (Snobol, Concordance) |
Conway's Game of Life The cellular automata zero-player game. |
A Concrete Introduction to Probability Code and examples of the basic principles of Probability Theory. |
Probability, Paradox, and the Reasonable Person Principle Some classic paradoxes in Probability Theory, and how too think about disagreements. |
The Convex Hull Problem A classic Computer Science Algorithm. |
The Traveling Salesperson Problem Another of the classics. |
Economics Simulation A simulation of a simple economic game. |
Project Euler Utilities My utility functions for the Project Euler problems, including Primes and Factors . |
File | Description | Documentation |
---|---|---|
SET.py | Analyze the card game SET. | SET.html |
beal.py | Search for counterexamples to Beal's Conjecture | beal.html |
docex.py | A framework for running unit tests, similar to doctest . |
|
ibol.py | An Exercise in Species Barcoding | ibol.html |
lettercount.py | Convert Google Ngram Counts to Letter Counts | mayzner.html |
lis.py | Lisp Interpreter written in Python | lispy.html |
lispy.py | Even Better Lisp Interpreter written in Python | lispy2.html |
lispytest.py | Tests for Lisp Interpreters | |
pal.py | Find long palindromes | palindrome.html |
pal2.py | Find longer palindromes | palindrome.html |
pal3.py | Find even longer palindromes | palindrome.html |
py2html.py | Pretty-printer to format Python files as html | |
spell.py | Spelling corrector | spell-correct.html |
sudoku.py | Program to solve sudoku puzzles | sudoku.html |
testaccum.py | Tests for my failed Python accumulation display proposal |
pyacc.html |
yaptu.py | Yet Another Python Templating Utility |
I got the idea for the "etudes" part of the name from this 1978 book by Charles Wetherell that was very influential to me when I was learning to program.