Since 2017, the subject Informatics and Computer Science has been successively introduced as a compulsory subject in upper elementary school grades. Through the use of Scratch and later Python and Jupyter, our students are introduced to the basics of programming for the third year in a row.
The elementary and grammar school manuals in the Serbian language are on the Petlja’s portal and are completely free of charge.
Manual for 7th grade—graphics programming
During the summer, Petlja’s authoring team refreshed all materials according to teachers’ and students’ feedback. They made changes in the 7th grade manual that guides students through the basics of 2D graphics to simpler animations— Programming graphics by using Pygame in Serbian. Director of the Petlja Foundation, Nebojša Vasiljević gave us more details on the changes.
According to him, the materials were restructured in order to follow school curriculum more closely, which gives teachers more time to familiarize the students with the things they will be learning.
Throughout the revision process, we have additionally sought to move details and examples that are recognized as more complex to either be presented later or omitted, so that there are few leaps to the learning curve.
We especially tried hard to make the drawings and animation examples as readable as possible. We thought a lot about various methodological details, and finally introduced the additional Python package PygameBg to replace the code lines for initialization and the main loop with understandable function calls.
This way, we have made Pygame examples from the first to the last line of code understandable at first reading, at least at an intuitive level.
Students who fully master the course manual and course materials will be able to make simple animations, and those a little more ambitious will be equipped to have a go at computer games.
Firstly, students will have a good understanding of the concepts of 2D graphics on a computer, beginning with the coordinate start in the upper left corner, then the way colors are presented in the RGB palette, as well as drawing with graphic primitives, frame concepts in animations, and similar.
These are concepts that are not only present in programming but are understood more deeply from the perspective of programming code that draws and makes animations, as opposed to only using similar graphics primitives in the drawing application. We can draw a parallel with physics where students deepen their understanding of physical laws by describing them with formulas and doing so in assignments. The point is that what the language of mathematical formulas is to physics and mathematics, that’s the program code to informatics.
More generally, students will learn to solve problems in a particular domain using a programming language, and interactive computer graphics is one of the common application domains in the early stages of learning programming.
Second grade grammar school manual—data analysis and presentation
With the help of the Computing and Informatics manual for the 2nd grade of grammar school, written in Serbian, Petlja introduces students to the world of data and how it is used to draw conclusions. The manual relies on work in Excel, Python, and Jupyter in an interactive computing environment.
Vasiljević noted that programming is already taught in the first grade of grammar school and that the curriculum covers similar subject areas as in the sixth and seventh grade of elementary school—in Petlja’s materials, it means Python and PyGame.
The second grade uses program scripts to calculate and present something based on data. It is another application domain where problems are solved using a programming language.
Data analysis is actually a major domain of application programming that is significantly expanded beyond the reach of professional developers. In many professions, the data from which conclusions can be drawn independently are increasingly being encountered.
Students will learn how to process data much more efficiently using a variety of software environments.
Firstly, they will learn that some of the simpler data processing, such as Excel data from the first part of the manual, can be done with a short Python script in Jupyter environment, and there are some cases when this is more convenient. For example, when they get new data, they just restart the same script, and when in one step of the computation they want to change something, they will change only that step in Python and restart the script.
They will learn how to derive basic statistics from the data they have in the Jupyter environment and present the results in tables and diagrams.
They will also learn to use the open data available on the Internet, as well as to load and write data from Excel spreadsheets.
In the second part of the subject Informatics and Computer Science for the 2nd grade of high school, the curriculum is intended to cover certain programming techniques and work with files and folders. In this part, the manual will soon be updated.
Updates of other manuals
Petlja’s authoring team also upgraded written materials for fifth, sixth and eighth grades, as well as video lessons. A more strict structure was introduced in the sixth grade materials, similar to the seventh grade manual. Improvements were also made to the materials for the first grade of grammar school and they now cover similar topics as in 6th and 7th grades together.
We also have materials for 8th grade, which are optional in this school year. They are similar to the second grade materials, just at a more modest level, and cover data analysis in Jupyter and Python.
A new version of the Scratch programming language was released during the last school year, and we have also finalized 5th grade materials that will have parallel versions for Scratch 2 and Scratch 3, part of which has already been published.