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: Style
Lesson 15: Comprehensions
Lesson 16: Introduction to Pandas
Lesson 17: Tidy data and split-apply-combine
Lesson 18: Making plots
Lesson 19: High level plotting with iqplot
Lesson 20: Styling Bokeh plots
Lesson 21: Introduction to Numpy and Scipy
Lesson 22: Plotting time series and generated data
Lesson 23: Random number generation
Lesson 24: Hacker stats I
Lesson 25: Hacker stats II
Lesson 26: Dashboards
Lesson 27: JavaScript for stand-alone Bokeh apps
Lesson 28: Survey of other packages and languages
Lesson 29: Bootcamp recap
Auxiliary lessons
Lesson 30: Control of external devices
Lesson 31. Apps for controlling external devices
Lesson 32: Control panels
Lesson 33: More about the command line
Lesson 34: Regular expressions
Lesson 35: Introduction to scripting
Lesson 36: Introduction to object-oriented programming
Lesson 37: Algorithmic complexity
Lesson 38: Testing and test-driven development
Lesson 39: Examples of TDD
Lesson 40: High level plotting with HoloViews
Lesson 41: High level plotting with Altair
Lesson 42: More plotting with Altair
Lesson 43: Dealing with overplotting
Lesson 44: Introduction to image processing with scikit-image
Lesson 45: Basic image quantification
Exercises
Exercise 1
Exercise 2
Exercise 2.1: Parsing a FASTA file
Exercise 2.2: Restriction enzyme cut sites
Exercise 2.3: Pathogenicity islands
Exercise 2.4: ORF detection
Exercise 3
Exercise 4
Exercise 5
Exercise 6
Exercise solutions
Exercise 1 solutions
Exercise 2 solutions
Exercise 3 solutions
Exercise 4 solutions
Exercise 5 solutions
Exercise 6 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 2
Exercise 2.1: Parsing a FASTA file
Exercise 2.2: Restriction enzyme cut sites
Exercise 2.3: Pathogenicity islands
Exercise 2.4: ORF detection