IAC 2024 - IA Fast Track to Search Focused AI Solutions
Online Python Resources
1. Online Python Resources
Jonathan Fine
LTS, The Open University
Milton Keynes, UK
Jonathan.Fine@open.ac.uk
http://www.slideshare.net/jonathanfine
http://jonathanfine.wordpress.com
https://bitbucket.org/jfine
29 September 2012
Jonathan Fine (Open University) Online Python Resources 29 September 2012 1 / 21
2. Python taught here!
We’ll look at five places where you can learn Python. They mostly have
different purposes (with some overlap).
We’ll look at them in alphabetical order.
Codecademy
Coursera: Learn to Program
Python Summer School
SciPy Lecture Notes
Software Carpentry
We’ll finish with a quick look at Django and pythontutor.com.
For more information, take a look at the resource survey
http://online-python-resources.readthedocs.org
and please think about contributing.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 2 / 21
3. Codecademy Python lesson
Jonathan Fine (Open University) Online Python Resources 29 September 2012 3 / 21
4. From Eric Weinstein on Variables and Data Types
Learn: Here’s the text and instruction.
One of the most basic concepts in computer programming is the variable.
[. . . ] You can set a variable, say spam, to grasp the value 5 and hang onto
it for later use, like this:
spam = 5
[. . . ]
Set the variable my_variable to the value 10.
Hit the ”run” button to execute your code.
Teach: Presumably, the submission correctness test is that after the
submission is executed, the variable my_variable is defined.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 4 / 21
5. Codecademy
Founded in 2011 by two young geeks (Zach Sims and Ryan Bubinski).
Based in New York. Received $12.5 million of venture capital funding.
Business model not known (but it gives its users points, like
StackOverflow).
Codecademy supplies a platform. Its users can learn and teach.
Learn: On a web page your read about the subject and then write code
in text area on the page. Then you submit your answer and told if it’s
right or wrong.
Teach: Again, a web interface (no API yet, it seems). Besides writing
about the subject, the teacher has to write a submission correctness test
(using the language being taught).
Millions of students in more than one hundred countries. Tens of
thousands of teachers.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 5 / 21
6. Coursera: Learn to Program – screencast
Jonathan Fine (Open University) Online Python Resources 29 September 2012 6 / 21
7. Coursera: Learn to Program
Taught by Jennifer Campbell and Paul Gries, Senior Lectures at the
University of Toronto. It’s a 7 week class, with a workload of 6–8 hours a
week. There’s an hour or two of video lecture each week, weekly graded
exercises and a (non-optional) final exam.
The exercises are a mixture of multiple choice, tick all that are correct, and
write down precisely the correct answer. They are marked by a computer.
The main goal is to learn computational thinking, and Python 3 is the
language they’re using to teach this. Uses Python visualizer (see later).
If you pass, you’ll get a certificate (and you’ll be able to develop
interactive text-based programs such as a word search game).
The syllabus, oddly, is not publicly viewable. But from the above you can
figure out what it has to cover.
50,000 students enrolled in the first presentation.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 7 / 21
8. About Coursera
Founded by Andrew Ng and Daphne Koller from Stanford, with $16 million
of venture capital funding in April 2012. Currently free to users.
Business model may be to offer premium services such as certification,
secure assessment, services to employers, licensing, sponsorship, and
charging for use.
Currently offering 195 courses from 33 universities in the US, Canada
and Europe, in subjects such as Computer Science, Humanities, Economics
and Business.
(Speaker has taken course in Quantum Mechanics and Quantum
Computation from Professor Umesh Vazirani of Berkley.)
More than 1,000,000 students from 196 countries have enrolled to
date.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 8 / 21
9. Python Summer School screencast
Jonathan Fine (Open University) Online Python Resources 29 September 2012 9 / 21
10. Python Summer School
Set up by UK school teachers Sue Sentance, Adam McNicol and Sophie
Baker. Based in East Anglia. Provides free online materials. Also provide
low cost evening (about £15 an evening) or free (sponsored by Google)
weekend courses.
They provide resources for teaching Computer Programming at GCSE and
A-Level. Their website provides materials that help teachers understand
what students need to know, and to update their teaching and technical
skills.
They provide a five-day program of lessons that goes from Using Idle
and Data types in Python, going via SQL and testing, and finishing
with PyQt, Mulitple Inheritance and Event Handling.
Their next evening classes start on Tuesday 2nd October (Chelmsford).
Their next two workshop are 2–3 November (Chelmsford) amd 21–22
December (Cambridge).
Jonathan Fine (Open University) Online Python Resources 29 September 2012 10 / 21
11. SciPy Lecture Notes – Bar Charts
Part of a 310 page (as PDF) training document, authored using Sphinx.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 11 / 21
12. About SciPy
The SciPy Lecture Notes are genuinely open-source (on github).
SciPy is a large and growing collection of scientific and numeric software.
There are annual SciPy (in the USA) and EuroSciPy conferences. They
are a community, and they share.
The basic component in SciPy is the multidimensional array provide by
NumPy.
SciPy is the place to go for using Python for
heavy-duty numerical analysis
plotting
physical simulation
data visualisation
matplotlib is a plotting library that is part of SciPy. It allows dynamic
data plots to be embedded into applications using generic GUI toolkits. It
also supports SVG.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 12 / 21
13. John Hunter – creator of matplotlib
Sadly, John Hunter, creator of
matplotlib, died on August 28th
2012 from complications arising
from necessary cancer treatment.
This was a big surprise.
In recognition of his work, the
Python Software Foundation
posthumously gave him the
Distinguished Service Award.
In addition, the NumFOCUS
Foundation has set up a John
Hunter Memorial Fund to help
care for and educate his three
children.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 13 / 21
14. Advanced Scientific Programming in Python Summer
School
This is a six-day school held annually, with lectures from 08.30 to 18.30.
Organised by the German Neuroinformatics Node and a host institution.
Participants are expected to know already the first 80 (of 310) pages of
the SciPy Lecture Notes. This year, out of 141 applicants 30 were
accepted. There were 12 tutors. The topics for each day were:
Best Programming Practices
Software Carpentry
Scientific Tools for Python
The Quest for Speed
Efficient Memory Management
Practical Software Development
Jonathan Fine (Open University) Online Python Resources 29 September 2012 14 / 21
15. Software Carpentry – First Class Functions
Jonathan Fine (Open University) Online Python Resources 29 September 2012 15 / 21
16. Software Carpentry Python — format
The general format of this course is a series of lessons. They share a
general format, which is
a web page containing
a video screencast of about 3 to 10 minutes
and images of the associated slides
and the associated narrative text
The screencasts are also available on YouTube, and the slides are available
also in PDF and PowerPoint. It seems that the slides are authored in
PowerPoint, which are narrated to produce the screencast.
The Exercises are static text. Solutions are not provided. Some of the
exercises are questions and answers about the language. Others consist of
solving toy version of real-world problems.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 16 / 21
17. Software Carpentry Python — syllabus
The syllabus consist of:
Basics
Control Flow
Lists
Input and Output
Strings
Aliasing
Functions
First-Class Functions
Libraries
Tuples
Slicing
Text
Jonathan Fine (Open University) Online Python Resources 29 September 2012 17 / 21
18. About Software Carpentry
Founded by Greg Wilson in 1998, Software Carpentry is now team of over
twenty people, mostly associated with universities in North America and
UK.
Their mission is to help scientists be more productive by teaching them
basic computing skills. Thet combine short, intensive workshops with
self-paced online instruction
They are currently supported by the Sloan Foundation and by Mozilla, and
have received funding from Microsoft and the Python Software
Foundation, among others.
Their materials are licensed under the Creative Commons Attribution
License.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 18 / 21
19. Getting Started with Django
The Django web-framework, along with Python itself, has some of the
best online documentation. But that’s not enough now.
In September 2012 the Django Software Foundation announced that it
was donatingn $2,000 to Kenneth Love’s Kickstarter campaign to produce
a series of videos called Getting Started with Django.
This campaign, launched on August 24, now (26 September) has $13,000
pledged. They’re now working on producing between 5 and 10 hours of
video.
Conclusions
A popular project can raise money quickly . . .
. . . if the project and backers are credible (Kenneth Love is).
Production of an hour of good quality video costs perhaps $2,000.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 19 / 21
21. Students and Resources in 2013
Here are some very rough (and optimistic) estimates for students in 2013.
Global demand unless otherwise stated.
Casual interest in programming — 2,000,000.
Taking first steps in Python — 200,000.
Second steps in Python, Learning Django — don’t know.
UK teachers learning Python for GCSE/A-level — 2,000
Intensive 5-day course in SciPy — 500.
Some rough figures about resources.
Hosting on bitbucket / github / ReadTheDocs — free.
Good quality 20 line code example — 4 hours?
One hour of good quality video — $2,000.
Kickstarter pledges Fletcher Heisler’s e-book Practical Python /
Python By Example — $21,000.
Venture capital funded startup — $15 million.
Jonathan Fine (Open University) Online Python Resources 29 September 2012 21 / 21