Back to Contents Page

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 deﬁnitely 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 simpliﬁed 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 sufﬁcient 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.