Showing posts with label GCE A/L ICT – Competency 9. Show all posts
Showing posts with label GCE A/L ICT – Competency 9. Show all posts

Saturday, September 26, 2026

GCE A/L ICT Competency 9.1 - Algorithms & Python Tamil Medium Online Class Algorithms + Python Programming | Problem Solving to Execution | Theory + Code + Exam Patterns

🟦 GCE A/L ICT – Competency 9

Algorithms + Python Programming | Problem Solving to Execution | Theory + Code + Exam Patterns

GCE A/L ICT - UNIT 9: PROGRAMMING


1. Fundamentals of Problem Solving & Algorithm Design

   1.1. Concept of Problem Solving

   1.2. Identification of Inputs, Processes, and Outputs (IPO)

   1.3. Step-by-Step Approach to Problem Solving

   1.4. Representation of Algorithms

        1.4.1. Flowcharts (Standard Symbols: Terminal, Input/Output, Process, Decision, Flowlines)

        1.4.2. Pseudo-code (Structured Keywords: IF-THEN-ELSE, WHILE, FOR)


2. Introduction to Programming Languages

   2.1. Evolution of Programming Languages (Low-level vs. High-level)

   2.2. Translators: Compilers, Interpreters, and Assemblers

   2.3. Characteristics of the Python Programming Language


3. Basic Syntax and Coding Fundamentals in Python

   3.1. Python Coding Environment (IDLE, Script Mode vs. Interactive Mode)

   3.2. Identifiers, Keywords, and Naming Conventions

   3.3. Variables and Assignment Statements

   3.4. Basic Data Types

        3.4.1. Integer (int)

        3.4.2. Floating-point (float)

        3.4.3. String (str)

        3.4.4. Boolean (bool)

   3.5. Operators and Expressions

        3.5.1. Arithmetic Operators (+, -, *, /, //, %, **)

        3.5.2. Relational / Comparison Operators (==, !=, >, <, >=, <=)

        3.5.3. Logical Operators (and, or, not)

   3.6. Basic Input and Output Functions (input() and print())


4. Control Structures

   4.1. Sequence Control Structure

   4.2. Selection / Decision-Making Structures

        4.2.1. Simple 'if' statement

        4.2.2. 'if - else' statement

        4.2.3. Nested 'if' and 'if - elif - else' chains

   4.3. Iteration / Looping Structures

        4.3.1. Condition-controlled loops ('while' loop)

        4.3.2. Count-controlled loops ('for' loop with range() function)

        4.3.3. Nested Loops

        4.3.4. Loop control statements (break, continue)


5. Python Data Structures (Collections)

   5.1. Strings (Indexing, Slicing, and String Methods)

   5.2. Lists (Creating, Indexing, Mutable properties, List Methods)

   5.3. Tuples (Immutable sequences)

   5.4. Dictionaries (Key-Value pairs, Accessing and Modifying keys)


6. Functions and Modularity

   6.1. Concept of Modular Programming

   6.2. Built-in Functions vs. User-defined Functions

   6.3. Function Definition (def keyword) and Arguments/Parameters

   6.4. Return Values (return statement)

   6.5. Scope of Variables: Local vs. Global Variables


7. File Handling

   7.1. Concept of Data Persistence

   7.2. Opening and Closing Files (open(), close())

   7.3. File Access Modes ('r' for Read, 'w' for Write, 'a' for Append)

   7.4. Reading from Text Files (read(), readline(), readlines())

   7.5. Writing data to Text Files (write(), writelines())


8. Error and Exception Handling

   8.1. Types of Programming Errors (Syntax, Runtime, Logical Errors)

   8.2. Handling Exceptions using 'try - except' blocks


9. Database Connectivity (Python with SQLite)

   9.1. Establishing a Database Connection

   9.2. Executing SQL queries via Python Scripting (CRUD Operations)


10. Standard Algorithms in Python

    10.1. Implementing Linear Search

    10.2. Implementing Bubble Sort


Algorithms Python Basics Control Structures Functions Data Structures Search & Sort
📘 Competency 9 Overview | Problem-Solving Process ▼
Competency என்ன சொல்கிறது?
“Develops algorithms to solve problems and uses Python programming language to encode algorithms.”

அதாவது: Problem → Algorithm → Flowchart/Pseudocode → Python Program → Testing/Debugging

ஒரு programming question வந்தால், நேரடியாக Python எழுதுவது மட்டும் போதாது. முதலில் problem-ஐ புரிந்துகொண்டு, solution-ஐ திட்டமிட்டு, algorithm உருவாக்கி, பின்னர் அதை Python-ல் எழுத வேண்டும்.

9.1 Problem-Solving Process (4 Stages)

1. Understanding

பிரச்சினையைப் புரிந்துகொள்ளுதல் (Input, Output, Conditions)

2. Defining

பிரச்சினை மற்றும் அதன் எல்லைகளை (boundaries) வரையறுத்தல்

3. Planning

தீர்வைத் திட்டமிடுதல் (Algorithm/Flowchart)

4. Implementation

தீர்வை Python-ல் செயல்படுத்துதல்

📝 Exam Question

Q: பிரச்சினை தீர்க்கும் செயல்முறையின் நான்கு முக்கிய படிகளை எழுதுக.

Answer:
  1. பிரச்சினையைப் புரிந்துகொள்ளுதல்
  2. பிரச்சினை மற்றும் அதன் எல்லைகளை வரையறுத்தல்
  3. தீர்வைத் திட்டமிடுதல்
  4. தீர்வை செயல்படுத்துதல்
🏗️ 9.2 Top-Down Design & Stepwise Refinement ▼

Modularization

ஒரு பெரிய problem-ஐ சிறிய, manageable modules-ஆக பிரிப்பது. (Eg: School System → Student, Attendance, Exams)

Top-Down Design

Big problem → Small problems. மேலிருந்து கீழாக problem-ஐ பிரிப்பது.

Stepwise Refinement

ஒரு பெரிய task-ஐ தொடர்ந்து சிறிய tasks-ஆக detail-ஆக பிரித்துக் கொண்டே செல்வது.

Structure Chart Example

Student Result | ------------------------- | | | Input Calculate Output | --------------- | | Total Average
📝 Exam Question

Q: Top-down design என்றால் என்ன?

Answer: ஒரு பெரிய பிரச்சினையை முதலில் முக்கிய modules-ஆகவும், பின்னர் அவற்றை சிறிய sub-modules-ஆகவும் பிரித்து தீர்வு காணும் முறையே Top-down design ஆகும்.
🧠 9.3 Algorithmic Approach | Flowchart & Pseudocode ▼

Algorithm என்பது ஒரு problem-ஐ solve செய்வதற்கான finite, clear, ordered steps ஆகும்.

Algorithm-ன் 5 Characteristics

1. Finiteness

ஒரு கட்டத்தில் முடிவடைய வேண்டும்.

2. Definiteness

ஒவ்வொரு step-உம் தெளிவாக இருக்க வேண்டும்.

3. Input

Input இருக்கலாம் (zero or more).

4. Output

Result/output கண்டிப்பாக கொடுக்க வேண்டும்.

5. Effectiveness

Practical-ஆக execute செய்யக்கூடியதாக இருக்க வேண்டும்.

Flowchart Symbols

Symbolபயன்பாடு
OvalStart / Stop
RectangleProcess
ParallelogramInput / Output
DiamondDecision
ArrowFlow direction

Pseudocode Example (Largest of 2 numbers)

START INPUT A INPUT B IF A > B THEN OUTPUT A ELSE OUTPUT B END IF STOP

Hand Trace Example

a = 5 b = 3 c = a + b print(c)
StepabcOutput
Initial53--
c=a+b538-
print(c)5388
⭐ Past Paper Pattern (2022 Paper II Q8a)
123 என்ற எண்ணை 321 ஆக reverse செய்யும் logic:
n = int(input()) reverse = 0 while n > 0: digit = n % 10 reverse = reverse * 10 + digit n = n // 10 print(reverse)
🧩 9.4 Programming Paradigms & Generations ▼

Imperative

"How to do?"
Computer என்னென்ன steps செய்ய வேண்டும் என்று programmer கூறுவார். (Eg: Python loops)

Declarative

"What should be done?"
எப்படி செய்ய வேண்டும் என்பதை விட என்ன result வேண்டும் என்பதில் focus. (Eg: SQL)

Object-Oriented

Program-ஐ objects மற்றும் classes அடிப்படையில் அமைப்பது. (Eg: Python classes)

Programming Language Generations

GenerationNameExample
1GLMachine languageBinary (0s, 1s)
2GLAssemblyAssembly Language
3GLHigh-levelC, Java, Python
4GLVery high-levelSQL, MATLAB
⚙️ 9.5 Program Translation (Compiler vs Interpreter) ▼

Computer நேரடியாக high-level Python statements-ஐ execute செய்யாது. எனவே translation தேவை.

Compiler

முழு source program-ஐ ஒரே நேரத்தில் translate செய்கிறது. Execution வேகம் அதிகம். Object code உருவாகும்.

Interpreter

Program-ஐ line-by-line translate மற்றும் execute செய்கிறது. Python பொதுவாக இதைப் பயன்படுத்துகிறது.

Linker

பல object modules / libraries-ஐ ஒன்றாக இணைத்து executable program உருவாக்க உதவுகிறது.

Compiler vs Interpreter

CompilerInterpreter
Whole program at onceStatement/line at a time
Faster executionGenerally slower
Produces Object codeNo standalone object code
Errors reported after compilationErrors appear during execution
🐞 9.6 IDE & Debugging (3 Types of Errors) ▼

IDE (Integrated Development Environment) என்பது Code editor, Run/Execute, Debugger போன்ற tools-ஐ ஒரே environment-ல் வழங்குவது.

3 முக்கிய Errors

1. Syntax Error

Grammar தவறு. Program run ஆகாது.

if x > 5 (: missing)

2. Runtime Error

Program run செய்யும்போது crash ஆகும்.

x = 10 / 0 (Division by zero)

3. Logical Error

Program execute ஆகும். ஆனால் answer தவறாக இருக்கும்.

area = length + width (Should be *)

🐍 9.7 Python Basics | Variables, Types & Operators ▼

Basic Structure & Data Types

# Get two numbers (Comment) a = int(input("Enter A: ")) # Input & int type b = int(input("Enter B: ")) total = a + b # Processing print(total) # Output

int

age = 18

float

price = 25.50

str

name = "Ali"

bool

passed = True

Operators & Precedence

  • Arithmetic: +, -, *, /, %, **, //
  • Relational: >, <, >=, <=, ==, !=
  • Logical: and, or, not
Precedence Example:
result = 2 + 3 * 4 → First 3*4=12, then 2+12=14.
(2 + 3) * 4 → Answer = 20
🔀 9.8 Control Structures (Sequence, Selection, Repetition) ▼

1. Sequence

Statements order-ஆக execute ஆகும்.
a=10
b=20
c=a+b

2. Selection

Condition அடிப்படையில் decision.
if marks >= 50:
  print("Pass")
else:
  print("Fail")

3. Repetition

Looping statements.
for i in range(1, 6):
  print(i)

Nested Control Structure

for i in range(1, 6): if i % 2 == 0: print(i) # Prints 2, 4
⭐ Exam Question

Q: Control structures மூன்றை எழுதுக.
Answer: 1. Sequence, 2. Selection, 3. Repetition
🧱 9.9 Sub-programs / Functions ▼
# User-defined Function def add(a, b): # a, b are Parameters return a + b answer = add(10, 20) # 10, 20 are Arguments print(answer) # Output: 30

Local vs Global Variables

LocalGlobal
Function-க்குள் உருவாக்கப்படுகிறதுProgram-க்கு வெளியே உருவாக்கப்படுகிறது
Scope limited to functionWider scope (entire program)
⭐ Past Paper Pattern (2022 Paper II Q8b)
Q: Student name & food item-ன் முதல் மற்றும் கடைசி எழுத்துகள் ஒரே மாதிரியா என பரிசோதிக்கும் function.
def Party(studentName, foodItem): return studentName[0] == foodItem[0] and \ studentName[-1] == foodItem[-1] # Party("Kamal", "Kebab") -> 'K'=='K' but 'l'!='b' -> False
📦 9.10 Data Structures (Strings, Lists, Tuples, Dicts) ▼

String

name = "Python"
Index: name[0] is 'P', name[-1] is 'n'

List

nums = [10, 20]
Mutable (changeable).
Methods: append(), pop(), sort()

Tuple

nums = (10, 20)
Immutable (cannot change).

Dictionary

std = {"name": "Ali", "age": 18}
Key-value pairs. std["name"]

⭐ Past Paper Pattern (2022 Paper I Q40)
List operations trace:
numbers = [10, 20, 30, 40, 50] numbers.pop(1) # Removes 20 -> [10, 30, 40, 50] numbers.append(60) # Adds 60 -> [10, 30, 40, 50, 60] numbers.pop(2) # Removes 40 (index 2) -> [10, 30, 50, 60] print(numbers) # Answer: [10, 30, 50, 60]
💾 9.11 & 9.12 File Handling + Database (SQL) ▼

File Handling Modes

ModeMeaning
"r"Read
"w"Write (Overwrites existing data ⚠️)
"a"Append (Adds to end of file)

Database CRUD Operations (SQL)

Create (Insert)

INSERT INTO Student VALUES (101, 'Ali');

Read (Select)

SELECT * FROM Student;

Update

UPDATE Student SET name='Ahmed' WHERE id=101;

Delete

DELETE FROM Student WHERE id=101;

🔍 9.13 Searching and Sorting (Sequential & Bubble) ▼

Sequential Search

Data ஒன்றை ஒன்றாக sequentially check செய்வது.

numbers = [15, 8, 23, 10, 7] search = 10 for x in numbers: if x == search: print("Found") break

Bubble Sort (Ascending)

Adjacent elements-ஐ compare செய்து order தவறாக இருந்தால் swap செய்வது.

numbers = [5, 2, 8, 1] n = len(numbers) for i in range(n): for j in range(0, n-i-1): if numbers[j] > numbers[j+1]: # Swap using temp variable temp = numbers[j] numbers[j] = numbers[j+1] numbers[j+1] = temp print(numbers) # [1, 2, 5, 8]
Dummy (Temp) Variable ஏன்?
இரண்டு values-ஐ swap செய்யும்போது ஒரு value-ஐ பாதுகாப்பாக வைத்திருக்க temp பயன்படுகிறது.
Python shortcut: a, b = b, a
🏆 Exam Priority & 5-Way Problem Solving Trick ▼

🔥 Exam Focus Priority

PrioritySection
🔥🔥🔥 மிக முக்கியம்9.3 Algorithms, 9.7 Python basics, 9.8 Control structures, 9.9 Functions, 9.10 Data structures
🔥🔥 முக்கியம்9.13 Search & Bubble sort, 9.5 Translators, 9.2 Top-down
🔥 Theory9.11 Files, 9.12 Database (SQL), 9.6 IDE, 9.4 Paradigms
🧠 மிகவும் முக்கியமான Exam Connection (Even/Odd)
ஒரே problem-ஐ 5 விதமாக எழுதத் தெரிந்திருக்க வேண்டும்:

1. Algorithm

START
INPUT N
IF N MOD 2 = 0 THEN
  OUTPUT "Even"
ELSE
  OUTPUT "Odd"
END IF
STOP

2. Pseudocode

READ N
IF N % 2 == 0 THEN
  PRINT "Even"
ELSE
  PRINT "Odd"

3. Python Code

n = int(input())
if n % 2 == 0:
  print("Even")
else:
  print("Odd")

4. Flowchart

Start → Input N → Diamond (N%2==0?) → Yes (Even) / No (Odd) → Stop

5. Hand Trace (N=7)

n = 7
n % 2 = 1
Condition (1==0) is False
Output: Odd

🎓 Expert ICT, Coding, School Classes, Digital Marketing & University Project Guidance

Struggling with your university final year project? Want to master coding, upscale your business with expert digital marketing, or learn absolute computer basics from scratch? We offer high-quality individual and group online classes conducted in English, Sinhala, or Tamil mediums. Get guaranteed academic success and professional growth with tailored guidance.


🎓 University Final Year Project Guidance & AI

Get specialized, end-to-end mentoring and technical support to pass your degree or master's program with flying colors:

  • 🏫 Targeted Institutes: Expert guidance tailored for BIT UCSC, UoM, SLIIT, NIBM, and other leading universities.
  • 🔬 Postgraduate Support: Comprehensive assistance for MSc Software Final Year Projects.
  • 🤖 AI & Smart Applications: Step-by-step implementation of AI, Machine Learning (ML), and automation modules.
  • ✅ Guaranteed Success: Help with documentation, system architecture, coding, and viva preparation.

🏫 School ICT & Corporate Beginner Classes

  • 💻 Non-IT Staff Computer Basics: Absolute beginner-friendly online classes covering essential computer skills, office tools, and internet operations.
  • 🎒 Primary & Secondary (Grades 1-10): Interactive online ICT classes tailored to build strong foundations from early ages.
  • 📝 Exam Prep: Dedicated training packages for GCE O/L, GCE A/L ICT, and GIT exams.
  • 🌍 Global Syllabuses: Complete curriculum coverage for Local, Edexcel, and Cambridge in English & Tamil Mediums.

📢 Software Development & Digital Marketing Services

  • ⚙️ Software & Web Development: Professional custom software application and website development built using PHP & MySQL.
  • 🎯 Social Media Management: Content creation, publishing, and channel management for Facebook, Instagram, TikTok, and YouTube.
  • 📈 Ad Boosting: Highly targeted paid advertising campaigns to drive leads, traffic, and sales to your business.

📞 Connect With Us Instantly

Book your slot for online classes or get a premium tech service quote today!

💬 WhatsApp: +94 729622034

📧 Email: ITClassSL@gmail.com


🌐 Explore Our Resources & Communities

Stay updated with our latest tutorials, project ideas, and student guides across all our official platforms: