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

<p>You can get a quick sense of the results by looking at <a href="https://github.com/rajathkmp/Python-Lectures/blob/master/04.ipynb" rel="nofollow noreferrer">https://github.com/rajathkmp/Python-Lectures/blob/master/04.ipynb</a></p>

<p>You can also see a video at <a href="https://youtu.be/wpBPGF0yQ9E?t=88" rel="nofollow noreferrer">https://youtu.be/wpBPGF0yQ9E?t=88</a> that uses the basic interface.</p>

<p>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 <a href="https://jupyter.org/try" rel="nofollow noreferrer">https://jupyter.org/try</a> that lets you try out the different interfaces.</p>

<p>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.</p>

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

<p>It's a good ecosystem to be aware of.</p>

CC BY-SA 4.0
2018-10-10T18:08:24.750Z
2018-10-10T18:08:24.750Z
Dirk Grunwald
<p>Here are two ideas that might meet your needs:</p>

<ol>
<li><p><a href="https://codingbat.com/python" rel="nofollow noreferrer">Codingbat</a> 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.</p></li>
<li><p>A worksheet.  "Now that we've covered that idea, go ahead and see what you can do with number 4 on your sheet."</p></li>
</ol>

<p>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.</p>

<p>Best of luck!</p>

CC BY-SA 4.0
2018-10-03T19:19:02.180Z
2018-10-03T19:19:02.180Z
Ben I.
<p>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.</p>

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

CC BY-SA 4.0
2018-10-03T16:35:28.383Z
Will you be with them as they "view" this material or is it strictly remote learning?
Buffy
CC BY-SA 4.0
2018-10-03T18:32:52.233Z
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.
mowwwalker
CC BY-SA 4.0
2018-10-03T18:46:40.080Z
Someone else my have a direct answer, but I question whether this is the most effective use of face-time.
Buffy
CC BY-SA 4.0
2018-10-03T18:48:58.533Z
@Buffy, Can you elaborate? I agree that if I'm there in person I should utilize that as much as possible, but I also would like to avoid stalling everyone else's progress to give more one-on-one attention
mowwwalker
CC BY-SA 4.0
2018-10-03T18:53:00.017Z
Search here for "Flip" or "Flipped Classroom". Do the same at https://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.
Buffy
CC BY-SA 4.0
2018-10-03T19:02:30.507Z
Thank you for the recommendation. My reservation to that would be that there is nothing I can do on my part to ensure that people consume any prerequisites I set for the sessions. I can send lectures or other informational content and say that they're necessary for the sessions to be helpful, but my expectation would be that they would still just skim and skip the material or give it only a fragment of their attention
mowwwalker
CC BY-SA 4.0
2018-10-03T19:04:15.587Z
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.
Buffy
CC BY-SA 4.0
2018-10-03T19:07:25.467Z
My conception of the session was less of them working through a course with myself present to help, but as a presentation I would lead with brief spurts of interaction that should only take a minute or two to complete. Point taken though
mowwwalker
CC BY-SA 4.0
2018-10-03T19:07:34.633Z
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.
Buffy
<python><lecture-tools>
Software to produce an interactive presentation?
# Software to produce an interactive presentation?

(Asked by: username_0 on 2018-10-03)

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?

**Tags:** python, lecture-tools

> **Comments:**
> **username_1**: Will you be with them as they "view" this material or is it strictly remote learning?  
> **username_0**: 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.  
> **username_1**: Someone else my have a direct answer, but I question whether this is the most effective use of face-time.  
> **username_0**: @username_1, Can you elaborate? I agree that if I'm there in person I should utilize that as much as possible, but I also would like to avoid stalling everyone else's progress to give more one-on-one attention  
> **username_1**: Search here for "Flip" or "Flipped Classroom". Do the same at https://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.  
> **username_0**: Thank you for the recommendation. My reservation to that would be that there is nothing I can do on my part to ensure that people consume any prerequisites I set for the sessions. I can send lectures or other informational content and say that they're necessary for the sessions to be helpful, but my expectation would be that they would still just skim and skip the material or give it only a fragment of their attention  
> **username_1**: 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.  
> **username_0**: My conception of the session was less of them working through a course with myself present to help, but as a presentation I would lead with brief spurts of interaction that should only take a minute or two to complete. Point taken though  
> **username_1**: 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.  

---

## 2 answers

### Answer by username_3 on 2018-10-03. Score: 3

Here are two ideas that might meet your needs:

1. [Codingbat](https://codingbat.com/python) 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!


---

### Answer by username_2 on 2018-10-10. Score: 2

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.


---

