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.