Summary and Schedule
This lesson is an introduction to programming in Python 3 for people with little or no previous programming experience.
This course is an adaptation of the Python course developed and used by The Carpentries (Copyright (c) The Carpentries, https://carpentries.org/), licensed under CC BY 4.0, and changed to suit my needs. This fork and its intended use (teaching material for Masters level Biology students) are in no way endorsed by the licensor.
Prerequisites
Learners need to understand what files and directories are, what a working directory is, and how to start a Python interpreter.
Learners must install Python 3 before the class starts.
Please see the setup instructions for more details.
| Setup Instructions | Download files required for the lesson | |
| Duration: 00h 00m | 1. Running and Quitting | How can I run Python programs? |
| Duration: 00h 15m | 2. Variables and Assignment | How can I store data in programs? |
| Duration: 00h 35m | 3. Data Types and Type Conversion |
What kinds of data do programs store? How can I convert one type to another? |
| Duration: 00h 55m | 4. Built-in Functions and Help |
How can I use built-in functions? How can I find out what they do? What kind of errors can occur in programs? |
| Duration: 01h 20m | 5. Libraries |
How can I use software that other people have written? How can I find out what that software does? |
| Duration: 01h 40m | 6. Lists | How can I store multiple values? |
| Duration: 02h 00m | 7. Dictionaries | How can I store multiple values that are not indexed by position? |
| Duration: 02h 20m | 8. For Loops | How can I make a program do many things? |
| Duration: 02h 45m | 9. Conditionals | How can programs do different things for different data? |
| Duration: 03h 10m | 10. Writing Functions | How can I create my own functions? |
| Duration: 03h 35m | 11. Variable Scope |
How do function calls actually work? How can I determine where errors occurred? |
| Duration: 03h 55m | 12. Programming Style |
How can I make my programs more readable? How do most programmers format their code? How can programs check their own operation? |
| Duration: 04h 25m | 13. EXTRA - Reading Tabular Data into DataFrames | How can I read tabular data? |
| Duration: 04h 45m | 14. EXTRA - Pandas DataFrames | How can I do statistical analysis of tabular data? |
| Duration: 05h 15m | 15. EXTRA - Plotting |
How can I plot my data? How can I save my plot for publishing? |
| Duration: 05h 45m | 16. EXTRA - Looping Over Data Sets | How can I process many data sets with a single command? |
| Duration: 06h 00m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Installing Python Using Anaconda
Please refer to the Python section of the workshop website for installation instructions.
Valuable accounts
Exercises are a vital part of the course. Beyond the material hosted in the lessons, additional practice can be obtained in other parts of the internet. Please register an account on Rosalind. You may consider registering on W3Schools, if you want to track your progress there as well. [cc-by-human]: https://creativecommons.org/licenses/by/4.0/ [cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode [ci]: https://communityin.org/ [coc-reporting]: https://docs.carpentries.org/policies/coc/incident-reporting.html [coc]: https://docs.carpentries.org/policies/coc/ [concept-maps]: https://carpentries.github.io/instructor-training/05-memory/ [contrib-covenant]: https://contributor-covenant.org/ [cran-checkpoint]: https://cran.r-project.org/package=checkpoint [cran-knitr]: https://cran.r-project.org/package=knitr [cran-stringr]: https://cran.r-project.org/package=stringr [dc-lessons]: https://www.datacarpentry.org/lessons/ [email]: mailto:team@carpentries.org [github-importer]: https://import2.github.com/ [importer]: https://github.com/new/import [jekyll-collection]: https://jekyllrb.com/docs/collections/ [jekyll-install]: https://jekyllrb.com/docs/installation/ [jekyll-windows]: https://jekyll-windows.juthilo.com/ [jekyll]: https://jekyllrb.com/ [jupyter]: https://jupyter.org/ [jupyterlab]: https://jupyterlab.readthedocs.io/en/stable/ [kramdown]: https://kramdown.gettalong.org/ [lc-lessons]: https://librarycarpentry.org/lessons/ [lesson-example]: https://carpentries.github.io/lesson-example/ [mit-license]: https://opensource.org/licenses/mit-license.html [morea]: https://morea-framework.github.io/ [numfocus]: https://numfocus.org/ [osi]: https://opensource.org [pandoc]: https://pandoc.org/ [paper-now]: https://github.com/PeerJ/paper-now [python-gapminder]: https://swcarpentry.github.io/python-novice-gapminder/ [pyyaml]: https://pypi.org/project/PyYAML/ [r-markdown]: https://rmarkdown.rstudio.com/ [rstudio]: https://www.rstudio.com/ [ruby-install-guide]: https://www.ruby-lang.org/en/downloads/ [ruby-installer]: https://rubyinstaller.org/ [rubygems]: https://rubygems.org/pages/download/ [styles]: https://github.com/carpentries/styles/ [swc-lessons]: https://software-carpentry.org/lessons/ [swc-releases]: https://github.com/swcarpentry/swc-releases [training]: https://carpentries.github.io/instructor-training/ [yaml]: https://yaml.org/