Skip to content

Commit 86fa973

Browse files
committed
more
1 parent 9273748 commit 86fa973

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ I believe you can learn serious things through silly games. I also think you wil
66

77
I won't necessarily show you beforehand how to write each program. I'll describe what the program should do and provide some discussion about how to write it. I'll also create an appendix with short examples of how to do things like how to use `argparse`, how to read/write from/to a file, how to process all the files in a directory, how to extract k-mers from a string, etc. I'll provide some building blocks, but I want you to figure out how to put the pieces together.
88

9+
When you are done with this books you be able to:
10+
11+
* Write command-line Python programs
12+
* Process a variety of command-line arguments, options, and flags
13+
* Write and run tests for your programs and functions
14+
* Manipulate of Python data structures including strings, lists, tuples, sets, dictionaries
15+
* Use higher-order functions like `map` and `filter`
16+
* Write and use regular expressions
17+
* Read, parse, and write various text formats
18+
* Use and control of randomness
19+
* Create and use graphs, kmers, Markov chains, Hamming distance, the Soundex algorithm, and more
20+
921
## Forking GitHub repo
1022

1123
First use the GitHub interface to "fork" this repository into your own account. Then do `git clone` of *your* repository to get a local copy. Inside that checkout, do:
@@ -52,6 +64,18 @@ Your goal is to pass all the tests. The tests are written in an order designed t
5264

5365
A fair number of the program rely on a dictionary of English words. To be sure that you can reproduce my results, I include a copy of mine in `inputs/words.zip`.
5466

67+
## Why Not Notebooks?
68+
69+
Notebooks are great for interactive exploration of data, especially if you want to visualize thing, but the downsides:
70+
71+
* Stored as JSON not line-oriented text, so no good `diff` tools
72+
* Not easily shared
73+
* Too easy to run cells out of order
74+
* Hard to test
75+
* No way to pass in arguments
76+
77+
As I want you to learn
78+
5579
## Author
5680

5781
Ken Youens-Clark is a Sr. Scientific Programmer in the lab of Dr. Bonnie Hurwitz at the University of Arizona. He started college as a music major at the University of North Texas but changed to English lit for his BA in 1995. He started programming at his first job out of college, working through several languages and companies before landing in bioinformatics in 2001. In 2019 he earned his MS in Biosystems Engineering, and enjoys helping people learn programming. When he's not working, he likes playing music, riding bikes, cooking, and being with his wife and children.

0 commit comments

Comments
 (0)