Skip to content
Writing Computer Programs
Coding · 1st Year · Software Development and Collaboration · 4.º Período

Writing Computer Programs

Learn how to design and write simple computer programs using code.

TL;DR:This final topic brings everything together as students write, test, and debug their own programs. They apply their knowledge of algorithms, variables, selection, and iteration to create a working piece of software. A major focus here is on 'debugging', the systematic process of finding and fixing errors.

NCCA Curriculum SpecificationsNCCA Coding Strand 3: 3.9NCCA Coding Strand 3: 3.10

About This Topic

This final topic brings everything together as students write, test, and debug their own programs. They apply their knowledge of algorithms, variables, selection, and iteration to create a working piece of software. A major focus here is on 'debugging', the systematic process of finding and fixing errors.

In the NCCA framework, this is the culmination of Strand 3. Students learn that making mistakes is a natural and valuable part of the coding process. This topic is best explored through hands-on practice and peer support. Students grasp the logic of debugging faster through structured discussion and peer explanation of their troubleshooting steps.

Key Questions

  1. What is a bug?
  2. How do we systematically test a programme?
  3. Why is debugging a critical skill?

Watch Out for These Misconceptions

Common MisconceptionA 'bug' means you are bad at coding.

What to Teach Instead

Even professional developers spend half their time debugging. Reframing bugs as 'puzzles to solve' through a 'Bug of the Week' celebration helps build a growth mindset and reduces frustration.

Common MisconceptionIf the program runs, it is 'correct'.

What to Teach Instead

A program might run but give the wrong answer (a logic error). Using 'test cases' with known inputs and outputs helps students see that 'working' means more than just 'not crashing'.

Active Learning Ideas

See all activities

Frequently Asked Questions

What is the best way to teach debugging to 1st Years?
Teach them a systematic process: 1. Predict what should happen, 2. Observe what actually happens, 3. Find where the 'reality' differs from the 'plan,' and 4. Fix it. Using the 'Rubber Duck' method (explaining the code line-by-line to an object or a peer) is also incredibly effective.
How does this final topic connect to NCCA Strand 3?
It fulfills Learning Outcomes 3.9 and 3.10, which focus on writing, testing, and evaluating programs. It is the 'capstone' where students prove they can turn an abstract idea into a functional, tested, and documented digital solution.
How can active learning help students understand writing and debugging programs?
Coding can be an isolating activity. Active learning turns it into a social, problem-solving journey. Strategies like 'The Bug Hunt' or 'Peer Playtesting' encourage students to talk about their logic and learn from each other's mistakes. This collaborative environment reduces the 'fear of failure' and makes the difficult task of debugging feel like a team sport rather than a solo struggle.
What tools should 1st Year students use for writing programs?
For 1st Year, block-based languages like Scratch are excellent for focusing on logic without worrying about typing errors. As they gain confidence, they can move toward text-based languages like Python, which is widely used in Irish secondary schools.
Edited by Adriana Perusin, Editor-in-Chief, Flip Education