Program Function and Purpose

  • Objective: To enhance user engagement through innovative features and seamless user experiences.

  • Strategy: Implement feedback loops via surveys and user testing to refine functionality.


Essential Knowledge

  • The purpose of computing innovations is to solve problems or to pursue interests through creative expression.

  • Understanding user needs is crucial for developing features that resonate and provide value.

  • Continuous iteration based on user input will ensure the program remains relevant and effective.

  • A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software.

  • A code segment is a collection of program statements put together to execute a specific part of a program or perform a distinct task.

    • Code segments can vary in size from a single line of code to multiple procedures or functions.

    • Execution of a code segment typically flows sequentially, line by line, unless altered by control structures such as selection (conditionals) or iteration (loops).

    • A code segment often works by taking inputs, processing data through algorithms or operations, and producing specific outputs or changing program states.

Here is a real-world example of a code segment used to calculate a checkout total on an e-commerce website.

Imagine a full shopping platform like Amazon or Jumia. It has millions of lines of code for user logins, search bars, and tracking deliveries. The code segment below is just one isolated piece of that massive program, designed to do one specific job: calculate a customer's final price.

The Code Segment (Written in Python)

# A segment of a checkout program

item_prices = [12000, 4500, 8000 ]# A list of item prices in Nigerian Naira

total_cost = 0

delivery_fee = 1500

# Loop through the list to calculate the subtotal

for price in item_prices:

total_cost = total_cost + price

# Apply free delivery if the user spends over 20,000 Naira

if total_cost > 20000:

print("You qualify for free delivery!")

else:

total_cost = total_cost + delivery_fee

print("Your final total is: " + str(total_cost))


It uses a List: item_prices stores multiple values in a single collection

It uses Iteration (Loops): The for price in item_prices: block repeats an action to process the data.

It uses Selection (Conditionals): The if/else statement makes a decision based on whether the total_cost is greater than 20,000.

It uses Sequencing: The instructions run in order, from top to bottom (calculating the total before deciding on the delivery fee).


Why function and purpose matter

Clarifying function and purpose early prevents major problems later:

  • Guides design decisions: If the purpose is to help users track habits, your design should prioritise quick logging and clear progress visuals.

  • Defines what to test: You can’t test correctness if you don’t know what the program is supposed to do.

  • Helps collaboration: Teammates can make consistent choices when everyone agrees on the same purpose.

It also matters for communication: being able to explain what your program does and why is part of demonstrating understanding.

Guiding questions:

  • Why does the computing innovation exist?

  • What problems does the computing innovation solve?







Analysis: How the SDLC Connects to Other Core Topics

The SDLC does not exist in a vacuum; it requires integrating knowledge from almost every other topic in computer science:

  1. Algorithms and Programming (AP CSP / IGCSE): During the Design phase, developers rely on algorithmic thinking. They use flowcharts and pseudocode to plan the logic before the Development phase, where actual programming concepts (iteration, selection, variables) are applied.

  2. Data and Databases: During Analysis, developers must understand the data volume and security needs. During Design, they normalize data and create schemas. If the data isn't structured correctly here, the entire system will suffer from redundancy and inefficiency.

  3. Cybersecurity: Security must be integrated throughout the SDLC (often called "SecOps"). During Design, encryption and authentication protocols are chosen. During Testing, penetration testing is conducted to find vulnerabilities before deployment.

  4. Computing Innovations & Societal Impact (AP CSP): During the Analysis phase, developers must consider the ethical implications of their system. Will it cause job displacement? Does it handle personal data ethically? Does the system contain algorithmic bias? Recognizing these impacts early prevents the deployment of harmful technologies.