In Intermediate Python, we're moving toward graphical user interfaces.

So far, Intermediate Python has been different in two significant ways from last year's course. Perhaps the most obvious change is our brand-new classroom! To accommodate our increased enrollment this year, the Reading Room has been converted into a classroom for our smaller classes. Here is our small but mighty group in action.

From a curricular point of view, students will be spending much more time working with Tkinter this year, to write graphical user interfaces (GUIs) for their code. We have started to do this at the very start of this course, in our study of object-oriented programming in Python. Last year our classes were strictly text-based. For example, when students wrote a Die class last year, a driver program to create a new six-sided die and roll it 10 times looked like this:

d = Die(6)

for i in range(10):

print (d.roll())

The results of the 10 rolls were simply printed to the output console.  

This year, students will still learn how to write text-based classes, but additionally, we will write Tkinter-based versions of many of these classes. For example, a Tkinter version of the Die class would be used to write a program whose output looks like this:   

As is the norm in a GUI program, the window just "sits there," waiting for the user to interact with it in some way. In this case, when the user presses the button at the bottom of the screen, a new random integer between 1 and 6 will appear. 

I'm looking forward to teaching this course for the second time this year, building upon my experience teaching this course last year.  

-- Steve Gregg