• No results found

We will now present three sample schedules for the projects. These schedules are guidelines on how teachers might like to run the projects. Teachers are free to change these as needed. It is important they give the students enough time to both come up with an idea as well as then implementing it, otherwise it can be quite frustrating for them. One thing to note is that these schedules do not include potential homework, although students should be encouraged to work on their projects at home. The algorithm and reflection piece especially could be good for homework but can equally

3.4 topics

be done in class. The length of time teachers plan to give them, as well as how much work is expected at home, should be a factor into the quality of projects expected. This is important when giving feedback on the ideas, teachers don’t want students to go too big or too small. They should be encouraged to experiment and try out different ideas. This type of learning will improve not only their programming skills but also their CT and problem-solving skills.

The longest of the three schedules involves all of the above mentioned sections of the project. It assumes either one 1-hour class or 2 35/40-minute classes and no homework. This should allow students to develop and design a complete enough project that they can use all of the knowledge gained from the tutorials. The schedule is as follows:

• Week 1: Introduce project, show ideas, research and creative stimulation • Week 2: Finish off research, sketch/write down the idea informally

• Week 3: Give feedback on the idea, produce an algorithm, begin programming project

• Week 4: Potentially give feedback on the algorithm, Programming project • Week 5: Programming project

• Week 6: Programming project

• Week 7: Complete programming project, begin work on presentation/reflection piece

• Week 8: Work on presentation/reflection piece, submit reflection piece • Optional: Week 9: Give presentation

The middle of the three schedules includes a subset of the described sections for the project. The setup and assessment/reflection is shortened compared to the longer project. It assumes either one 1-hour class or 2 35/40-minute classes and no homework. It is the recommended for most classes. The schedule is as follows:

• Week 1: Introduce project, show ideas, research and creative stimulation, sketch/write down the idea informally

• Week 2: Give feedback on idea, produce an algorithm, begin programming project

• Week 3: Programming project • Week 4: Programming project

3.4 topics

• Week 5: Complete programming project, begin work on presentation/reflection piece

• Optional: Week 6: Submit reflection piece, Give presentation

The shortest project allows students to make a more basic project which will allow them to personalise the knowledge that they have gained from the tutorials. The schedule is as follows:

• Week 1: Introduce project, show ideas, research and creative stimulation, sketch/write down the idea informally

• Week 2: Give feedback on the idea and algorithm, begin programming project • Week 3: Programming project

• Week 4: Programming project

• Optional: Week 5: Complete project, work on reflection piece, submit reflection piece

3.4.3

p y t h o n

One of the main reasons, besides those described in Section3.2.2.2, that Python was

chosen to be included in CS2Go was the PACT team’s experience using Python in the past with schools. It was well received but it was felt an upgrade was needed to the content, namely the presentation and layout. More colourful, engaging and easy to read slide decks and exercise sheets were created. With a different target audience, TY students, some of the lessons also needed to be streamlined to suit secondary school class times and homework expectations. This was done with support from a postgraduate student who was restructuring a CS001 course, which is for mature students thinking of returning to full-time education. The course was built around Python Turtle, a graphical language built on Python which is based on the famous Logo programming language. We felt that this would be more engaging, especially for TY students, as the output would be very visual, rather than the usual numbers and sentences which are the standard output for novice programmers. The module was broken up into lessons and labs. The idea was that teachers would guide students through the lessons using the provided slides and code examples, alongside live cod- ing if they were comfortable doing that. Once the idea, concepts or structures were introduced (for example loops) the students would then complete several exercises which built upon the previously covered content and added this new concept/idea into the problems.

3.4 topics

These lessons are listed now in the suggested order of delivery e.g. teachers should begin with the Introduction lesson followed by Variables, Expressions and Statements, this leads into students completing Lab 1. The content is incremental as any program- ming language is; without the foundations more complex concepts will be hard to understand and implement. Whilst teaching one group of students Lesson 5, Turtle Graphics, was used as the introductory lesson. This was due to a lack of time and the desire to engage the students from the start with the graphical nature of Python Turtle so there is scope for that lesson to be the starting point. The final three lessons (6-8) require the knowledge from lessons 1-4 to be useful for students. Lessons 6-8 could also be taught in a different order if it was felt necessary. The lessons and other resoures, including slides, can be found in AppendixE.

Introduction

This lesson gives students a very high-level and brief overview of what Python is, how the computer runs the code, the different ways of running the code and helps them to write their first program, "Hello World". This lesson would also include an introduction to whatever platform teachers are using to run the Python code. The recommended platform is repl.it (see Section 3.2.2.2), however any text editor or

IDE (Integrated Development Environment) that teachers are comfortable with can be used.