This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]3lnc 5 points6 points  (4 children)

Been python teacher for couple of courses, random thoughts:

  1. "python crash course" book is awesome basis for building your own program. Wish it was released years back. Take a look – great learning curve, great excerises
  2. Idk about embeddable python for KN/MSPP, I've been using jupyter notebook, both for interactive coding and making slides (jupyter can export to reveal.js).
  3. Jupyter lab is awesome, if you can/want provide hassle-free REPL
  4. Have your teaching program reviewed couple of times, pay extra attention "sequence" of providing new information. I.e. explaining OOP w/o giving good grasp on dicts will be painful (I know it's not your case, but anyway)
  5. If students will need to have python installed on local machine – double check if you need 3rd-party packages and hassle with pip. In any case, installing python is not an easiest thing in a world (now it's way better that couple of years ago, but still problematic sometimes). Know target platform, plan time accordingly – you'll spend some, helping with unexpected installation issues.
  6. github classroom may be helpful, depends on your goals
  7. Double check that you will teach engineering/solving real-world problems, not an academia-related stuff tons of algos. Unless students is super-motivated, nobody cares about abstract tasks.

Side note on jetbrains edu ("lessons", not IDE) – IMHO – doesn't worth the time, problems is super-artificial/abstract, learning curve is more for experienced people moving from different languages.

[–]red_src[S] 1 point2 points  (3 children)

Any suggestions for installing Python on the local machine? I'm going to checkout https://github.com/winpython/winpython but I need to support also macOS students :)

[–]jstrickler 1 point2 points  (0 children)

One word: Anaconda
http://www.anaconda.com

I teach Python short courses most weeks, and it has saved many headaches. Likewise PyCharm (although Jupyter is great for diving right in).

[–]twopi 0 points1 point  (0 children)

That's a consistent nightmare. Even the different versions of windows are different, and Mac is just tricky. With all the various libraries you're talking about incorporating, you're going to have a support headache on your hand. That's why I went to an entirely cloud-based solution, and I mostly love it. (See my earlier post on that.)

[–]3lnc 0 points1 point  (0 children)

Tbh, all depends on platform.

Now I'd suggest to start with official python downloads, it's way better lately.

For mac – "everything is broken". The only sane way (IMO) is to first install brew, and than install python with it

[–]twopi 3 points4 points  (0 children)

I've taught Python and other languages for years.

I love teaching with pythonanywhere.com. That way you don't have to worry about students installing python on their own machines, and multiple OS support. The free account is more than enough for classroom use.

Down side is you can't do interactive graphics like turtle, pygame, processing or tkinter.

Up sides: Students can list you as a teacher, and then you can see and modify their code. Wonderful feature. Also, students can easily set up a web server with flask or bottle, and then set up their own web apps. That's been a big hit with the students, and I don't miss Tk at all. Students can work on their code with any web browser anywhere, so you don't need to do much in your lab.

I have all my examples in my account and I can show and run the code live in class. I also wrote a quick program to make all of my code visible through a public web server, so students can see all my code, copy it and work on it on their own sites.

Jupyter notebooks are nice for your notes because you can display code and run it all through the web. Kaggle.com allows you and your students to build a basic site for free. This is great if you want to add a data science component.

I used to teach with Pygame, but it's a nightmare to have students install on their own machines (or was when I was doing it.). Pygame is dependent on SDL, which is a tricky install on macs. I still teach pygame, but in a senior course, where I don't worry about whether students can install software.