Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

One in a Million: Teaching Coding With Python

DZone's Guide to

One in a Million: Teaching Coding With Python

A developer and software engineering teaching discusses how he teaches code, showing an example of this with some basic Python.

· Web Dev Zone ·
Free Resource

Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.

I’ve been teaching programming for more than 17 years. During this period, I’ve developed a nice inventory of exercises and code examples. Some of which are old as my teaching career, and even though I’ve taught, and continue to teach, a variety of languages, well, most examples are as good in any language.

Here is one of them — I use it in the first lesson on conditionals. This program generates a random number in the range of [0, 100] and then asks the user to guess it. The user gets one chance — it’s a very early lesson and the students don’t know loops yet. The program outputs “Correct” or “Wrong” and that’s it. Look at it (this time in Python, because that’s the language I teach now):

import random

compNum = (int)(random.random() * 101)

userGuess = (int)(input(“Enter your guess:”))

if compNum == userInput:
	print(“Correct”)
else:
	print(“Wrong”)

Yeah, it’s simple, but yet pretty powerful example. When I show it I type it during the class and then ask the students to try and guess. I know it sounds silly and with no avail, but believe me, it’s such fun!

No one ever manages to guess correctly.

Today, I’ve shown this example again, and, as usual, invited the students to try their luck. One of them yelled from her sit “31.”

“Very well,” I said, “31 for the lady.” And typed in 31.

I pressed enter.

And boom.

I saw “Correct” on the screen.

It was so surprising that I couldn’t talk for a second because it was the first time in 17 years that it ahd happened.

I think now I know the meaning of the phrase “One in a million”! 

P.S.Yeah, I know there are better ways to generate random numbers, I deliberately use this one because it shows a really important principle in software engineering.

Monitor application stability with Bugsnag to decide if your engineering team should be building new features on your roadmap or fixing bugs to stabilize your application.Try it free.

Topics:
python ,web dev ,learning and development ,learning python

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}