This set of learning modules is intended for a university course focused on introducing students to scientific applications in the context of computing.
The course was intended to accompany the Field Guide To Research in Python also known as "Effective Computation in Physics". The following modules are included in this repository and are intended to be forked, re-used, and re-mixed by professors accross disciplines.
- The Command Line
- Python: Blast Off
- Python: Containers
- Python: Flow Control
- Python: Functions
- Python: Classes and Objects
- Regular Expressions
- Analysis and Visualization
- NumPy
- Storing Data
- Data Structures
- Parallelism
- Deployment
- Building Software
- Local Version Control
- Remote Version Control
- Debugging
- Testing
- Documentation
- Publishing
- Collaboration
- Licenses
- Musings
This course is intended to teach {%DOMAN%} in the context of research caliber computation.
A computational project in {%DOMAIN%} fits seamlessly into this example and project driven course framework.
By emphasizing projects along the way, the students in this course will learn to create free and open source tools, verify the functioning of those tools, and publish them online.
This flipped classroom style of instruction is proven to be more effective at learning retention.