###Overview
Site for the AIMS-Ghana Introduction to Programming with Python course
###Course Description
The course covers (1) software development for (2) scientific applications in (3) Python. The course assumes limited programming background, but familiarity with general maths concepts (e.g., calculus, probability, and geometry) and basic numerical mathematics (e.g., finite difference methods).
The course will focus on the main tasks in scientific computation:
- reading / writing data
- transformation / subsetting of data
- bulk analysis of data
- approximation and simulation of systems
- visualization
To support accomplishing these feats, the course will introduce students to a variety of programming constructs:
- variables, constants, input and output devices
- flow control with branching (
if
-else
) and iteration (for
,while
) - functions
- collections
- functional programming (comprehensions, iterators, generators)
- objects
- reuse / libraries / packages
and several development tools and practices that are especially important to scientific reproducibility:
- version control / data management
- unit testing
- literate programming