Skip to content

sageserin/python-notebooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intermediate-Python

IMPORTANT: If you are teaching this for the first time, please set up a meeting with Dave Wade-Stein prior to teaching so you understand the difficulties in delivering this course.

A successful delivery of this course involves you understanding

  1. the backgrounds of the students in the class
  2. that there is deliberately more material that you will likely get through

During the "Magic Hour", find out the backgrounds of the students and plan accordingly. Unfortunately, in more than one case, the students were nowhere near the intermediate level. As the instructor, you need to be prepared for a true intermediate course (i.e., this material), an introductory course (if the majority of students have little to no Python background), or a mix of the two.

In order for students to be prepared for this course, they should have familiarity with Python and have been using it for a while. If they've only been scripting, i.e., using Python for automation a la DevOps, they are unlikely to be properly prepared for this course.

The biggest difficulty is that it is likely that not all students will have the same background. This is of course true in any course, not just this one.

Once you've assessed the student backgrounds, you can make a recommendation to the class.

"This course begins with a review of basic Python concepts. How much time we spend on that depends on the backgrounds of the students and the questions that arise during the review. Given that most of you have a basic understanding of Python and tend to use Python in a scripting/DevOps background, I want to spend a little extra time on that first section to be sure we all have a common foundation."

Note that previous deliveries have spent anywhere from 1-2 hours to as much as a full day on the review. The questions you get during the review will help you assess the level of the students. Don't rush through the review if students are asking questions and requiring you to review fundamental material.

In addition, you'll have to decide which "track" to take:

  • Developer
  • DevOps

The course was originally designed with developers in mind, but you'll often have students whose primary job function is more in the DevOps/SRE or Infrastructure Engineer role. For DevOps, you need not cover notebook 6 (the second part of object-oriented programming). Those students are not likely to write any object-oriented code, although they certainly will "consume" object-oriented code when they import modules and therefore should have a basic understand of OO Python.

Similarly, DevOps students are not really going to need/understand notebook 9 (unit testing from an OO perspective). Instead, teach from notebook 9a, which covers PyTest rather than the unittest module.

Finally, notice that the earlier notebooks are considerably more "dense" than the later notebooks. So if after 1.5 days you've only covered a few notebooks, don't despair. Let the students know that notebooks 10-13 are all short and some can be covered in 10-15 minutes.

The Multithreading/Multiprocessing unit should eventually be updated with more modern ways of doing concurrency in Python.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •