• Stars
    star
    298
  • Rank 139,663 (Top 3 %)
  • Language
    Python
  • License
    Other
  • Created almost 10 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Programming with Python

Programming with Python

GitHub release Create a Slack Account with us Slack Status

An introduction to Python for non-programmers using inflammation data.

About the Lesson

This lesson teaches novice programmers to write modular code to perform data analysis using Python. The emphasis, however, is on teaching language-agnostic principles of programming such as automation with loops and encapsulation with functions, see Best Practices for Scientific Computing and Good enough practices in scientific computing to learn more.

The example used in this lesson analyses a set of 12 files with simulated inflammation data collected from a trial for a new treatment for arthritis. Learners are shown how it is better to automate analysis using functions instead of repeating analysis steps manually.

The rendered version of the lesson is available at: https://swcarpentry.github.io/python-novice-inflammation/.

This lesson is also available in R and MATLAB.

Episodes

# Episode Time Question(s)
1 Python Fundamentals 30 What basic data types can I work with in Python?
How can I create a new variable in Python?
Can I change the value associated with a variable after I create it?
2 Analyzing Patient Data 60 How can I process tabular data files in Python?
3 Visualizing Tabular Data 50 How can I visualize tabular data in Python?
How can I group several plots together?
4 Storing Multiple Values in Lists 30 How can I store many values together?
5 Repeating Actions with Loops 30 How can I do the same operations on many different values?
6 Analyzing Data from Multiple Files 20 How can I do the same operations on many different files?
7 Making Choices 30 How can my programs do different things based on data values?
8 Creating Functions 30 How can I define new functions?
What's the difference between defining and calling a function?
What happens when I call a function?
9 Errors and Exceptions 30 How does Python report errors?
How can I handle errors in Python programs?
10 Defensive Programming 30 How can I make my programs more reliable?
11 Debugging 30 How can I debug my program?
12 Command-Line Programs 30 How can I write Python programs that will work like Unix command-line tools?

Contributing

Travis Build Status

We welcome all contributions to improve the lesson! Maintainers will do their best to help you if you have any questions, concerns, or experience any difficulties along the way.

We'd like to ask you to familiarize yourself with our Contribution Guide and have a look at the more detailed guidelines on proper formatting, ways to render the lesson locally, and even how to write new episodes!

Maintainers

Lesson maintainers are Toan Phung and Indraneel Chakraborty.

Authors

A list of contributors to the lesson can be found in AUTHORS.

License

Instructional material from this lesson is made available under the Creative Commons Attribution (CC BY 4.0) license. Except where otherwise noted, example programs and software included as part of this lesson are made available under the MIT license. For more information, see LICENSE.md.

Citation

To cite this lesson, please consult with CITATION.

About Software Carpentry

Software Carpentry is a volunteer project that teaches basic computing skills to researchers since 1998. More information about Software Carpentry can be found here.

About The Carpentries

The Carpentries is a fiscally sponsored project of Community Initiatives, a registered 501(c)3 non-profit organisation based in California, USA. We are a global community teaching foundational computational and data science skills to researchers in academia, industry and government. More information can be found here.

More Repositories

1

swcarpentry

A meta-repository to help navigate the many lessons and repos of the Software Carpentry Community
568
star
2

shell-novice

The Unix Shell
Shell
370
star
3

git-novice

Version Control with Git
330
star
4

DEPRECATED-bc

DEPRECATED: This repository is now frozen - please see individual lesson repositories.
Perl
300
star
5

python-novice-gapminder

Plotting and Programming in Python
162
star
6

r-novice-gapminder

R for Reproducible Scientific Analysis
R
162
star
7

r-novice-inflammation

Programming with R
R
159
star
8

good-enough-practices-in-scientific-computing

Minimalist alternatives to "best practices" paper
TeX
155
star
9

make-novice

Automation and Make
Python
154
star
10

DEPRECATED-boot-camps

DEPRECATED: please see individual lesson repositories for current material.
Jupyter Notebook
94
star
11

sql-novice-survey

Databases and SQL
65
star
12

DEPRECATED-site

DEPRECATED: see https://github.com/swcarpentry/website for the current website.
HTML
55
star
13

close-enough-for-scientific-work

A collaborative book on testing scientific software
TeX
49
star
14

website

Software Carpentry website
SCSS
41
star
15

managing-research-software-projects

Managing small to medium-sized research software projects.
JavaScript
37
star
16

hpc-novice

Novice introduction to high performance computing
Python
36
star
17

modern-scientific-authoring

How to write, publish, and review scientific papers in the early 21st Century
Python
32
star
18

v4

Software Carpentry Version 4 lessons.
HTML
32
star
19

DEPRECATED-website

DEPRECATED: see https://github.com/swcarpentry/website for the current website.
CSS
31
star
20

matlab-novice-inflammation

Programming with MATLAB
MATLAB
31
star
21

collaborative-lesson-development

10 Simple Rules paper on collaborative lesson development
TeX
22
star
22

DEPRECATED-lesson-template

DEPRECATED: THIS REPOSITORY IS NO LONGER IN USE: PLEASE SEE swcarpentry/styles INSTEAD.
CSS
22
star
23

windows-installer

Software Carpentry installer for Windows.
Python
21
star
24

slideshows

Sildeshows related to Software Carpentry
HTML
17
star
25

python-second-language

Full-day lesson on Python as a second language.
Jupyter Notebook
15
star
26

training-course

Blog/website for the instructor training course
HTML
13
star
27

git-novice-es

El Control de Versiones con Git
10
star
28

DEPRECATED-guide

DEPRECATED: Instructors' guide for Software Carpentry
CSS
9
star
29

web-data-python

Getting and publishing data on the web using Python.
Python
9
star
30

best-practices-scientific-computing

Source for paper on best practices in scientific computing
TeX
8
star
31

communications

Press kit, boilerplate for grants, etc.
8
star
32

r-novice-gapminder-es

R para Análisis Científicos Reproducibles
R
8
star
33

2013-10-09-canberra

Software Carpentry bootcamp in Canberra
R
7
star
34

web-app-python

Web applicaton programming for scientists in Python.
Python
7
star
35

matlab-novice-capstone-biomed

Short lesson on biomedical engineering.
CSS
6
star
36

python-intermediate-mosquitoes

Intermediate lesson on Python using mosquito data
HTML
6
star
37

2014-03-17-nyu-R

R room for the NYU bootcamp
R
6
star
38

2012-11-scripps

Software Carpentry repository for Scripps, Nov 15-16 2012
Python
5
star
39

board

Holds public material generated by and for the SCF board.
5
star
40

2014-04-14-wise

Women in Science and Engineering bootcamp at LBL April 2014
Jupyter Notebook
5
star
41

2014-04-14-pycon-r

R for Python Programmers at PyCon 2014
Python
5
star
42

python-novice-plotting-ARCHIVED

Introduction to programming in Python using plotting for examples
Python
5
star
43

shell-novice-es

La Terminal de Unix
Shell
4
star
44

iuse2014

IUSE NSF proposal
TeX
4
star
45

software-carpentry-lessons-learned

New home for the 'lessons learned' paper
PostScript
4
star
46

swcarpentry.github.io

This repo contains GitHub Pages redirects to other places to keep old URL alive.
HTML
4
star
47

2014-04-14-pycon-ngs

Next-Generation Sequencing workshop at PyCon
CSS
3
star
48

2014-03-17-ucb

Software Carpentry workshop at UC Berkeley, March 17-18 2014
3
star
49

2014-06-24-wise-penn

WiSE bootcamp at the University of Pennsylvania, June 2014
Jupyter Notebook
3
star
50

hg-novice

Software Carpentry introduction to Mercurial for novices.
Python
3
star
51

2012-10-ucb

Software Carpentry repository for UC Berkeley, October 2012
Python
3
star
52

python-novice-inflammation-2.7

Novice Python lesson using Python 2.7
HTML
2
star
53

curriculum-advisors

Meeting notes and other documents related to curriculum advisory committees for Software Carpentry lessons.
2
star
54

installable-lesson-demo-01

Exploring ideas of installable lessons
Python
2
star
55

linux-vm

Linux virtual machine used in Software Carpentry workshops
Puppet
2
star
56

2014-04-14-pycon

Bootcamp at PyCon in Montreal April 2014
Python
2
star
57

instructor-retreat-2015

CSS
2
star
58

DEPRECATED-training-prep-2015-09

THIS REPOSITORY HAS BEEN DEPRECATED (see README.md)
2
star
59

swc-releases

Container for Software Carpentry lesson releases
Python
2
star
60

scientists-code-review

Short paper on code review for and by scientists.
TeX
2
star
61

2014-01-27-indiana

Bootcamp at Indiana University Jan 2014
Python
2
star
62

perl-novice-inflammation

Software Carpentry introduction to Perl for novices using inflammation data.
JavaScript
2
star
63

2014-09-22-lbl

September 22-23, 2014 Workshop at LBL
Perl
1
star
64

2013-09-21-waterloo

Software Carpentry bootcamp at the University of Waterloo, September 2013
Python
1
star
65

illumination

Illumination data set generator
CSS
1
star
66

python-intermediate

Intermediate lesson for students who have taken SWC or DC novice python lessons.
1
star
67

2012-10-gmu

Software Carpentry repository for George Mason University, October 2012
Python
1
star
68

2014-02-15-umkc

Repository for UMKC bootcamp
Python
1
star
69

2013-04-az

2013 Arizona workshop in April - Software Carpentry
Python
1
star
70

v3

Software Carpentry Version 3 lessons.
Python
1
star
71

2015-06-25-wise-toronto

Python
1
star
72

visualization-novice

Novice introduction to data visualization
Python
1
star
73

2014-10-30-utoronto

University of Toronto bootcamp Oct 30-31, 2014
1
star
74

2014-07-17-aspb

ASPB repository, July 2014
Python
1
star
75

DEPRECATED-lessons_4_0

DEPRECATED: see swcarpentry/v4 instead
1
star
76

2013-09-16-stsci

Bootcamp at Space Telescope Science Institute, September 2013
Python
1
star
77

carpentrycon2017

Carpentry Con 2017
1
star
78

2014-03-17-purdue

Bootcamp at Purdue University in March 2014
Python
1
star
79

2013-08-23-harvard

Bootcamp at Harvard Center for Astrophysics, August 2013
Python
1
star
80

swc-conda-recipes

Conda meta-packages for helping with workshop installation
1
star
81

recycling

Recycling old assessment questions
HTML
1
star
82

nuclearbrains

For code review pilot study.
1
star
83

B-python-novice-inflammation

Backup online learner software environment for the Programming wtih Python lesson
Python
1
star
84

2014-06-24-wise-toronto

WiSE bootcamp at the University of Toronto, June 2014
Python
1
star
85

2014-06-16-toronto

Software Carpentry workshop at Mozilla Toronto, June 16-17 2014
Python
1
star
86

sc16-tutorial-proposal

Proposal for tutorial at Supercomputing 2016
1
star
87

wssspe2014-practices-tools-useful

Schossau & Wilson paper for WSSSPE 2014 on which tools & practices scientists find useful.
TeX
1
star
88

infra-lessons

Shell
1
star
89

2014-03-17-nyu

Software Carpentry workshop at NYU, March 17-18 2014
1
star
90

workshop-template-pt-br

Template for workshop websites in (Brazilian) Portuguese
Python
1
star
91

governance

Repository for minutes and notes regarding the Software Carpentry Governance Committee
1
star
92

python-novice-images

Introduction to programming in Python using image manipulation for examples
JavaScript
1
star
93

2014-05-12-oicr-toronto

Bootcamp for OICR in Toronto, May 2014.
Python
1
star