Computer Problem Solving Skills
Download the Lessonotes Mobile Nigeria 2025 app for faster lesson access on Android and iPhone.
Subject: Information Technology (IT)
Class: Junior Secondary 2
Term: 1st Term
Week: 7
Theme: Basic Computer Operations And Concepts
This page supports the lesson note with a companion video and a short classroom-ready summary.
For class groups and homework, share this lesson page so learners also get the summary, objectives, and full lesson context.
identify a computer program; define a computer programming language; give examples of computer programming languages.
A. Computer Program A computer program is a set of step-by-step instructions that tells a computer exactly what to do. Think of it like a detailed recipe for cooking a meal, or a script for a play where each actor knows their lines and actions. Without these instructions, a computer is just an inert machine; it cannot perform any useful task on its own.
Analogy for Nigerian Learners: Imagine you want to prepare 'Jollof Rice'. You need a recipe (the program) that lists ingredients (data) and steps (instructions) like "wash rice," "chop onions," "fry tomatoes," "add water," "cook until done." The computer (the chef) follows these instructions precisely to produce the Jollof Rice (the output). If any instruction is missing or incorrect, the outcome might be different or the meal might not be prepared at all.
How a Computer Program Works:
1. Input: The program often takes some form of data or command from the user or another system.
Example: When a user types text into Microsoft Word or clicks an icon on their smartphone.
2. Processing: The program uses its instructions to manipulate the input data.
Example: Microsoft Word processes the typed text to display it on the screen, check spelling, or save the document. A mobile banking app processes your login details to verify your identity.
3. Output: The program produces a result or action based on the processing.
Example: The text appears on the screen, a file is saved, a transaction is completed, or a game character moves. Examples of Computer Programs Relevant to Nigerian Contexts: Operating Systems: Windows, macOS, Android (found on almost every smartphone in Nigeria).
Word Processors: Microsoft Word, Google Docs (used for typing documents for school, business, government).
Web Browsers: Google Chrome, Mozilla Firefox (used for accessing the internet, checking news, social media).
Mobile Banking Applications: OPay, GTWorld, Kuda (used for financial transactions, bill payments).
Social Media Applications: WhatsApp, Facebook, Instagram (used for communication and networking).
Educational Software: CBT practice applications for JAMB/WAEC, online learning platforms.
Traffic Management Systems: Programs that control traffic lights in cities like Lagos and Abuja. B. Computer Programming Language A computer programming language is a formal language used by humans (programmers) to write instructions (programs) that a computer can understand and execute. Computers do not understand human languages like English, Yoruba, or Hausa directly. They operate on binary code (0s and 1s). Programming languages act as a bridge, allowing programmers to write instructions in a syntax that is closer to human language but can be translated into machine code. Why are Programming Languages Needed?
Clarity and Precision: They provide a precise and unambiguous way to give instructions to a computer, eliminating the vagueness often found in human language.
Translation: A special program called a 'compiler' or 'interpreter' translates the code written in a programming language into machine code that the computer's processor can execute.
Structure: They provide a structured way to organize complex instructions, making programs easier to write, understand, and maintain.
Analogy for Nigerian Learners: Imagine you need to give instructions to a foreigner who only understands French, but you only speak English. You would need an interpreter (like a compiler) to translate your English instructions into French so the foreigner can understand and act. Similarly, programming languages are the "French" that a computer "interpreter" understands, allowing your "English" ideas to be executed. Levels of Programming Languages (Brief Mention): Low-level Languages: Close to machine code (e.g., Assembly Language). Difficult for humans to write and understand, but very fast for computers.
High-level Languages: Closer to human languages (e.g., Python, Java). Easier for humans to write and understand, but require translation before the computer can execute them. This lesson focuses on high-level languages as they are more relevant for introductory IT. C. Examples of Computer Programming Languages There are hundreds of programming languages, each with its strengths and typical uses. Some popular and widely used examples include:
1. Python: Description: A very popular and beginner-friendly language known for its simplicity and readability. It uses clear syntax (grammar) that looks a lot like English. * *Common Closer to human languages (e.g., Python, Java). Easier for humans to write and understand, but require translation before the computer can execute them. This lesson focuses on high-level languages as they are more relevant for introductory IT. C. Examples of Computer Programming Languages There are hundreds of programming languages, each with its strengths and typical uses. Some popular and widely used examples include:
1. Python: Description: A very popular and beginner-friendly language known for its simplicity and readability. It uses clear syntax (grammar) that looks a lot like English.
Common Uses (Relevant to Nigeria): Web development (e.g., building websites like online news portals), data analysis (e.g., for government statistics or market research), artificial intelligence, scientific computing, automation. Many startups in Nigeria are adopting Python for backend development and data science.
2. Java: Description: A powerful, versatile, and widely used language. It is known for its "write once, run anywhere" capability, meaning Java code can run on various devices and operating systems without needing to be rewritten.
Common Uses (Relevant to Nigeria): Android mobile app development (most banking apps and many social media apps on Android phones are built with Java), enterprise software (large business systems), web applications.
3. C++: Description: An extension of the C language, C++ is a high-performance language used for developing system software, games, and applications where speed and resource efficiency are critical.
Common Uses (Relevant to Nigeria): Operating systems, game development, high-performance computing, embedded systems (e.g., in traffic lights, industrial control systems).
4. JavaScript: Description: Primarily known as the programming language for web pages. It makes websites interactive and dynamic.
Common Uses (Relevant to Nigeria): Front-end web development (what users see and interact with on websites like e-commerce platforms, news sites), also used for server-side development (Node.js).
5. Scratch: Description: A visual, block-based programming language developed by MIT. It is designed specifically for children and beginners to learn coding concepts through drag-and-drop blocks, making it very intuitive.
Common Uses (Relevant to Nigeria): Educational purposes, creating simple animations, games, and interactive stories. Ideal for introducing JSS students to programming logic without complex syntax.
A. Teacher Activities: Introduction (10 minutes): Review the previous topic on types of problems computers can solve (e.g., calculations, data storage, communication).
Pose questions to students: "How does your phone know what to do when you tap an app icon?" or "How does an ATM machine know to dispense cash when you enter your PIN?" Explain that computers need specific instructions to perform these tasks. Concept Explanation - Computer Program (15 minutes): Define "Computer Program" clearly using the analogy of a recipe or a play script.
Discuss the three stages: Input, Processing, Output, with relevant examples (e.g., mobile banking app login, playing a game). Engage students by asking them to identify programs they use daily (e.g., WhatsApp, calculator, internet browser) and briefly discuss what tasks these programs perform. Concept Explanation - Computer Programming Language (15 minutes): Introduce "Computer Programming Language" as the special language used to write these instructions. Explain why human languages are not suitable for computers and the need for a formal, precise language. Use the "English-French interpreter" analogy to explain the role of programming languages and how they are translated for the computer. Examples of Programming Languages (15 minutes): List and briefly describe Python, Java, C++, JavaScript, and Scratch. For each language, mention its common uses, especially highlighting applications relevant to Nigerian students' experiences (e.g., Android apps for Java, web development for Python/JavaScript, games/animations for Scratch). If possible, display simple screenshots of code snippets from a high-level language (e.g., Python "print('Hello, Nigeria!')") or a Scratch interface to provide a visual aid.
Activity Facilitation (10 minutes): Divide students into small groups. Provide each group with a common computer-based task (e.g., sending a message on WhatsApp, withdrawing money from an ATM, playing a mobile game).
Instruct them to discuss: "What kind of 'instructions' do you think the computer needs to perform this task?" (Focus on the program aspect). And "What language might have been used to create the app?" (Focus on programming language examples).
Q&A and Clarification (5 minutes): Address any misconceptions or questions from students.
B. Student Activities: Brainstorming & Discussion (Initial engagement): Students actively participate in recalling how computers perform tasks and suggesting answers to teacher's introductory questions.
Note-taking: Students write down definitions for "Computer Program" and "Computer Programming Language," and list examples of programs and programming languages with their uses.
Identification: Students identify computer programs they use daily and briefly describe their functions.
Group Discussion: Students engage in group discussions, analyzing everyday computer tasks and identifying the programs and potential programming languages involved.
Questioning: Students ask questions for clarification during the Q&A session. (Targeting Performance Objectives 1, 2, and 3)
Question 1: Identify whether the following are computer programs or not. State your reason. a) Microsoft Word b) A human speaking English c)
WhatsApp Messenger Solution 1: a)
Microsoft Word: Yes, it is a computer program.
Reason: It is a set of instructions that tells the computer how to create, edit, and save text documents. Users provide input (typing), it processes it (displays, formats), and produces output (saved document). b)
A human speaking English: No, it is not a computer program.
Reason: A human speaking English is a form of natural communication, not a set of machine-executable instructions. Humans use natural language; computers require formal, structured programs. c)
WhatsApp Messenger: Yes, it is a computer program.
Reason: It is an application with a set of instructions that enables communication (sending messages, making calls) on a smartphone or computer. It takes input (typed messages, voice), processes it (sends over network), and gives output (message delivered, call connected).
Question 2: Define "computer programming language" in simple terms, relating it to how humans communicate with computers.
Solution 2: A computer programming language is a special formal language that programmers use to write instructions that a computer can understand and follow. It acts like an interpreter, translating human ideas and commands into a format (code) that the computer can process, because computers don't understand natural human languages directly.
Question 3: Name two computer programming languages and briefly state one common use for each in a context familiar to Nigerian learners.
Solution 3: Python: Common Use: Building websites and web applications, for example, for online news platforms or e-commerce sites in Nigeria. It is also used for data analysis, which could be for understanding market trends in Nigerian businesses.
Java: Common Use: Developing mobile applications for Android phones. Many popular Nigerian banking apps (e.g., GTWorld, Kuda) and other apps used daily by students and adults are developed using Java.
Mobile Banking and Digital Payments: In Nigeria, mobile banking applications (e.g., OPay, Kuda, GTWorld) are essential computer programs. These apps are built using programming languages like Java (for Android) and Swift/Objective-C (for iOS). Understanding this helps students appreciate how technology solves real-world problems like financial transactions, utility bill payments, and money transfers, reducing the need for physical bank visits, especially in remote areas or during busy periods. JAMB/WAEC Online Registration and Result Checking: The Joint Admissions and Matriculation Board (JAMB) and West African Examinations Council (WAEC) use complex web applications and databases for student registration, examination administration, and result publication. These are elaborate computer programs developed using various programming languages (e.g., PHP, Java, Python, JavaScript for web interfaces, SQL for databases). This integration shows students how programming facilitates access to education and streamlines national processes.
Local Business Automation: Many Nigerian small and medium-sized enterprises (SMEs), from pharmacies to supermarkets, now use Point of Sale (POS) systems for inventory management and sales processing. These POS systems are computer programs, often developed with languages like Python or C#, that help businesses track sales, manage stock, and generate reports, thereby increasing efficiency and reducing human error. This demonstrates how programming skills directly contribute to economic growth and business efficiency locally.