Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
4 views

Data Structures

Data notes
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Data Structures

Data notes
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Module Code: 553/23/M09

Module Title: DESIGN AND ANALYSIS OF ALGORITHMS


ZNQF Level: 5

Credits: 15
Duration: 150 hours
Relationship with Based on Unit Standard DESIGN AND ANALYSIS OF
Qualification ALGORITHMS of Qualification Standard for ICT
Standards: TECHNICIAN
Pre-requisite PROGRAMMING CONCEPTS
modules:

Purpose of Module: This module describes the skills, knowledge and attitudes required
by an ICT TECHNICIAN to apply data structures in software
development. This includes Apply program design tools, outline
object oriented programming (OOP) concepts, apply OOP
concepts using a specific language and solve business-oriented
programming problems. Advantages of implementing data
structures in software development include, providing reusability
and abstraction, saving a good amount of time while performing
operations such as storage, retrieval, or processing of data. Access
to this module is open to all target groups including unemployed
youths, women and men wishing to establish or improve SMEs in
the development and maintenance of software

List of Learning LO1: Apply object oriented design concepts


Outcomes: LO2: Solve programming problems using recursion
LO3: Determine efficiency of algorithms
LO4: Implement algorithms for sorting and searching in data
structures
LO5: Implement stack and queue data structures
LO6: Implement linked list data structures
LO7: Apply tree data structure in problem solving
LO8: Apply graph data structure in problem solving
Learning Outcome 01 APPLY OBJECT ORIENTED DESIGN CONCEPTS
Assessment Criteria: 1.1 Propose appropriate programming paradigm
1.2 Use OOP concepts
1.3 Classify algorithms
1.4 Classify data structures
Content: 1.1 Propose appropriate programming paradigm
 Define programming paradigm
 Explain types of programming paradigm
 Imperative Programming
 Object-Oriented Programming
 Functional Programming
 Event-Driven Programming.
 Distinguish between OOP and POP
1.2 Use OOP concepts
 Explain OOP concepts
 Encapsulation
 Polymorphism
 Inheritance
 Data abstraction
 Class and object
 Demonstrate use of OOP concepts in programming
1.3 Classify algorithms
 Define algorithm
 Outline characteristics of an algorithm
 Describe benefits of using algorithms
 Outline factors to consider when designing an
algorithm
 Explain types of algorithms
 Brute force
 Greedy
 Recursive
 Backtracking
 Divide and conquer
 Dynamic programming
1.4 Classify data structures
 Define data structure
 Outline the advantages of using data structures in
programming
 Distinguish between linear and non-linear data
structures
 Distinguish between static and dynamic data
structures
 Outline the major operations on data structures
Assessment Tasks: 1. Written and/or oral assessment on the skills and knowledge
required to apply object oriented design concepts as
outlined in the assessment criteria.
2. Practical assessment on application of object oriented
design concepts including the following: SHEQ
requirements, the consideration of computer laboratory
environmental factors which affect the planning, problem
solving, knowledge of development platform, knowledge
of software installation and teamwork based on the
performance criteria of the relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer
 Internet connection
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 02 SOLVE PROGRAMMING PROBLEMS USING


RECURSION
Assessment Criteria 2.1 Use recursion in programming
2.2 Write recursive functions
Content 2.1 Use recursion in programming
 Define recursion
 Distinguish between recursion and iteration
 Outline the types of recursion
 Critique the use of recursion in programming
 Explain the laws of recursion
2.2 Write recursive algorithms/functions (using C++)
 Factorial
 Towers of Hanoi
 Binary search
 Fibonacci sequence etc.
Assessment Tasks 1. Written and/or oral assessment on the skills and
knowledge required to apply recursion in data structures
and algorithms as outlined in the assessment criteria.
2. Practical assessment on application of recursion the
following: SHEQ requirements, the consideration of
computer laboratory environmental factors which affect
the planning, problem solving, knowledge of development
platform, knowledge of software installation and
teamwork based on the performance criteria of the
relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 03 ANALYSE ALGORITHMS


Assessment Criteria 3.1 Use Big Oh analysis
3.2 Calculate complexity of an algorithm
Content 1.1 Use Big Oh analysis
 Define algorithm complexity
 Explain the two (2) types of algorithm complexity
 Outline the need for algorithm analysis
 Describe algorithm complexities
 Best case
 Worst case
 Average case
1.2 Calculate complexity of an algorithm
 Outline the different algorithm time and space
complexities
Assessment Tasks 1. Written and/or oral assessment on the skills and
knowledge required to analyze algorithms as outlined in
the assessment criteria.
2. Practical assessment on analysis of algorithms including
the following: SHEQ requirements, the consideration of
computer laboratory environmental factors which affect
the planning, problem solving, knowledge of development
platform, knowledge of software installation and
teamwork based on the performance criteria of the
relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer with a C++ compiler
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 04 IMPLEMENT ALGORITHMS FOR SORTING AND


SEARCHING IN DATA STRUCTURES
Assessment Criteria 4.1 Develop searching algorithms
4.2 Develop sorting algorithms
Content 4.1 Develop searching algorithms
 Define searching
 Explain the need for searching algorithms
 Outline searching algorithms
 Linear search
 Binary search
 Compare searching algorithms
4.2 Develop sorting algorithms
 Define sorting
 Distinguish between in-place and not in-place sorting
 Explain stable and unstable sorting, adaptive and non-
adaptive sorting
 Describe sorting algorithms
 Bubble sort
 Selection sort
 Insertion sort
 Shell sort
 Merge sort
 Heap sort
 Compare sorting algorithms
Assessment Tasks 1. Written and/or oral assessment on the skills and
knowledge required to implement algorithms for sorting
and searching in data structures as outlined in the
assessment criteria.
2. Practical assessment on sorting and searching including
the following: SHEQ requirements, the consideration of
computer laboratory environmental factors which affect
the planning, problem solving, knowledge of development
platform, knowledge of software installation and
teamwork based on the performance criteria of the
relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 05 IMPLEMENT STACK AND QUEUE DATA


STRUCTURES
Assessment Criteria 5.1 Write algorithms to implement stacks
5.2 Write algorithms to implement queues
Content 5.1 Write algorithms to implement stacks
 Define stack
 Illustrate how to check whether a stack is empty of full
 Explain stack operations
 Push
 Pop
 Outline the applications of stacks
5.2 Write algorithms to implement queues
 Define queue
 Distinguish between stack and queue
 Illustrate how to check for empty or full queue
 Explain queue operations
 Enqueue
 Dequeue
 Explain circular queues and priority queues
 Outline the applications of queues
Assessment Tasks 1. Written and/or oral assessment on the skills and
knowledge required to implement stack and queue data
structures as outlined in the assessment criteria.
2. Practical assessment on implementation of stacks and
queues including the following: SHEQ requirements, the
consideration of computer laboratory environmental
factors which affect the planning, problem solving,
knowledge of development platform, knowledge of
software installation and teamwork based on the
performance criteria of the relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer with a C++ compiler
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 06 IMPLEMENT LINKED LIST DATA STRUCTURES


Assessment Criteria 6.1 Write programs to implement linked lists
Content 6.1 Write algorithms to implement linked lists
 Define linked list
 Distinguish between array based list and linked list
 Describe singly, doubly and circular lists
 Use algorithms to perform the following on linked
lists
 Create a linked list
 Insert into a linked list
 Traverse a linked list
 Search for nodes in a linked list
 Reverse a linked list
 Delete from a linked list
 Count the number of nodes in a linked list
 Traverse a linked list
Assessment Tasks 1. Written and/or oral assessment on the skills and
knowledge required to implement linked list data
structures as outlined in the assessment criteria.
2. Practical assessment on implementation of linked lists
including the following: SHEQ requirements, the
consideration of computer laboratory environmental
factors which affect the planning, problem solving,
knowledge of development platform, knowledge of
software installation and teamwork based on the
performance criteria of the relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer with a C++ compiler
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 07 APPLY TREE DATA STRUCTURE IN PROBLEM


SOLVING
Assessment Criteria 7.1 Declare tree data structure
7.2 Implement the tree data structure
Content 7.1 Declare tree data structure
 Define tree data structure
 Outline the properties of a tree data structure
 Explain different types of trees
7.2 Implement the tree data structure
 Outline binary tree operations
 Describe binary tree traversals
 Explain binary search trees
 Outline the applications of binary

Assessment Tasks 1. Written and/or oral assessment on the skills and


knowledge required to apply tree data structure in problem
solving as outlined in the assessment criteria.
2. Practical assessment on application of tree data structure
in problem solving including the following: SHEQ
requirements, the consideration of computer laboratory
environmental factors which affect the planning, problem
solving, knowledge of development platform, knowledge
of software installation and teamwork based on the
performance criteria of the relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer with a C++ compiler
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Learning Outcome 08 APPLY GRAPH DATA STRUCTURE IN PROBLEM


SOLVING
Assessment Criteria 8.1 Declare graph data structure
8.2 Illustrate graph data structure
8.3 Implement graphs
Content 8.1 Declare graph data structure
 Define graph data structure
 Outline the components of a graph data structure
 Explain the different types of graphs
8.2 Illustrate graph data structure
 Explain graph traversals (DFS, BFS)
 Describe graph representations (adjacency list,
adjacency matrix)
8.3 Implement graphs
 Describe the following
 Topological sort
 Minimum spanning trees (using Prim’s and
Kruskal’s algorithms)
 Shortest path algorithm (Djikstra’s algorithm)
 Transitive closure (Warshall’s algorithm)
Assessment Tasks 1. Written and/or oral assessment on the skills and
knowledge required to apply graph data structure in
problem solving as outlined in the assessment criteria.
2. Practical assessment on application of graph data
structures including the following: SHEQ requirements,
the consideration of computer laboratory environmental
factors, which affect the planning, problem solving,
knowledge of development platform, knowledge of
software installation and teamwork based on the
performance criteria of the relevant unit standard.
Conditions/Context of 1. Written and/or oral assessment can be conducted in a
assessment classroom environment. Oral assessment can also be
conducted by the assessor during the performance of the
practical assessment by the trainees.
2. The practical assessment will be conducted in the
workplace or simulated work environment in the training
institution.
3. The context of assessment should include the facilities,
tools, equipment and materials listed below.
 Computer with a C++ compiler
 Program design software
 Internet connectivity
 Interactive board
 Storage devices
 Networking devices.

Approach to Teaching and Learning:


1. Observation of adult learning principles.
2. Both institution-based and work-based learning to facilitate the integration of theory and
practice.
3. Face-to-face education and learning.
4. Problem-based learning.
5. Online/distance education and learning.
6. Blended/hybrid education and learning.
7. Use of social media.
Approach to Assessment:
1. Weighting of practical and theory assessment: 60% theory and 40% practical.

You might also like