Lessons
Lesson 0: Configuring your computer
Lesson 1: Welcome and Introduction to JupyterLab
Lesson 2: Basic command line skills
Lesson 3: Variables, operators, and types
Lesson 4: More operators and conditionals
Lesson 5: Lists and tuples
Lesson 6: Iteration
Lesson 7: Introduction to functions
Lesson 8: String methods
Lesson 9: Dictionaries
Lesson 10: Packages and modules
Lesson 11: File I/O
Lesson 12: Version control with Git
Lesson 13: Errors and Exception handling
Lesson 14: Testing and test-driven development
Lesson 15: Examples of TDD
Lesson 16: Style
Lesson 17: Introduction to Pandas
Lesson 18: Tidy data and split-apply-combine
Lesson 19: Making plots
Lesson 20: High level plotting
Lesson 21: Introduction to Numpy and Scipy
Lesson 22: Plotting time series and generated data
Lesson 23: Random number generation
Lesson 24: Comprehensions
Lesson 25: Hacker stats I
Lesson 26: Hacker stats II
Lesson 27: High level plotting with HoloViews
Lesson 28: Dealing with overplotting
Lesson 29: Dashboards
Lesson 30: JavaScript for stand-alone Bokeh apps
Lesson 31: Introduction to scripting
Lesson 32: Survey of other packages and languages
Lesson 33: Bootcamp recap
Auxiliary lessons
Lesson 34: More about the command line
Lesson 35: Regular expressions
Lesson 36: Introduction to object-oriented programming
Lesson 37: Algorithmic complexity
Lesson 38: Introduction to image processing with scikit-image
Lesson 39: Basic image quantification
Lesson 40: Control of external devices
Lesson 41. Apps for controlling external devices
Lesson 42: Control panels
Exercises
Exercise 1
Exercise 2
Exercise 3
Exercise 3.1: Parsing a FASTA file
Exercise 3.2: Restriction enzyme cut sites
Exercise 4
Exercise 5
Exercise 6
Exercise 7
Exercise 8
Exercise 9
Exercise 10
Exercise solutions
Exercise 1 solutions
Exercise 2 solutions
Exercise 3 solutions
Exercise 4 solutions
Exercise 5 solutions
Exercise 6 solutions
Exercise 7 solutions
Exercise 8 solutions
Exercise 9 solutions
Exercise 10 solutions
Schedule
Schedule overview
Daily schedule
Resources
Scientific Python distribution
Online instruction
Books
Griffin Chure’s templates for reproducible publishing
Programming Bootcamp
View page source
Exercise 3
¶
Exercise 3.1: Parsing a FASTA file
Exercise 3.2: Restriction enzyme cut sites