For Teacher 
Themes previously explored: 
One  project  we  have  reviewed  is  using  the  Arduino  in  accordance  with  the  python 
learning.  Our  thought was to  distribute a  number  of Arduinos  to the  student  paired  with 
Python. After long and careful discussion we established that for now it would be best for 
the  students to  merely  focus  on  Python  itself. We  have chosen  to  implement a  ‘gaming’ 
theme for  the Python exercises in  scenario 1 which would  definitely make learning more 
interesting  and  interactive  for  students.  For  this  scenario  we  have  chosen  to  implement 
Djikstra’s  algorithm  to  make  the  students  create  a  simplified  version  of  the  TFL  journey 
planner in a competitive way. 
Learning Theory and scope of teaching materials: 
The  learning  theory  that  we  will  implement  is  competitive  learning.  The  project  that  we 
chose  implements  this  theory  well  as  in  the  last  lesson,  the  students  will  engage  in  a 
friendly  competition that  is engaging  to  both the  teacher and  the  students. The  material 
produced is sufficient for 6 lessons each presumed to be almost an hour long. This is how 
the lessons topics are divided :  
•
Lesson 1:   Part 1: Introducing the graph theory. 
•
Lesson 2:   Part 2: Introducing the principle of Djikstra’s algorithm by a manual exercise. 
•
Lesson 3:   Part 2: Continuing the manual exercise of Djikstra’s algorithm . 
•
Lesson 4:  Part 3: Coding part 1. 
•
Lesson 5:  Part 3: Coding part 2. 
•
Lesson 6:  Competition. 
Setting up the class for the project : 
By  the  end  the  last  lesson,  we  expect  students  to  be  able  to  program  using  Python  a 
program  that  can  tell  the  shortest  path  in  the  underground  network  between  any  two 
stations in zone 1. During the prepared lessons, the students will learn about graphs and 
algorithms related to the shortest path problem (e.g. Dijkstra’s algorithm). The lessons will 
also cover some advanced features of Python and strategies on implementing algorithms 
that  are  more  complex.  Students  will  have  the  opportunities  to  come  up  with  their  own 
solutions to problems and discuss them with the class. The project will be separated into 
stages  and  they  can  only  proceed  once  they  have  complete  the  current  stage.  This 
material will introduce students to topics of mathematics and computer science that they 
may not be familiar with and strengthen their knowledge in these areas by learning them 
through real life applications of these topics.