Introduction
Programming has been seen as being difficult to learn by students at both secondary and tertiary levels, with generally, a bi-modal distribution of the marks. The modal distribution at the high end indicated that a small number of students did not find programming difficult while the distribution at the low end indicated that another group had found it very difficult indeed.
Bearing this in mind this teaching manual will first present a literature review of research papers that seek to find a solution to both the high failure rate and the bi-modal distribution of the programming grades. Learning theories and teaching methodologies that will be reviewed will be:
- Learning Edge Momentum hypothesis
- Human Memory
- Cognitive load theory
- Mental Models and Notional Machines
- Motivation
- Teaching Methodologies such as worked examples, peer programming, algorithms, code walkthroughs, tinkering, relating computing content to other aspects of the curriculum
Based on this body of knowledge we shall try to create a teaching module for NCEA module AS91883: Develop a computer program. In compliance with the NCEA requirements the following topics will be covered:
- Sequence
- Variables and data types
- Iteration
- Selection
- Input
- Lists
- Methods
We shall be looking at the learning theories above to fine-tune the teaching of the programming topics
The manual is aimed at teachers who are new to programming or new to teaching. It also assumes that students will have no prior knowledge of programming. The teaching tool will be a Lego Mindstorms EV3 robot, running on MicroPython and Edison V2 running on EdPy.
Finally the relative merits and demerits of MicroPython and EdPy will be evaluated regarding their suitability for teaching the NCEA module and ease of migration to standard Python.
The manual will conclude with a programming assignment that would be compliant with testing the learning outcomes of AS91883.
Go to top
Summary
Programming is often perceived as challenging by students at both secondary and tertiary levels, with performance typically reflecting a bi-modal distribution. While a subset of students excels, a significant number struggle. This teaching manual seeks to address these issues by reviewing academic research on improving programming education and reducing failure rates.
The manual incorporates insights from learning theories such as Learning Edge Momentum, Human Memory, Cognitive Load Theory, Mental Models, Notional Machines, and Motivation. It also explores teaching methodologies, including worked examples, peer programming, algorithms, code walkthroughs, tinkering, and integrating computing with other curriculum areas.
With this foundation, the manual aims to develop a teaching module aligned with the NCEA AS91883 standard, covering topics such as sequence, variables and data types, iteration, selection, input, lists, and methods. These theories and methodologies will guide the instructional approach for each topic.
Designed for teachers new to programming or teaching, the manual assumes no prior programming knowledge among students. It employs Lego Mindstorms EV3 (running MicroPython) and Edison V2 (running EdPy) as teaching tools, providing practical and engaging ways to introduce programming concepts.
The manual evaluates the suitability of MicroPython and EdPy for the NCEA module, focusing on their potential for transitioning to standard Python. It concludes with a programming assignment that aligns with the learning outcomes of AS91883, ensuring students can demonstrate their understanding effectively.
Go to top
Revision History
Multi choice
-
What does the bi-modal distribution in programming grades typically indicate?
- A. All students find programming equally difficult
- B. Some students excel while others struggle significantly
- C. Programming is universally difficult
- D. Students have equal programming knowledge
-
Which theory is included in the manual to address cognitive challenges in programming?
- A. Learning Edge Momentum hypothesis
- B. Behavioral learning theory
- C. Classical conditioning
- D. Growth mindset theory
-
What is the teaching tool used for introducing programming in this manual?
- A. Arduino kits
- B. Lego Mindstorms EV3 and Edison V2
- C. Raspberry Pi
- D. Scratch programming
-
What programming language is used with the Lego Mindstorms EV3 in this manual?
- A. JavaScript
- B. Java
- C. MicroPython
- D. C++
-
Which NCEA module is the manual aligned with?
- A. AS91884: Develop a database
- B. AS91883: Develop a computer program
- C. AS91885: Develop a network
- D. AS91882: Develop a website
-
What topic is not listed as part of the NCEA module covered by this manual?
- A. Sequence
- B. Variables
- C. Artificial Intelligence
- D. Selection
-
What is the main focus of the cognitive load theory as discussed in the manual?
- A. Reducing memory retention
- B. Increasing the complexity of tasks
- C. Minimizing mental effort for learning
- D. Encouraging multitasking
-
What will the manual evaluate regarding MicroPython and EdPy?
- A. Their syntax differences
- B. Their suitability for teaching and transition to standard Python
- C. Their compatibility with older hardware
- D. Their popularity in professional development
-
Who is the target audience for this teaching manual?
- A. Advanced programmers
- B. Teachers new to programming or teaching
- C. University professors
- D. Students with prior programming knowledge
-
How does the manual propose to integrate programming into the broader curriculum?
- A. By focusing solely on programming
- B. By relating computing to other curriculum areas
- C. By eliminating unrelated subjects
- D. By restricting the use of tools
Fill in the gaps
- Programming is often perceived as ______ by students at both secondary and tertiary levels.
- The teaching manual reviews research papers to address the ______ distribution of programming grades.
- The Learning Edge Momentum hypothesis is one of the ______ discussed in the manual.
- The manual aims to develop a teaching module for the NCEA standard ______.
- Lego Mindstorms EV3 runs on ______, while Edison V2 runs on EdPy.
- One of the teaching methodologies explored in the manual is ______ programming.
- The manual is targeted at teachers who are ______ to programming or teaching.
- One of the programming topics covered in the NCEA module is ______, which involves repeating actions.
- The manual evaluates the relative merits of MicroPython and EdPy for ______ to standard Python.
- The manual concludes with a programming assignment aligned with the learning outcomes of ______.
Go to top
Programming Assignment
This assignment is designed to help you explore the challenges and strategies involved in teaching programming effectively. It consists of both theoretical and practical components to enhance your understanding and skills. Follow the instructions carefully and complete all tasks provided.
The first part of the assignment focuses on short answer questions. You are required to explain the concept of a bi-modal distribution in programming grades and its implications for student learning. Additionally, you will describe two learning theories discussed in the manual that can help address teaching challenges. You are also expected to identify three teaching methodologies mentioned in the manual and explain how each can improve programming instruction. Furthermore, you will explore the significance of aligning the teaching module with the NCEA AS91883 standard and discuss the advantages of using Lego Mindstorms EV3 and Edison V2 robots as teaching tools for programming.
The second part of the assignment involves a practical task. You will use either a Lego Mindstorms EV3 running MicroPython or an Edison V2 running EdPy to write a simple program that navigates a square path. The program should include instructions for moving the robot forward a fixed distance, making a 90-degree turn, and repeating this sequence four times to complete the square. Ensure that your code is well-structured and includes appropriate comments to enhance readability and understanding.
After completing the practical task, you will write a short reflection of 200–300 words. In your reflection, discuss any difficulties you encountered while programming the robot and evaluate how the teaching tools (EV3 or Edison) supported or hindered your learning process. Additionally, suggest potential improvements to the teaching methodologies based on your experience with these tools.
To complete the assignment, submit your answers to the short answer questions in a document format, such as Word or PDF. Upload your robot programming code as a text file or a screenshot of your code editor. Include your reflection as part of the document or as a separate file. Ensure all components are submitted by the specified deadline.
This assignment encourages a combination of theoretical understanding and practical application. It aims to foster critical thinking and hands-on experience, providing an opportunity to engage deeply with the principles of programming education and its challenges.
Go to top