Back to school tips for teachers, from PythonAnywhere



Dear teachers,

If there’s one thing we know, it’s that teachers (and students) love, it’s being reminded that the holidays is that the holidays are coming to an end. Hooray!

Here’s a few ideas and pointers for some of the things that we hope will make your life, as a teacher, easier.

1. PythonAnywhere means all your students have exactly the same setup¶

If you’re already a PythonAnywhere user, you’ll already know this. But, any teacher that’s struggled with getting several different students, with different hardware and operating systems, all set up and working for a basic programming class, know how much time is easily lost.

With PythonAnywhere, everyone has the same kind of terminal, the same operating system, the same versions of Python, and the same standard installation. And you can jump on and view exactly what your students are doing.

2. PythonAnywhere makes it easy to go beyond the basics, and use external libraries¶

We have hundreds of packages preinstalled, and it’s easy to install new ones. Here’s a few examples of packages, and the associated topic which you could build a lesson around:

Scraping with requests and beautiful soup

Accessing the google maps api with google-api-python-client

Number crunching with numpy/pandas/scipy/scikit-learn

Use sqlalchemy to access our provided mysql/postgres databases

Best practices such as version control and isolated environments with git/mercurial/virtualenv

Python standard library modules such as sqlite3, unittest, re, pickle, pdb

Here’s our full list of preinstalled “batteries included”

And here are our instructions for installing new modules

3. PythonAnywhere makes it easy to distribute and collect assignments from your students.¶

Because all your students’ home directories are available to you in a Bash console, it’s easy to copy files from your accounts to theirs, and back again. Check out the worked example on our help page.

Once you’ve got the basic idea, your imagination is the only constraint on what you could achieve by building little automated scripts to help your classes. Off the top of our non-teacher heads, how about:

Checking last updated times, and counting line numbers, in assignments files, to see who’s been working and who hasn’t

Writing a scheduled task to copy assignments across to your own folder at a pre-specified time, thus automating the “deadline” for the assignment

Automatically running student scripts and emailing yourself the results, possibly even grading assignments automatically.

If any of that piques your curiosity but you’re not quite sure how to go about it, don’t hesitate to get in touch, and we’ll happily point you in the right direction.

4. PythonAnywhere makes it really easy for your students to build a real, publicly available website¶

You can use python web frameworks such as django, flask, bottle or web2py while we take care of the infrastructure behind it. No need to worry about server configuration, load balancing, or keeping the operating system patched - we take care of all that for you.

<insert link for web stuff?>

5. We recently introduced Jupyter Notebook support (aka IPython notebook).¶

These are interactive “notebooks” that let you run bits of code step by step and get instant feedback. It allows you to include explanatory text and data visualizations directly in the notebook and is used by university researchers worldwide.

Many teachers have told us they love the interactive nature of notebooks, with the easy ability to “go back”, change things, and see the effect filter down – something that really helps students with exploratory coding.

Unfortunately notebooks are currently a premium feature, but (read on…)

6. We can create a custom “teacher” plan for you, if you need some paid features for your students.¶

Currently, free accounts have certain restrictions:

Internet access is restricted to a whitelist of sites (https://www.pythonanywhere.com/whitelist/)

You cannot use SSH, and your disk & CPU quota is limited

You cannot use Jupyter Notebooks

You cannot host applications on custom domains (only username.pythonanywhere.com)

However, we have started offering special pricing for teachers, whereby we can lift one or many of the above restrictions, for $1/student/month. Get in touch with us and we’ll help you out.

7. You can create your own step-by-step tutorial, integrated into the PythonAnywhere UI.¶

Ever used one of our little green “tutorials”, the step-by-step instructions that sit in green boxes at the top of a pythonanywhere screen?

They’re actually open-source, and you can write your own, for your students to use, and we’ll integrate it into PythonAnywhere. Get in touch for more information.

That’s our top seven, but there’s many more little things that (we hope) will make life for teachers easier:

You can work on the go from your tablet/ipad

We can do bulk creation of accounts for all the students in your class in one go.

We can also set up special “exam” accounts, for you to use in test situations, or controlled assessments.

We’re always keen to go the extra mile to make sure teachers and students are getting the best out of PythonAnywhere, so don’t hesitate to email us, and let us know what you’re doing, and how we can help.