Professional Documents
Culture Documents
CSD203 Syllabus
CSD203 Syllabus
Subject Code:
NoCredit:
Degree Level:
Time Allocation:
Pre-Requisite:
Description:
StudentTasks:
Tools:
Scoring Scale:
Note:
Completion Criteria:
MinAvgMarkToPass:
CLO Name
CLO1
CLO2
CLO3
CLO4
CLO5
CLO6
CLO7
CLO8
Data Structures and Algorithm with Python_Cấu trúc dữ liệu và giải thuật với Python
CSD203
3
Bachelor
Contact time: 30 sessions; 1 session = 90'
Lectures: 15
Tutorials/Lab: 15
Python Fundamental Programming, Computer Achitecture
The course provides an introduction to data structures and algorithms, including their design, analysis,
and implementation. In the main portion of the course, it presents fundamental data structures and
-algorithms such attend
Students must as: List,more
Stacks, Queues,
than 80% ofTrees, Hash
contact Tables,
slots graph
in order andaccepted
to be Text Processing.
to the final
examination.
- Student is responsible to do all exercises, assignments and labs given by instructor in class or at
home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the FU LMS at http://lms.fpt.edu.vn for up-to-date course information
- Thonny
- PyCharm
- Visual Studio Code
10
1) On-going Assessment
- 2 Assignments: 20%
- At least 2 progress tests: 20%
- 1 Practical Exam (PE) 30%
2) 1 Final Exam: 30%
3) Final Result 100%
CLO Details
LO1. Describe the list data structure and its’ different way of implementations. Implement the singly
linked list.
LO2. Define stack and queue. Describe basic operations and the use of these structures.
LO3. Describe about recursive definitions, algorithms, functions and their implementation and use.
LO4. Explain about general tree, Binary Tree and Binary Search Tree (BST). Implement BST with basic
operations.
LO5. Discuss about graphs and their application. Implement a graph with some basic operations.
LO6 Explain the operation and performance of some basic and advanced sorting alggorithms
LO7 Explain about hashing and application.
LO8 Describe the Text Processing problem and its’ application. Explain the Huffman, LZW and Run-
length encoding Algorithms.
Category Weight Completion Criteria Duration Question Type
Assignment 1 10.00% >0 45 Written test questions
Assignment 2 10.00% >0 45' Written test questions
Practical exam 30.00% >0 60' Written test questions
Instruction and shedules for Progress tests must be presented in the Course
Implementation Plan approved by director of the campus.
Progress test must be taken right after the last lectures of required material.
Instructor has resposibility to review the test for students after graded.
Instruction and shedules for Progress tests must be presented in the Course
Implementation Plan approved by director of the campus.
Progress test must be taken right after the last lectures of required material.
Instructor has resposibility to review the test for students after graded.
The exam questions must be updated or different at least 70% to the previous ones.
SessionNo Topic LO
1 Course Introduction CLO 1
1.1. Using Arrays
1.2. Singly Linked Lists
1.3. Circularly Linked Lists
1.4. Doubly Linked Lists
2 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
3 2.1 Stacks CLO 2
Guiding Exercises/Assignment
4 2.2 Queues
2.3 Double-Ended Queues (Deque)
2.4 The Priority Queue
5 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
6 3.1 Illustrative Examples CLO 3
3.1.1 The Factorial Function
3.1.2 Binary Search
3.1.3 File Systems
3.2 Analyzing Recursive Algorithms
3.3 Further Examples of Recursion
3.3.1 Linear Recursion
3.3.2 Binary Recursion
3.3.3 Multiple Recursion
3.4 Designing Recursive Algorithms
3.5 Eliminating Tail Recursion
7 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
8 4.1 General Trees CLO 4
4.1.1 Tree Definitions and Properties
4.1.2 The Tree Abstract Data Type
4.2 Binary Trees - . 317
4.2.1 The Binary Tree Abstract Data Type
4.2.2 Properties of Binary Trees
4.3 Implementing Trees
4.4 Tree Traversal Algorithms
9 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
10 4.5 Binary Search Trees
4.5.1 Searching Within a Binary Search Tree
4.5.2 Insertions and Deletions
11 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
12 4.6 Balanced Search Trees
4.7 AVL Trees
4.8 Heaps
13 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
14 Progress test 1 and review