• Home
  • Topics
  • About
  • Syllabus
  • Installation Instructions
  • Links

Introduction to Programming

with Python

WHAT YOU WILL LEARN


Python

Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale.

Git and Github

Git is a powerful version control system allowing you to store a history of all the files in your project. Github is a website that allows you to use git to share your projects and discover someone else's.

Bash Shell

A Unix command prompt allows users to direct the operation of the computer by entering commands as text for a command line interpreter to execute, or by creating text scripts of one or more such commands. Bash is the most common flavor of Unix prompt.

JOIN US


Instructor: Charlotte Weaver

Dates: April 17th, 18th, 24th, and 25th 2017

Time: 1:00 - 5:00 p.m.


SYLLABUS



Day 1

We introduce the command line interface, including navigating directory structures, manipulating files, editing text files, using filter commands, stringing together filters using pipes and redirection, and making simple bash scripts.

Day 2

We introduce basic programming concepts in python, including data types/structures, conditional expressions, loops, and functions.

Day 3

We finish up basic programming in python. We introduce version control using git and github's desktop application.

Day 4

We learn about using numpy for data analysis and matplotlib for plotting and analysis.

INTERACTIVE LEARNING


Each class is designed to have hands on learning. Lessons incorporate many chances to try out concepts. By using jupyter notebooks, students can quickly make changes and run instructor code. Each day ends in a project or advanced exercises to cement what you have learned.



INSTALLATION INSTRUCTIONS



To participate, you'll need to install the software below. Please install all of the required software before class begins. You will be required to attend an installation check before the beginning of class to ensure class time is devoted to learning and not installing. If you need any help, just send me an email or find me in person.

OSX



Python

  • Download and install Anaconda for Python 3.6.
  • Use all of the defaults for installation except make sure to check Make Anaconda the default Python.

Bash

The default shell in all versions of Mac OS X is bash, so no need to install anything. You access bash from the Terminal (found in /Applications/Utilities). You may want to keep Terminal in your dock for this workshop.

Version Control

Install Github Desktop here ghdesktop

Install Git for Mac by downloading and running the appropriate installer from the links below. If you have a recent version of Git from another source (homebrew for instance), that should be fine.

OS X Version Git Installation Link
10.10+ here
10.9 here
10.6-10.8 here
10.5 You should really think about upgrading.

Editor

During the workshop, we'll be using nano, which is pre-installed on your system. You may wish to try Sublime Text or Atom.

WINDOWS



Python

  • Download and install Anaconda for Python 3.6.
  • Use all of the defaults for installation except make sure to check Make Anaconda the default Python.

Version Control & Bash

Install Git for Windows by downloading and running this installer. This will also install a version of Bash that we can use for this course. It will lack some of the features found on OS X and Linux implementations of Bash, but you will be able to complete most of the tasks in class.

Install Github Desktop here ghdesktop

Software Carpentry Installer

Note: This installer requires an active internet connection. After installing Python and Git Bash:

  • Download the installer.
  • Double-click on the file to run it. Follow the instructions.

Warning: The SWC installer doesn't always work on the latest version of windows (I'm still figuring out the exact conditions it fails under).

  • If your SWC installer fails, download nano directly: Nano Download
  • Then unzip it and add the directory to your PATH variable Add to PATH instructions for windows

Editor

During the workshop, we'll be using nano, which will be installed by the Software Carpentry Installer above. You may wish to try Sublime Text or Atom.

LINUX



Python

  • Download and install Anaconda for Python 3.6.
  • In your terminal window type one of the below and follow the instructions: bash Anaconda3-4.2.0-Linux-x86_64.sh

Bash

The default shell is usually bash, but if your machine is set up differently you can run it by opening a terminal and typing bash. There is no need to install anything.

Git

Warning: Linux does not support github desktop which we will be using for the git portion (about 1.5 hours during session 3). Please ask the help desk if you can have a windows or Mac loaner laptop for the git section of the course

If Git is not already available on your machine you can try to install it via your distribution's package manager (e.g. apt-get or yum).

Editor

During the workshop, we'll be using nano, which will be installed by the Software Carpentry Installer above. You may wish to try Sublime Text or Atom.


LINKS



BASH Bash lessons
GIT Git lessons
LESSONS Github repository with lessons
PROJECTS Github repository with projects
ETHERPAD Online notepad for questions and lesson notes
2015 NOTES Online notes from July 2015

READY TO SIGN UP


Registration Form. You can sign up after the class and you will be put on the priority registration list for next year.


INSTALL CHECK



Date Time Location Instructor
4/12/17 3:00 - 4:00 pm Bob's Pub Charlotte
4/14/17 3:00 - 4:00 pm Bob's Pub Emily
4/17/17 10:00 - 11:00 am Bob's Pub Charlotte

Charlotte Weaver

Janelia Research Campus 19700 Helix Dr. Ashburn VA 20147

Special thanks to Billy Rowell and Software Carpentry | Template by BlackTie.co - Copyright 2017