Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1of 11

Syllabus Name:

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%

1) Every on-going assessment component > 0


2) Practical Exam > 0
3) Final Exam Score >= 4 & Final Result >= 5

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

Progress test 1 10.00% >0 10'-30' Multiple choices


Marked by Computer or a suitable format

Progress test 2 10.00% >0 10'-30' Multiple choices


Marked by Computer or a suitable format

Final exam 30.00% 4 60' Multiple choices


Marked by Computer
No Question Knowledge and Skill Grading Guide
2 - cover content 1,2,3,4 in class, by instructor
2 - cover content 5,6,7,8 in class, by instructor
2 - cover content 1,2,3,4,5,6,7 by exam board, using
computer
30 - cover content 1,2,3,4 in class, by instructor

30 - cover content 5,6,7,8 in class, by instructor

50 concepts, algorithms; by exam board, using


all studied chapters computer
Note
Instructor has resposibility to review the test for students after graded.
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.

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

15 5.1 Graphs CLO 5


5.2 Data Structures for Graphs
5.2.1 Edge List Structure
5.2.2 Adjacency List Structure
5.2.3 Adjacency Matrix Structure
5.3 Graph Traversals
5.3.1 Depth-First Search
5.3.3 Breadth-First Search
16 Progress test and/or Assignment
Review Exercises
Guiding Exercises/Assignment
17 5.4 Shortest Paths
5.4.1 Weighted Graphs
5.4.2 Dijkstra’s Algorithm
18 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
19 5.5 Minimum Spanning Trees
5.5.1 Prim-Jarn´ık Algorithm
5.5.2 Kruskal’s Algorithm
5.6. Euler's tour and Euler's cycle
20 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
21 6.1 Selection-Sort CLO 6
6.2 Insertion-Sort
6.3 Bubble-sort
6.4 Quick-Sort
22 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
23 6.5 Merge-Sort
6.6 Heap-Sort
6.7 Linear-Time Sorting: Bucket-Sort and Radix-Sort
6.8 Comparing Sorting Algorithms
24 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
25 7.1 Hash Tables CLO 7
7.2 Hash Functions
7.3 Collision-Handling
7.4 Load Factors, Rehashing, and Efficiency
7.5 Python Hash Table Implementation
26 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
27 8.1 Abundance of Digitized Text CLO 8
8.2 Pattern-Matching Algorithms
8.2.1 Brute Force
8.2.2 The Knuth-Morris-Pratt Algorithm
8.3 Text Compression
8.3.1 The Huffman Coding Algorithm
8.3.2 The LZW Algorithm
8.3.3 The Run-length Encoding Algorithm
28 Progress test and/or
Review Exercises
Guiding Exercises/Assignment
29 Course review
Practical Exam
30 Progress test 2 and review
StudentMaterials Activity
- Slides: Chapter 1 Read Chapter 1,5,7
- Text book:
+ Chapter 5 page 184 - 224
+ Chapter 7 page 256 - 275

slide chapter 1, 5, 7 Review Chapter 1, 5, 7


Lab 1: Lab1_st (.docx file) Do Lab 1

- Slides: Chapter 6 Read Chapter 6


- Text book: Chapter 6 page 228-238 Do Lab 2
- Slides: Chapter 6 Read Chapter 6
- Text book: Chapter 6 page 239-250 Do Lab 2

- Slides: Chapter 6 Read Chapter 6


- Textbook Do Lab 2
- Lab 2: Lab2 (.docx file)
- Slides: Chapter 4 Read Chapter 4
- Text book: Chapter 4 page 148 - 180

Lab 3: Lab3 (.docx file) Do Lab 3

- Slides: Chapter 8 Read Chapter 8


- Text book: Chapter 8 page 300 - 310

Lab 4: Lab4 (.docx file) Review Chapter 8


- Text book: Chapter 8 page 300 - 310 Do Lab 4

- Slides: Chapter 11 Read Chapter 11


- Text book: Chapter 11 page 460 - 473

- slide chapter 11 Review Chapter 11


- Lab 4: Lab4 (.docx file) Do Lab 4
- Text book: Chapter 11 page 460 - 473
- Slides: Chapter 11, 9 Read Chapter 9,11
- Chapter 11 page 475 - 488
- Chapter 9 page 370 - 384
- Lab 4: Lab4 (.docx file) Do Lab 4

- Content 1 - 4 Review Content 1 - 4


- Text book Do Progress test 1
- Progress test 1
- Slides: Chapter 14 Read Chapter 14
- Text book: Chapter 14 page 620 - 648

- slide chapter 14 Review Chapter 14


- Lab 5: Lab5 (.docx file) Do Lab 5
- Assignment 1 Do Assignment 1
- Slides: Chapter 14 Read Chapter 14
- Text book: Chapter 14 page 659 - 669

- slide chapter 14 Review Chapter 14


- Lab 5: Lab5 (.docx file) Do Lab 5

- Slides: Chapter 14 Read Chapter 14


- Text book: Chapter 14 page 670 - 685

- slide chapter 14 Review Chapter 14


- Lab 5: Lab5 (.docx file) Do Lab 5

- Slides: Chapter 9, 12 Read Chapter 9, 12


- Text book:
+ Chapter 9 page 385 -386
+ Chapter 12 page 550 - 559
Slide: Chapter 9, 12 Review Chapter 9, 12
Lab 6: Lab6 (.docx file) Do Lab 6

- Slides: Chapter 9, 12 Read Chapter 9, 12


- Text book:
+ Chapter 9 page 370 -388
+ Chapter 12 page 538 - 547
Slide: Chapter 9, 12 Review Chapter 9, 12
Lab 6: Lab6 (.docx file) Do Lab 6

- Slides: Chapter 10 Read Chapter 10


- Text book: Chapter 10 page 410 - 422
Lab 7: Lab7 (.docx file) Do Lab 7

- Slides: Chapter 13 Read Chapter 13


- Text book: Chapter 13 page 581 -612

Slide: Chapter 13 Review Chapter 13


Lab 8: Lab 8 (.docx file) Do Lab 8

Review the course Review the course


- Assignment 2 - Do Assignment 2
Content 5 - 8 Review the course
Text book Do Progress test 2
Progress test 2

You might also like