Data Structure and Algorithm
Cấu trúc dữ liệu và giải thuật
Course description
Provides students with basic knowledge of algorithm analysis and design based on corresponding data structures. Data structures include linear (arrays, lists, queues, stacks) and nonlinear (trees, graphs, hash tables) structures. Basic algorithm construction techniques such as recursion, divide and conquer, basic sorting and search algorithms. After completing this module, students are able to install and use basic data structures, design, install and apply algorithms, including using data structures to develop practical applications. Moreover, the course also provides students with teamwork skills, presentation skills, and the attitudes necessary to work in a company in the future.
Tiếng Việt
Cung cấp cho sinh viên các kiến thức cơ bản về phân tích và thiết kế giải thuật dựa trên cấu trúc dữ liệu tương ứng. Các cấu trúc dữ liệu bao gồm các cấu trúc tuyến tính (mảng, danh sách, hàng đợi, ngăn xếp) và phi tuyến (cây, đồ thị, bảng băm). Các kỹ thuật xây dựng thuật toán cơ bản như đệ qui, chia để trị, các giải thuật sắp xếp, tìm kiếm cơ bản. Sau khi hoàn thành học phần này, sinh viên có khả năng cài đặt và sử dụng các cấu trúc dữ liệu cơ bản, thiết kế và cài đặt và ứng dụng các thuật toán trong đó có sử dụng các cấu trúc dữ liệu để phát triển các ứng dụng trong thực tiễn. Ngoài ra môn học cũng cung cấp cho sinh viên các kỹ năng làm việc nhóm, báo cáo, thuyết trình. Ngoài ra môn học cũng cung cấp cho sinh viên các kỹ năng làm việc nhóm, thuyết trình và thái độ cần thiết để làm việc trong công ty sau này.
Course Learning Outcomes (CLOs) 4
Click each outcome to see the translation, mapped PLOs and contribution level.
-
CLO1 Analyze and evaluate algorithm complexity (time, space); describe design strategies and the relationship between data structures and algorithms.
Phân tích và đánh giá được độ phức tạp của giải thuật (thời gian, không gian); mô tả được các chiến lược thiết kế và mối quan hệ giữa cấu trúc dữ liệu và giải thuật.
PLO 01 R -
CLO2 Proficiently implement and use linear data structures (arrays, lists, stacks, queues) and non-linear structures (trees, graphs, hash tables) to organize data optimally for applications.
Cài đặt và sử dụng thành thạo các cấu trúc dữ liệu tuyến tính (mảng, danh sách, ngăn xếp, hàng đợi) và phi tuyến (cây, đồ thị, bảng băm) để tổ chức dữ liệu tối ưu cho ứng dụng.
PLO 03 R -
CLO3 Apply techniques of recursion, divide and conquer, and searching/sorting algorithms to solve practical problems in software development.
Vận dụng các kỹ thuật đệ quy, chia để trị và các giải thuật tìm kiếm, sắp xếp để giải quyết các bài toán thực tế trong phát triển phần mềm.
PLO 03 R -
CLO4 Demonstrate honesty, responsibility, and adherence to professional ethics in developing and optimizing data processing algorithms scientifically.
Thể hiện tính trung thực, trách nhiệm và ý thức tuân thủ đạo đức nghề nghiệp trong việc tối ưu hóa thuật toán và xử lý dữ liệu một cách khoa học.
PLO 10 R
Assessment
| Component | Weight | Timing |
|---|---|---|
| Tham gia trên lớp | 10.0% | Class participation |
| Bài tập trên lớp và về nhà | 30.0% | In-class exercises and homework |
| Thi cuối kỳ | 60.0% | Final examination |