Skip to content

Lesson plan

  • Intro to Python, day 4 of the 'Intro to UPPMAX' course
  • Teacher: Richel
  • Day: Thursday 2024-01-18

Teaching goals:

  • Learners have used the UPPMAX documentation
  • Learners have used a free and online book they can use for future reference
  • Learners have loaded Python using the module system
  • Learners have used the Python interpreter
  • Learners have used command-line arguments as input
  • Learners have read a file
  • Learners have written to a file
  • Learners have created a plot, e.g. a scatter plot
  • Learners feel that Python is something they can do
  • Learners work in small groups
  • Learners have enough breaks
  • Practice to use the fundamental teaching cycle (as discussed in Mike Bell's 'The Fundamentals of Teaching': (1) prior knowledge, (2) presentation, (3) challenge, (4) feedback, (5) repetition

Non-goals:

  • Discuss as many Python concepts as possible, instead follow the group's pace
  • Stick to the schedule about Python theory, instead follow the group's pace
  • Practice Python theory enough to master it, instead follow the group's pace
  • Tailor to advanced Python developers, instead follow the beginners' pace and let the more advanced learners help
  • Teach best practices, instead show those best practices
  • Use teaching materials developed by colleagues just to be nice. Instead, use free-online teaching materials developed by others, so that me and my colleagues do not need to maintain it

Negative feedback that I will enjoy and not respond to:

  • 'The course goes too slow': this is an introduction, aimed at beginners. The more advanced learners inevitably will find it go too slow.
  • 'Lectures are too short' or 'The contents should be taught': strategic learners will prefer passive listening over active teaching methods. Although listening is an activity that strategic learners appreciate, it has a too small effect for transferring knowledge. I will not feel sorry for putting my learners to work :-)
  • 'Go more in-depth': this is an introduction, aimed at beginners, so I cover the basics and we get stuff to run. I will go as deep as time permits me.
  • 'Breaks interrupt the flow': I agree it does. Still, breaks are important. And if you feel interrupted in a flow, it is nice to feel you like to continue

Negative feedback that I will respond to:

  • 'The course goes too fast': this is an introduction, aimed at beginners. If even the beginners need more time, I must slow down

Negative feedback that I will not enjoy and not respond to:

  • 'Chaotic': this is nonsense. Judging by the preparation, its is a well-prepared student-paced day.
  • 'We want regular lectures'. I practice what the literature tells me what is most effective. I won't feel bad for doing what I is most/more effective

Schedule

Time Topic
09:00-10:00 Using the Python interpreter, the way of the program
10:00-10:15 Break
10:15-11:00 Working with Python scripts, variables
11:00-11:15 Break
11:15-12:00 operators, user input
12:00-13:00 Lunch
13:00-14:00 UPPMAX modules and Python packages
14:00-14:15 Break
14:15-15:00 File IO, command line arguments
15:00-15:15 Break
15:15-16:00 Graphics, functions