0% found this document useful (0 votes)
18 views7 pages

IT003 Eng

Uploaded by

22520759
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views7 pages

IT003 Eng

Uploaded by

22520759
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

SYLLABUS

IT003_ DATA STRUCTURES AND ALGORITHMS

2. COURSE DESCRIPTION

a. This subject helps students understand the importance of algorithms and data
organization, which are the two most important elements for a program. Mastering and
applying algorithms, data structures are often applied in solving computer science
problems. It helps reinforce and develop programming skills learned in previous subjects.

b. For talented program: the content is expanded with more complex data structures and
algorithms with higher complexity, requiring and evaluating higher-level learning
outcomes.

3. COURSE GOALS AND COURSE LEARNING OUTCOMES

3.1. COURSE GOALS

3.1.1. General goal: Equipping learners with basic knowledge of algorithms and data
structures in computer science.

3.1.2. Specific goals

No. Course Goal


CG1 Understand and master basic data structures and algorithms.
CG2 Apply data structures and algorithms to solve basic problems in computer
science.
CG3 Utilize some software tools for support.
CG4 Develop awareness in referencing and citing reference materials, sample
code snippets, etc.

3.2. COURSE LEARNING OUTCOMES


No. Course Learning Outcome
CLO1 Understand some data structures such as linked lists, stacks, queues,
binary trees, binary search trees, B-trees, hash tables, graphs, as well as
sorting and searching algorithms on data.
CLO2 Know how to implement basic data structures, algorithms to solve some
simple computer science problems.
CLO3 Use some software tools for support.
CLO4 Develop awareness in referencing and citing reference materials, sample
code snippets.

5. COURSE CONTENT, LESSON PLAN

a. Theory

Session Content Outcome


(3 periods)
1 Chapter 1. Overview of Algorithms and Data Structures CLO1,
CLO2
1.1 Concepts and roles of data structures in a computer
project
1.2 Evaluation standards for data structures
1.3 Algorithmic concepts, algorithm representation
1.4 Algorithm complexity
1.5 Some examples of Data Structures & Algorithms
1.6 Introduction to some algorithm design strategies
1.6.1 Backtracking
1.6.2 Branch and Bound
1.6.3 Divide and Conquer
1.6.4 Dynamic Programming
1.6.5 Greedy
1.7 Chapter exercises
2 Chapter 2. Searching and Sorting CLO1,
CLO2
2.1. Vector data structure
2.2 Problem definition of search
2.3 Search algorithms:
2.3.1 Linear search
2.3.2 Improved linear search
2.3.3 Binary search
3 2.4. Sorting Algorithms: CLO1,
CLO2
2.4.1 Definition of the sorting problem
2.4.2 Sorting classification:
- Online vs. Offline sorting
- Stable vs. Unstable sorting
- Internal vs. External sorting
2.4.3 Sorting algorithms:
- Selection sort
- Insertion sort
- Counting sort (introduction)
- Radix sort (introduction)
4 2.5 Sorting Algorithms (continued): CLO1,
CLO2
2.5.1 Heap sort
2.5.2 Quick sort
2.5.3 Merge sort
2.6 Priority queue data structure (using heap)
2.7 Chapter exercises
5 Chapter 3. List, Stack, Queue CLO1,
CLO2
3.1 Concepts and roles of dynamic data structures
3.2 Pointer data type
3.3 Linked lists, forms of organizing lists
3.4 Single linked list
3.4.1 Organization of single linked lists
3.4.2 Operations on single linked lists
3.5 Examples of problems applying linked list data structure
3.6 Double linked list (introduction)
3.7 List organization (introduction)
3.8 Operations on double linked lists (introduction)
3.9 Exercises
6 Chapter 3 (continued) CLO1,
3.10 Stack CLO2
3.10.1 Concepts
3.10.2 Operations on stacks
3.10.3 Using the stack library
3.10.4 Illustrated examples
3.10.5 Exercises
3.11 Queue
3.11.1 Concepts
3.11.2 Operations on queues
3.11.3 Using the queue library
3.11.4 Illustrated examples
3.11.5 Exercises
3.12 Applications of stacks and queues
3.12.1 Tower of Hanoi problem
3.12.2 Arithmetic expression evaluation
3.13 Chapter exercises
7, 8 Chapter 4. Tree CLO1,
4.1 Tree Structure CLO2
4.1.1 Concepts of Tree
4.1.2 Properties of trees
4.1.3 Examples of tree-like structures
4.2 Binary Tree
4.2.1 Binary tree concept
4.2.2 Properties of binary trees
4.2.3 Representation of binary trees: array, linked
4.2.4 Traversal of binary trees
4.3 General Tree
4.3.1 N-ary tree
4.3.2 Representation of general trees
4.4 Binary Search Tree
4.4.1 Concept
4.4.2 Operations on trees
4.4.3 Examples
4.5 Exercises
4.6 Red-Black Tree (introduction)
4.7 Set, Map libraries
9 4.6 Other Tree Structures CLO1,
4.7 B-tree CLO2
4.8 Operations on B-trees
10 Chapter 5: Hash Table CLO1,
5.1 Concepts of hash table, hash function CLO2
5.2 Types of hash functions
5.3 Collision resolution methods
5.4 Comparison of collision resolution methods
5.5 Illustrated examples
5.6 Implementation using libraries (C++)
5.7 Chapter exercises
11, 12, 13 Chapter 6: Graph CLO1,
CLO2
6.1 Concepts of Graph
6.1.1 Definition
6.1.2 Types of Graphs
6.1.3 Concepts of Path, Cycle, Connectivity
6.2 Representing Graphs in Computers
6.3 Graph Traversal Algorithms:
6.3.1 Breadth-First Search (BFS)
6.3.2 Depth-First Search (DFS)
6.4 Some Problems on Graphs:
- Shortest Path Problem
- Connectivity Problem
- Coloring Problem
- Convex Hull Problem
6.5 Shortest Path Algorithm
6.6 Minimum Spanning Tree Algorithm
6.7 Chapter Exercises
14, 15 Final Review Exercises CLO1,
CLO2
Comprehensive Review

b. Practice:

Session Content Outcome


1 Practice Exercise 1: CLO3,
1. Guide to using the STL library CLO4
2. Practical exercise using search algorithms:
- Linear search
- Binary search
Using the programming language as specified by the course
2 Practice Exercise 2: CLO3,
Write a program to implement the following sorting CLO4
algorithms:
- Selection sort
- Insertion sort
- Merge sort
- Quick sort
Using the programming language as specified by the course
3 Practice Exercise 3: CLO3,
Practical exercise using the following data structures: CLO4
- Linked list
- Stack, Queue
Using the programming language as specified by the course
4 Practice Exercise 4: CLO3,
Write a program to implement a binary search tree and CLO4
operations on the binary search tree.
Using the programming language as specified by the course.
5 Practice Exercise 5: CLO3,
Practical exercise using the hash table data structure. CLO4
Using the programming language as specified by the course.
6 Practice Exercise 6: CLO3,
Practical exercise using the graph data structure. CLO4
Using the programming language as specified by the course.

You might also like