SESSION PLAN: PRINCIPLES OF ALGORITHMS (WK 1-2)
Session Plan Title: Principles of Algorithms Date:
Bridge-in (10 minutes)
Discuss how following a recipe versus
improvising when cooking affects the
outcome. Relate this to algorithms - precise,
step-by-step instructions for computers to
solve problems efficiently and reliably.
Learning Outcome:
By the end of the session, the trainee will be
able to:
1. Define an algorithm and explain its
characteristics
2. Write algorithms using pseudocode and
flowcharts
3. Analyze algorithm complexity (Time &
Space)
4. Explain Greedy and Divide-and-Conquer
paradigms
Pre-assessment (10 minutes)
• Activity: Write step-by-step instructions
for making a cup of tea
• Think-Pair-Share: Discuss what makes
instructions clear or unclear
Participatory Learning
Trainer Activities Trainee Activities Learning
Aids/Materials
1. Define algorithms and their 1. Take notes on •Whiteboard/Projector
characteristics (Input, Output, Definiteness, algorithm concepts
Finiteness, Effectiveness) and characteristics
2. Demonstrate algorithm writing using 2. Convert tea- • Flowchart templates
pseudocode and flowcharts making
instructions to
formal pseudocode
3. Explain algorithm analysis and 3. Analyze • Sample algorithms
complexities (Big O notation) complexity of handout
sample algorithms
4. Introduce Greedy algorithms (Coin 4. Solve simple • Problem worksheets
Change problem) Greedy algorithm
problems
5. Demonstrate Divide-and-Conquer (Merge 5. Participate in • Visual sorting
Sort concept) group discussion demonstrations
on algorithm
efficiency
Post-Assessment (40 minutes)
• Written Test: Define algorithm terms and
characteristics
• Practical: Write pseudocode for given
problems
• Analysis: Compare complexity of different
approaches
• Group Presentation: Explain Greedy vs
Divide-and-Conquer
Summary/Closure (10 minutes)
Recap algorithm fundamentals and
importance of analysis. Preview next topic:
Arrays and Data Structures.
SESSION PLAN: FUNDAMENTAL DATA STRUCTURES &
ARRAYS (WK 3-5)
Session Plan Title: Fundamental Data Date:
Structures & Arrays
Bridge-in (10 minutes)
Show images of organized vs disorganized
storage spaces. Discuss efficiency of finding
items. Introduce data structures as ways to
organize data for efficient access and
modification.
Learning Outcome:
By the end of the session, the trainee will be
able to:
1. Explain data structure concepts and types
2. Implement arrays in C++
3. Perform array operations (insert, delete,
search, update)
4. Analyze array performance characteristics
Pre-assessment (10 minutes)
• Activity: List different ways to store
student records
• Think-Pair-Share: Discuss pros and cons of
each storage method
Participatory Learning
Trainer Activities Trainee Activities Learning
Aids/Materials
1. Explain data structure concepts (data, 1. Take notes on • Whiteboard/Projector
object, type, memory allocation) data structure
fundamentals
2. Demonstrate array declaration and 2. Practice array • C++ IDE on lab
initialization in C++ declaration and computers
initialization
3. Live-code array operations: insertion, 3. Implement array • Array operations
deletion, search, update operations in cheat sheet
paired
programming
4. Discuss array advantages (random access) 4. Analyze time • Complexity analysis
and limitations (fixed size) complexity of worksheet
array operations
5. Guide multi-dimensional array 5. Create and • Sample code: matrix
implementation manipulate 2D operations
arrays
Post-Assessment (40 minutes)
• Code Implementation: Write C++ functions
for array manipulations
• Debugging: Identify and fix array
operation errors
• Analysis: Calculate time complexity for
given operations
• Practical Exam: Implement complete
array-based program
Summary/Closure (10 minutes)
Review array strengths and limitations.
Introduce Linked Lists as solution to fixed-
size limitation.
SESSION PLAN: LINKED LISTS (WK 6-8)
Session Plan Title: Linked Lists Date:
Bridge-in (10 minutes)
Use train analogy where carriages are
connected sequentially. Discuss advantages
of dynamic connections over fixed arrays
when modifying data.
Learning Outcome:
By the end of the session, the trainee will be
able to:
1. Implement Singly, Doubly, and Circular
Linked Lists
2. Perform operations (insertion, deletion,
traversal, reverse)
3. Compare linked list types and their
applications
4. Analyze time complexity of operations
Pre-assessment (10 minutes)
• Activity: Diagram three connected boxes
as nodes
• Think-Pair-Share: Discuss array
limitations and dynamic structure benefits
Participatory Learning
Trainer Activities Trainee Activities Learning
Aids/Materials
1. Explain node structure and pointer 1. Take notes on • Whiteboard/Projector
concepts linked list types and
operations
2. Demonstrate Singly Linked List 2. Implement basic • C++ IDE on lab
implementation in C++ singly linked list computers
structure
3. Live-code insertion/deletion at head, tail, 3. Practice various • Linked list
and specific positions insertion and visualization tools
deletion operations
4. Implement Doubly and Circular Linked 4. Compare • Comparison table
Lists implementation template
differences between
types
5. Guide reverse operation and memory 5. Implement list • Memory
management reversal and proper management
memory deallocation guidelines
Post-Assessment (40 minutes)
• Diagramming: Draw list states after
operations
• Debugging: Fix memory leaks and
pointer errors
• Implementation: Complete linked list
program with all operations
• Analysis: Compare operation
complexities across list types
Summary/Closure (10 minutes)
Review linked list advantages for dynamic
data. Preview Stacks and Queues as
specialized list applications.