3
$\begingroup$

I'm tasked with leading a couple information sessions (totaling 4 hours) to teach non-programmers how to get started in Python. The audience is software testers employed in a technology department. I believe this would be pointless if it were a purely passive presentation of information, so I'd like to be able to include questions they can submit answers to while going through the presentation as well as interactive python shells to try to write snippets of code themselves. Ideally, I'd be able to view the answers and code submitted by each participant to be able to judge how well things are going and if there are any common misconceptions I need to clear up.

I've seen this kind of approach on instructional websites like Udacity. Does anyone know if similar software has been produced for public use?

$\endgroup$
  • $\begingroup$ Will you be with them as they "view" this material or is it strictly remote learning? $\endgroup$ – Buffy Oct 3 '18 at 16:35
  • $\begingroup$ It will be an in-person presentation, so I will be able to physically view their screens. Though it would be helpful to have a way to see their entries without having to physically go to each person's seat. $\endgroup$ – mowwwalker Oct 3 '18 at 18:32
  • 1
    $\begingroup$ Search here for "Flip" or "Flipped Classroom". Do the same at academia.stackexchange.com. Use face time only for things that can't be done elsewhere. Pairing, group projects, self teaching, etc. Not lecture, even this sort of at your own speed lecture. $\endgroup$ – Buffy Oct 3 '18 at 18:53
  • 1
    $\begingroup$ One problem I see with your scheme of letting people work through the material at their own rate (with you present) is that a lot of them will get stuck in different places and have questions. You don't have enough time to get around to all of them in a timely manner, so they will just sit there - stuck - waiting for you to help. There has been research on labs with too few assistants and too many stuck students. I predict the same here. $\endgroup$ – Buffy Oct 3 '18 at 19:04
  • 1
    $\begingroup$ In a flipped classroom you don't need to guarantee that they come prepared other than to have the activities in the room depend on that. With pairing and group work the knowledge can get spread among the students. If someone is "too stuck" point them to the readings. You can also require short written summaries of the readings as a "ticket" to the face sessions. One index card worth of summary is enough. $\endgroup$ – Buffy Oct 3 '18 at 19:07
3
$\begingroup$

Here are two ideas that might meet your needs:

  1. Codingbat allows you to create a teacher account and your own problem sets. You have to put in test values for all of your functions, but you can see the results that your students produce.

  2. A worksheet. "Now that we've covered that idea, go ahead and see what you can do with number 4 on your sheet."

Since you're just trying to make your lesson interactive, a low-tech approach might be your best approach. Providing a work-along worksheet allows you to focus your time and energy on other parts of the lesson when you prepare.

Best of luck!

$\endgroup$
2
$\begingroup$

I highly recommend using Jupyter Notebooks. These provide a system for integrated code + narrative.

You can get a quick sense of the results by looking at https://github.com/rajathkmp/Python-Lectures/blob/master/04.ipynb

You can also see a video at https://youtu.be/wpBPGF0yQ9E?t=88 that uses the basic interface.

Students can easily set this up on a Win/Mac/Linux computer using Anaconda python or you can use a hosted service. You can find a free system at https://jupyter.org/try that lets you try out the different interfaces.

The JupyterLab interface is more comprehensive and includes a better IDE and terminal interface than the earlier "notebook" interface -- the jupyter.org site lets you try both.

There are free / cheap services from Google and Microsoft to run Jupyter notebooks.

It's a good ecosystem to be aware of.

$\endgroup$

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.