data | ||
ipynb | ||
py | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
requirements.txt |
pytudes
“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. You can view the files here, or clone the project, or run the
notebooks online by clicking this button:
Index of Jupyter (IPython) Notebooks
Logic and Number Puzzles |
---|
Advent
of Code 2017 Puzzle site with a coding puzzle each day for Advent 2017. |
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, funner. 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 to 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 . |
Index of Python Files
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 |
Etudes for Programmers
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 first learning to program.