Get ready for ISTELive 21! Launch the site now.
Creative Constructor
Lab Virtual
Leadership Exchange
at ISTELive 21
Edtech Advocacy &
Policy Summit

The Case for Practical Programming

Participate and share

Participate and share : Poster

Tuesday, December 1, 12:00–1:00 pm PST (Pacific Standard Time)

François Grandjean  
Programming is now a regular part of most schools’ curriculum, yet how many will later actively use programming in their daily lives? This session shows that programming needn’t be arcane, and can instead be an empowering way for the common mortal to coax their computer into doing their boring tasks.

Audience: Teachers
Skill level: Beginner
Attendee devices: Devices not needed
Topic: Computer science & computational thinking
Grade level: 9-12
Subject area: Computer science
ISTE Standards: For Students:
Empowered Learner
  • Students articulate and set personal learning goals, develop strategies leveraging technology to achieve them and reflect on the learning process itself to improve learning outcomes.
Computational Thinker
  • Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.
For Educators:
  • Establish a learning culture that promotes curiosity and critical examination of online resources and fosters digital literacy and media fluency.

Proposal summary

Purpose & objective

Programming is now widely accepted as a necessary skill for achieving digital literacy. Students should learn it at school to be prepared for the future. After all, automation is regularly mentioned in headlines: we can read that people are afraid to lose their jobs to machines, but also that new jobs emerge because of this paradigm shift.

Yet, how many of those learning programming at school will actually make use of those skills in their daily lives? Robotics is definitely a good way to introduce students to computational thinking and help to develop it, but it seems to be generally perceived as an end unto itself instead of as an introduction to something greater. Despite the increasing familiarity with programming, it is still considered as an arcane art best left to those considering a STEM career.

Programming should instead be seen as a basic problem-solving skill. We constantly go through boring, mind-numbing, repetitive tasks involving computers and we approach these problems as a human would—not as a human using a computer. We are ready to spend hours correcting the same type of information in hundreds of files, or to compare values between huge sets of data, but what satisfaction, what sense of accomplishment do we derive from such mind-numbing tasks?

While it often feels that they are working against us, computers should instead be seen as fast and highly precise assistants who never make any mistakes; all they lack is a sense of initiative and that's where we, the humans, come in by providing them with instructions, empowering ourselves in the process.

This presentation purposes to make the audience aware of the practical possibilities of programming through Python. Python is a general-purpose language that is very easy to learn, even by those who do not destine themselves to a technological career. With only basic knowledge, it is possible to write programs that can manipulate or download files, open browsers, modify Word, Excel, or PDF files, or even send and read emails.

No prior knowledge of programming is needed: those who come in knowing nothing will discover how to learn programming skills at their own pace and by setting their own objectives; computer science teachers will discover how to motivate their students to program in a practical and personal fashion; and everyone can find out about how to save time by automating recurring drudgery.


* Introduction (5 minutes): present the current situation: programming is taught at schools but ss. ultimately do not see any real-life application to it; programming is still generally perceived as arcane and hermetic.
* What do we mean by practical programming? (5 minutes): an explanation of the concept of using programming to automate boring tasks.
* Why Python? (5 minutes): present the points that makes Python ideal (but by no means unique) for practical programming; best practices, i.e., the “best” way to write programs, vs simple, practical practices.
* A few real-world problems and examples of how to solve them with Python (10 minutes).
* Conclusion (5 minutes).

Supporting research

More [+]


François Grandjean, Summit School

People also viewed

Accessibility Tools Smackdown
Get Scratchy With Narrative Coding
Wake Up! Top 10 Ways to Boost Productivity and Creativity with Wakelet