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$
9
  • $\begingroup$ Will you be with them as they "view" this material or is it strictly remote learning? $\endgroup$
    – Buffy
    Oct 3, 2018 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, 2018 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, 2018 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, 2018 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, 2018 at 19:07

2 Answers 2

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 agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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