Course Content
Chapter 1: Introduction to Computing & Computational Thinking
Description: Kicks off Year 7 by transitioning from ICT to Computer Science. Students learn what computing entails beyond using applications. They explore how to think computationally – breaking down problems and designing step-by-step solutions. This chapter reinforces problem-solving skills without duplicating Year 6 work, by diving into the concepts behind tasks they may have already done. Subtopics include: The difference between ICT (using software) and Computer Science (understanding and creating technology). The four pillars of computational thinking: decomposition, pattern recognition, abstraction, and algorithms​ stjohnsschoolcyprus.com . Real-life algorithms (e.g. recipe or daily routine) to illustrate sequencing and logical steps. Flowcharts and simple pseudocode as tools to plan out solutions. Applied Activity: Designing an algorithm for a familiar task (e.g. a simple game or making a sandwich) and drawing a flowchart to represent it. Learning Objectives: Define what computer science is and how it differs from general ICT use. Explain and apply key computational thinking terms (decomposition, patterns, abstraction, algorithms)​ stjohnsschoolcyprus.com in solving a problem. Develop a simple algorithm independently and represent it in a flowchart or pseudocode. Understand that computational thinking helps prepare for programming and problem-solving in technology. Subchapter 1.1: From ICT to Computer Science Focus: Clarifying how ICT differs from Computer Science. Content: Real-world examples showing the shift from “using tools” (ICT) to “understanding and creating tools” (CS). Why: Helps students see the big-picture purpose of studying Computer Science at Year 7 level. Subchapter 1.2: The Four Pillars of Computational Thinking Focus: Explaining decomposition, pattern recognition, abstraction, and algorithm design. Content: Simple, relatable examples (e.g., decomposing a daily routine, finding patterns in everyday tasks). Why: Ensures students grasp the core thought processes underlying all coding and problem-solving. Subchapter 1.3: Real-Life Algorithms Focus: Showing how algorithms (step-by-step instructions) apply to daily life. Content: Familiar tasks (making a sandwich, brushing teeth) that illustrate sequences and logic. Why: Builds on computational thinking by demonstrating that algorithms aren’t just for computers. Subchapter 1.4: Flowcharts and Pseudocode Focus: Introducing these planning tools as ways to represent algorithms. Content: Basic flowchart symbols, writing short pseudocode, walking through small examples. Why: Equips students with practical techniques for structuring and testing their ideas before coding.
0/9
Chapter 2: Computer Systems – Hardware and Software
Description: Introduces the basic architecture of computer systems, building on any device familiarity from primary school. This chapter ensures students know how a computer works internally without getting overly technical. It expands on Year 6 knowledge (e.g. using tablets or PCs) by looking “under the hood” at components and system software, rather than repeating how to use them. Subtopics include: Main hardware components: input devices, output devices, CPU (processor), memory (RAM), storage (HDD/SSD) – their roles and how they work together. The difference between hardware and software; examples of system software (operating system) vs. application software. The basic fetch–execute cycle concept (how the CPU processes instructions). Overview of how peripherals connect to a computer (ports, cables, wireless). Applied Activity: Hands-on identification of components (e.g. examining an old PC or using an interactive simulation to “build” a computer) to reinforce the function of each part. Learning Objectives: Identify and describe the function of key hardware components in a computer system. Distinguish between the operating system and application software, and understand their interplay. Outline how a simple instruction is processed by the CPU and memory (at an age-appropriate level). Demonstrate understanding by assembling a basic PC setup (physically or via a simulator) and explaining how data moves through the system.
0/10
Chapter 3: Data Representation – Binary and Media
Description: Explores how computers represent different types of information using binary code. This chapter builds on any basic binary concepts from primary (if students encountered binary puzzles) but goes further into practical representation of text and images. It avoids repetition by introducing new contexts (e.g. how their favorite songs or pictures are stored). Understanding data representation prepares students for topics like programming and networking in later years​. Learning Objectives: Explain that all data in computers (numbers, text, pictures, sound) is represented using binary digits​ Convert simple numbers from decimal to binary and vice versa. Demonstrate how text is stored by encoding a message in ASCII (e.g. writing a word in binary code). Understand how pixel images are formed and manipulate a simple image by adjusting binary values (through an unplugged activity or software). Appreciate the need for data representation techniques and how they enable all digital media.
0/12
Chapter 4: Networks and the Internet
Description: Introduces the concept of computer networks, including how the Internet works. This is likely a new topic (not covered in Year 6), so it starts with fundamentals and uses engaging, unplugged activities to demonstrate networking concepts. Students learn how computers communicate, which lays groundwork for more advanced networking in Year 8. The approach is kept basic and avoids deep technical jargon, focusing on real-world understanding of the Internet they use daily. Subtopics include: What a network is and why we network computers (sharing information, resources). Network types: LAN vs WAN; understanding the school network vs the global Internet. Internet infrastructure: Introduction to how the internet connects networks worldwide; the role of ISPs. Data transmission: Concept of data traveling in packets across the internet, and what happens when you send an email or load a webpage (simplified step-by-step). Key components: Servers, routers, switches (basic roles), and terms like IP address and URL (what they mean in simple terms). Applied Activity: “Internet as a postal system” simulation – students play roles of computers and routers, passing packets (envelopes) with addresses to simulate how data moves from one point to another. Alternatively, a semaphore flag or messaging game to demonstrate sending messages with protocols​ teachcomputing.org . Learning Objectives: Define a computer network and give examples of networks in daily life (school network, home Wi-Fi, internet). Distinguish between the Internet (global network of networks) and the World Wide Web (services/content). Describe in simple terms how data is broken into packets and routed from a sender to a receiver across a network. Identify basic network components (router, server, etc.) and their purpose in enabling communication. Understand real-world implications of networks (e.g. speed, reliability, the need for network security, which links to the next chapter).
0/13
Chapter 5: Cybersecurity and Online Safety
Description: Focuses on keeping information and devices secure, combining online safety taught in primary school with new cybersecurity concepts. It builds on Year 6 e-safety (such as safe passwords and stranger danger online) by introducing how and why cyber threats occur. Students learn practical ways to protect themselves and understand the basics of cybersecurity, preparing them for deeper security topics in later years (which might include more technical details in Year 9)​
0/12
Chapter 6: Computing Ethics and Digital Citizenship
Description: Engages students with the ethical, legal, and social implications of technology. This chapter broadens their perspective beyond just using technology, building on their online safety knowledge to cover topics like digital etiquette, intellectual property, and the digital divide. It does not repeat basic rules learned in Year 6; instead it introduces new dilemmas and discussion about how computing affects society and our responsibilities as users. Real-world cases and scenarios make this topic tangible and prepare students to be thoughtful tech users in Year 8 and beyond
0/11
Chapter 7: Algorithms and Problem Solving
Description: Now that students have a grasp of computational thinking (from Chapter 1), this chapter dives deeper into designing and understanding algorithms for tasks. It serves as a bridge between the abstract idea of an algorithm and actual coding in the next chapters. There is no repetition of the earlier algorithm content; instead, this chapter introduces more structured ways to represent algorithms (like pseudocode) and simple algorithmic problems to solve. This prepares students for formal programming by solidifying how to plan solutions logically.
0/12
Chapter 8: Programming Fundamentals with Visual Languages
Description: Introduces programming in a visual/block-based language (such as Scratch) to build confidence with coding concepts in a beginner-friendly environment. Many students may have used Scratch in Year 6, so this chapter quickly reviews the basics without reteaching old projects, then pushes into new territory (like using more complex logic or creating larger programs). The aim is to cover core programming constructs in practice: sequences, loops, variables, and conditionals. Students engage in hands-on coding projects that make learning fun and concrete.
0/10
Chapter 9: Introduction to Text-Based Programming
Description: This chapter transitions students from block-based coding to a text-based programming language, such as Python. It builds directly on the logic and structures learned in Scratch, showing students the equivalent in a written syntax. By starting simple and possibly using tools that make the transition easier (for example, using a beginner-friendly code editor or a hybrid block/text tool), students avoid feeling like they are starting from scratch (pun intended). This prepares them for more rigorous programming in Year 8 and 9, as required by the curriculum (using at least one textual language in KS3)​
0/14
Chapter 10: Data Handling and Spreadsheets
Description: Shifting focus from programming, this chapter teaches data handling skills using spreadsheets – an essential aspect of computing and digital literacy. It extends students’ Year 6 experience (they might have made simple charts or tables before) by introducing more powerful features of spreadsheet software. Through practical exercises, students learn how data is organized, analyzed, and visualized, linking to real-world applications (such as basic data science or keeping records) and setting the stage for database concepts in later years.
0/12
Chapter 11: Creative Computing Project (Digital Media and Information Literacy)
Description: This chapter allows students to apply their computing knowledge in a creative, cross-curricular project. They will plan and develop a digital product – for example, a simple web page or blog, a short video, or an interactive multimedia presentation – around a real-world cause or topic of interest. The aim is to synthesize skills from earlier chapters (graphics, text handling, ethical use of content, maybe a bit of HTML or using a website builder) and bolster their information literacy. By doing so, students see the real-world application of computing tools and practice designing for an audience​
0/15
Chapter 12: Capstone Challenge and Review
Description: The final chapter of Year 7 is a capstone that ties all the topics together in a cumulative challenge or showcase. Students undertake a project or a set of challenges that require them to draw on multiple skills learned throughout the year – from programming and data handling to ethical thinking. This ensures a smooth progression to Year 8 by reinforcing Year 7 content and giving teachers a chance to identify areas that need review. It is also an opportunity for students to celebrate what they’ve created and learned.
0/4
Final Exam
0/1
Appendix
0/1
Year 7 Computer Science
About Lesson

Introduction to Tracing Algorithms

In programming and algorithm design, it is important to verify that an algorithm works as intended before implementing it in actual code. One of the best ways to do this is through tracing an algorithm—a process where we systematically follow each step of an algorithm to predict its behavior and output. This helps us understand how an algorithm works and detect any possible errors or inefficiencies before coding.

Algorithm tracing is widely used in debugging, problem-solving, and optimization in computer science.

Purpose of Tracing Algorithms

The primary purpose of tracing an algorithm is to step through the logic of an algorithm to determine its correctness and expected output. This process helps programmers:

Understand the Flow of Execution

  • Tracing helps in visualizing how an algorithm progresses through its steps, making it easier to grasp its logic and structure.

Predict the Algorithm’s Output

  • By manually working through each step of an algorithm, we can determine the expected output without running the program on a computer.

Identify Logical Errors or Inefficiencies

  • Tracing allows for early detection of mistakes before coding, reducing debugging time during implementation.

Optimize the Algorithm

  • If an algorithm has unnecessary steps or loops, tracing can reveal opportunities for making the solution more efficient.

Techniques for Tracing an Algorithm

There are different techniques used for tracing an algorithm. The two most common methods are dry-run testing and flowchart tracing.

1. Dry-Run Testing

Dry-run testing is the process of manually simulating an algorithm using sample data to check its output. This method involves:

  • Taking a test case (input values) and processing them step-by-step according to the algorithm.
  • Writing down the intermediate values of variables after each step.
  • Predicting what the final output will be.

💡 Example of Dry-Run Testing

Let’s say we have the following simple algorithm to calculate the sum of the first five natural numbers:

  1. Set sum = 0
  2. For each number from 1 to 5:
  3. Add the number to sum
  4. Display sum

 

We can dry-run this algorithm step-by-step:

Step

Number

Sum

Start

0

Step 1

1

0 + 1 = 1

Step 2

2

1 + 2 = 3

Step 3

3

3 + 3 = 6

Step 4

4

6 + 4 = 10

Step 5

5

10 + 5 = 15

End

15

📌 Final output: 15

By manually stepping through this example, we can see that the algorithm correctly calculates the sum of numbers 1 to 5.

2. Flowchart Tracing

Flowcharts are visual representations of algorithms that use different symbols to show decision points, loops, and processes. Tracing a flowchart helps us predict the algorithm’s behavior.

🖼️ Example of Flowchart Tracing
Consider a simple algorithm to check if a number is even or odd:

 

  1. Start
  2. Input number
  3. If number % 2 == 0, print “Even”
  4. Else, print “Odd”
  5. End

This algorithm can be represented in a flowchart:

       [Start]

           |

        [Input number]

           |

        (Is number % 2 == 0?)

        /      

      Yes       No

      |         |

  “Even”     “Odd”

               /

       [End]

 

Tracing the Flowchart:
If the user enters 4, the algorithm follows the Yes branch and prints “Even”.
If the user enters 7, the algorithm follows the No branch and prints “Odd”.

By tracing the flowchart, we can verify that the algorithm correctly determines whether a number is even or odd.

Examples of Algorithm Tracing

💡 Example 1: Tracing a Simple Math Algorithm
Algorithm: Find the sum of all even numbers from 1 to 10.

  1. Set sum = 0
  2. For number = 1 to 10:
  3. If number is even, add it to sum
  4. Print sum

 

Let’s trace this algorithm:

Step

Number

Even Check

Sum

Start

0

1

1

No

0

2

2

Yes

0 + 2 = 2

3

3

No

2

4

4

Yes

2 + 4 = 6

5

5

No

6

6

6

Yes

6 + 6 = 12

7

7

No

12

8

8

Yes

12 + 8 = 20

9

9

No

20

10

10

Yes

20 + 10 = 30

End

30

Final output: 30

This step-by-step approach helps us ensure that our algorithm is correctly summing only even numbers.

💡 Example 2: Tracing a Simple Conditional Algorithm
Algorithm: Determine the largest of three numbers.

  1. Input three numbers: A, B, and C
  2. If A > B and A > C, print “A is the largest”
  3. Else If B > A and B > C, print “B is the largest”
  4. Else, print “C is the largest”

 

📌 Test Case 1: A = 8, B = 12, C = 5

  • Condition A > B and A > C8 > 12 ❌ (False)
  • Condition B > A and B > C12 > 8 and 12 > 5 ✅ (True)
  • Output: “B is the largest”

📌 Test Case 2: A = 15, B = 10, C = 20

  • Condition A > B and A > C15 > 10 and 15 > 20 ❌ (False)
  • Condition B > A and B > C10 > 15 ❌ (False)
  • Output: “C is the largest”

By tracing these test cases, we can confirm that the algorithm works correctly for different inputs.

Benefits of Algorithm Tracing

  1. Error Detection – Tracing helps spot mistakes in logic before coding.
  2. Understanding Logic Flow – It helps students grasp how conditional statements and loops work in an algorithm.
  3. Prepares for Debugging – If errors occur in programming, tracing the algorithm manually first can help identify where things went wrong.
  4. Saves Time in Coding – If an algorithm is correctly traced and refined, coding becomes much easier with fewer errors.

Conclusion

Algorithm tracing is an essential skill in computer science and programming. By manually stepping through an algorithm’s logic, students can verify its correctness, predict its outcome, and identify any issues before implementation. Whether through dry-run testing or flowchart tracing, this technique allows students to build confidence in designing logical solutions before they start writing actual code.

Understanding tracing will also be valuable in later topics such as debugging, algorithm efficiency, and problem-solving in programming, which students will encounter in Year 8 and Year 9.

In the next section, we will explore Problem-Solving Strategies, where students will learn how to break complex problems into smaller, manageable steps using structured approaches.