This course seeks to teach you the basics of professional software development in the context of science. It is presented at the African Institute for Mathematical Sciences (AIMS), center of Senegal, 01 September to 20 September 2019.
The material is meant to be used on a university course (at any level where the material feels appropriate, depending on your background!), but can also be used for self-study. We concentrate on Python 3 only.
Amazing ressources can also be find at:
* Basic Linux commands (The Shell - BASH);
* Programming and Computer Science Basics - Python;
* Version Control - git.
The materials presented here come may have come originally from different sources, which include mainly
-The Software Carpentry (swc-) lessons;
-The Introduction to Programming using Python (IPuP) lessons developped in 2016, by:
*Jeff Sanders;
*Yaé Ulrich Gaba;
*Jordan Masakuna;
at the African Institute for Mathematical Sciences (AIMS), center of South Africa.
Please feel free to post questions (or point out mistakes) about the reading by opening a GitHub issue.
Contributions to this project are very welcome!Some great ways to help out are to:
* proofread;
* add reading comprehension exercises to existing sections;
* provide general feedback about the organization of the website, the consistency material, etc. ;
You can either open an issue to provide feedback or point out errors, or you can create pull request.
I have not included it in the material but here is a nice Markdown "cheat sheet" for looking up how to make tables, code-blocks, etc., in Markdown. A Jupyter Notebook for Beginners: A Tutorial is also available.
If you want to submit a change to some of the content (e.g. correcting typos), do the following:
-
Clone this repository;
-
Create a new branch, appropriately named for whatever task you are performing:
git checkout -b your_branch_name; -
Check out your new branch and commit any changes you make to it;
-
Push your branch:
git push origin your_branch_name(you should have permission to do this, if you are added as a "contributor" to this project); -
Create a Pull Request from your branch into the master branch.