Skip to main content

Initial Steps in Teaching Python at Lower Secondary School Using the Platform Codeboard.io

  • Chapter
  • First Online:
Teaching Coding in K-12 Schools

Abstract

Even though there is a trend to integrate programming through Python into education in lower secondary schools, Python is usually assumed to be more appropriate for older students. Besides, few teaching guidelines or materials are offered to teachers on programming through Python at lower secondary schools. Therefore, this study in an ordinary public lower secondary school in Prague, Czech Republic, tested guidelines for introductory steps in teaching Python (using the platform Codeboard.io) to eighth-grade students (N = 60). The study aimed to investigate how programming in Python can be introduced in lower secondary schools and examine how suitable the programming in Python is for students aged 13–14. The teaching approach to Python was based on student’s motivation to design their own game using RPG Maker. The authors found out that the key factors influencing lower secondary school students’ understanding of text-based programming languages are, primarily, a teacher’s expertise in computer science and programming, a student’s motivation and her/his previous experiences with programming.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 119.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    ZŠ Rýnovice (https://zsrynovice.cz); ZŠ Základní škola Dany a Emila Zátopkových, Třinec (https://zszatopkovych.eu/); ZŠ a MŠ Všechovice (https://zs.zsvsechovice.cz/; Gymnázium Broumov); etc.

  2. 2.

    https://zs1.nmnm.cz/specializace-skoly/informace-studiu-ve-specializovane-tride/

  3. 3.

    https://www.zsma.cz/

  4. 4.

    https://astro-pi.org/

  5. 5.

    https://www.fzs-chlupa.cz/

  6. 6.

    https://www.coderebels.cz/

  7. 7.

    https://www.czechitas.cz/en

  8. 8.

    https://py.processing.org/

  9. 9.

    https://www.robotemil.com/

  10. 10.

    https://www.h-mat.cz/en

  11. 11.

    An IDLE (Integrated Development and Learning Environment) for Python-based scripts at lower secondary school.

  12. 12.

    Example assignment structure:

    • task_1.py

    • task_2.py

    • results.py (h)

    (h) stands for hidden file; results.py contains “feedback processing” of students’ work. Upon clicking the RUN button, results.py processed students’ outputs and printed feedback in the console.

  13. 13.

    RPG Maker is suitable mainly for designing games based on storytelling, not so much on games which need images and schemes.

References

  • Černochová, M., & Selcuk, H. (2022). Primary education student teachers’ perceptions of computational thinking through Bebras tasks. In D. Passey, D. Leahy, L. Williams, J. Holvikivi, & M. Ruohonen (Eds.), Digital transformation of education and learning – Past, present and future (OCCE 2021. IFIP Advances in Information and Communication Technology) (Vol. 642). Springer. https://doi.org/10.1007/978-3-030-97986-7_2

    Chapter  Google Scholar 

  • EC. (2020). Digital Education Action Plan 2021–2027: Resetting education and training for the digital age.

    Google Scholar 

  • Dorling, M., & White, D. (2015, March 4–7). Scratch: A way to logo and Python. In SIGCSE’15, Kansas City, MO, USA.

    Google Scholar 

  • Duncan, C., Bell, T., & Tanimoto, S. (2014, November). Should your 8-year-old learn coding? In WiPSCE '14: Proceedings of the 9th workshop in primary and secondary computing education.

    Google Scholar 

  • Jeong, I., & Chun, S.-J. (2021). The effects of programming learning using entry Python on elementary school students’ logical thinking ability. Journal of The Korean Association of Information Education., 25(4), 603–610.

    Article  Google Scholar 

  • Jeeves, L. (2021, October 22). Programming for all: Introducing Cambridge primary and lower secondary computing. Cambridge Learners, Curriculum. https://blog.cambridgeinternational.org/programming-for-all-introducing-cambridge-primary-and-lower-secondary-computing/

  • Klement, M., Dragon, T., & Bryndová, L. (2020). Computational thinking and how to develop it in the educational process. Palacký University Olomouc.

    Book  Google Scholar 

  • Matsuzawa, Y., Tanaka, Y., & Sakai, S. (2016). Measuring an impact of block-based language in introductory programming. In T. Brinda et al. (Eds.), Stakeholders and Information Technology in Education, SaITE 2016 (Vol. 2017, pp. 16–25). Springer.

    Chapter  Google Scholar 

  • Mladenović, M., Krpan, D., & Mladenović, S. (2016). Introducing programming to elementary students novices by using game development in Python and Scratch. In EDULEARN16 Proceedings (pp. 1622–1629).

    Google Scholar 

  • Morris, A. (2016, Fall). . Magazine McCormick School of Engineering, Northwestern University. https://www.mccormick.northwestern.edu/magazine/fall-2016/the-exponential-power-of-computer-science.html

  • Niemela, P. (2017). All Rosy in Scratch lessons: No bugs but guts with visual programming. IEEE Frontiers in Education Conference, 2017, 1–9.

    Google Scholar 

  • Robinson, W. (2016). From Scratch to Patch: Easing the Blocks-Text Transition. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education (pp. 96–99).

    Google Scholar 

  • Qian, Y., Yan, P., & Zhou, M. (2019). Using data to understand difficulties of learning to program: A study with Chinese middle school students. In Proceedings of the ACM conference on global computing education (pp. 185–191). ACM.

    Google Scholar 

  • Sentance, S., Barendsen, E., & Schulte, C. (Eds.). (2018). Computer science education. Perspective on teaching and learning in school.

    Google Scholar 

  • Settle, A., Vihavainen, A., & Sorva, J. (2014). Three Views on Motivation and Programming. In ITiCSE '14 Proceedings of the 2014 conference on Innovation & technology in computer science education (Annual Conference on Innovation & Technology in Computer Science Education: [proceedings]) (pp. 321–322). ACM.

    Google Scholar 

  • Severance, C. R. (2009). Python for everybody. Exploring Data Using Python 3. [01.04.2022]. https://www.py4e.com/html3/

  • So, M. H., & Kim, J. (2018). An analysis of the difficulties of elementary school students in python programming learning. International Journal on Advanced Science, Engineering and Information Technology, 8, 1507–1512.

    Article  Google Scholar 

  • Tabet, N., Gedawy, H., Alshikhabobakr, H., & Razak, S. (2016, July). From Alice to Python. Introducing Text-based Programming in Middle Schools. In: ITiCSE '16: Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (pp. 124–129).

    Google Scholar 

  • Tsukamoto, H., Takemura, Y., Nagumo, H., Ikeda, I., Monden, A., & Matsumoto, K. I. (2015). Programming education for primary school children using a textual programming language. In Frontiers in Education Conference (FIE) (pp. 1–7). IEEE.

    Google Scholar 

  • Vahldick, A., Mendes, A.J., & Marcelino, M. J. (2014). A review of games designed to improve introductory computer programming competencies. In 2014 IEEE Frontiers in Education Conference (FIE) Proceedings, (pp. 1–7).

    Google Scholar 

  • Vahldick, A., Mendes, A. J., & Marcelino, M. J. (2021). Analyzing novices’ fun and programming behaviors while playing a serious blocks-based game. Revista Brasileira de Informática na Educação, 29, 1337–1355.

    Article  Google Scholar 

  • Weintrop, D. (2015, February). Minding the gap between blocks-based and text-based programming (abstract only). Poster. In SIGCSE '15: Proceedings of the 46th ACM Technical Symposium on Computer Science Education.

    Google Scholar 

  • Weintrop, D., & Holbert, N. (2017, March 8–11). From blocks to text and back: Programming patterns in a dual-modality environment. In SIGCSE '17 (pp. 633–638).

    Google Scholar 

  • Yoon, S. H., & Jang, B. S. (2020). The meta-analysis on effects of education of Python for elementary school students. Journal of Industrial Convergence, 18(5), 97–101.

    Article  Google Scholar 

Download references

Acknowledgement

This study is a result of the research funded by the COOPERATIO Science Education, Subject Specific Education Research.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miroslava Černochová .

Editor information

Editors and Affiliations

Appendices

Appendices

1.1 Appendix 19.1: Activities in Python in Lessons L1–L5 (Activity #2)

L1

What’s going on at the console?

# edit the greeting variable to include the word hello and then print the variable to the console

L1 solution:

3 + 5 = 8 addition

2*2 = 4 multiplication

4 / 2 = 2 division

10%6 = 4 modulo (remainder after division)

L1 solution:

greeting = “hello”

print(greeting) # hello

L2

# one line below, create a variable name that will contain any name

# use the variable called my_name

# one line below, fill the output variable with any name and the phrase rides a bike. Using the variable my_name

# example of ascent: Peter rides a bike.

# use the variable −> output

L2 solution:

my_name = “Peter”

output = my_name + “rides a bike.”

print(output) # Peter rides a bike

L3

# create a program that calculates the perimeter and content of the rectangle

L3 solution

print(“Enter sizes of the sides of the rectangle:”)

a = int(input(“a:”))

b = int(input(“b:”))

circumference = a * 2 + b * 2

content = a * b

print(“Content:”, content)

print(“Circumference:”, circumference)

L4

# create a program that computes the contents of an equilateral triangle

# the user can enter any page size

L4 solution

a = input(“Enter length of a: ”)

content = (a * a) / 2

L5

Test: Show what you have learned

see Appendix 19.2

1.2 Appendix 19.2: Questionnaire “Show What You Have Learned” (Activity #2)

What does the following program do (what could it be used for)? What is written to the console?

Q1

greetings = “Hello”

print(greetings)

Q2

name = input(“What is your name?”)

print(“My name is” + name)

Q3

number_1 = 20

number = 15

print(number_1 + number_2)

Q4

number_1 = 7

number_2 = 4

result = (number_1 * number_2) / 2

print(result)

Q5

height = int(input(“How tall are you?”))

If height > 120:

print(“You can ride the train.”)

else:

print(“You are not tall enough, you cannot ride the train..”

Q6

number = “3”

result = number * 3

print(result)

Q7

print(“Enter sizes of the sides of the rectangle:”)

a = int(input(“a:”))

b = int(input(“b:”))

circumference = a * 2 + b * 2

content = a * b

print(“Content:”, content)

print(“Circumference:”, circumference)

Q8

mass = int(input(“How much do you weight?”))

height = int(input(“How tall are you?”))

bmi = mass / (height/100 * height/100)

print(“Your BMIis: ”, bmi)

Q9

Find a bug in the following programs

greetings = hello

print(greetings)

name = “Peter”

If name == Peter:

 print(Hello, Peter)

Q10

Explain these concepts:

Console

Variable

print()

Condition

If

else

input()

1.3 Appendix 19.3: A Final Questionnaire (at the End of Activity #3)

  1. 1.

    Have you ever programmed a game in the past? In what environment? And what game?

  2. 2.

    What intrigued you about programming a game in RPG Maker? Story? Method of programming? Creating in RPG Maker?

  3. 3.

    Did you consider working on a game in RPG Maker to be programming? And why?

  4. 4.

    Do you see any connection between what you did in Python and how you created the game in RPG Maker?

    What did you learn when programming in Python? What do you learn from teaching about Python? What exactly do you remember from teaching about Python?

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Černochová, M., Selcuk, H., Beneš, M. (2023). Initial Steps in Teaching Python at Lower Secondary School Using the Platform Codeboard.io. In: Keane, T., Fluck, A.E. (eds) Teaching Coding in K-12 Schools. Springer, Cham. https://doi.org/10.1007/978-3-031-21970-2_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-21970-2_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-21969-6

  • Online ISBN: 978-3-031-21970-2

  • eBook Packages: EducationEducation (R0)

Publish with us

Policies and ethics