Course syllabus
010123103-64 ขั้นตอนวิธีและโครงสร้างข้อมูล (Algorithms and Data Structures)
Course Syllabus
Data entry : Dr.Pruk Sasithong
1. Course number and name
010123103-64 ขั้นตอนวิธีและโครงสร้างข้อมูล (Algorithms and Data Structures)
2. Credits and contact hours
3(2-2-5)
3. Instructor’s or course coordinator’s name
Dr.Pruk Sasithong
4. Text book, title, author, and year
- M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Data Structures and Algorithms in Python, John Wiley & Sons, 2013.
- A. Bhargava, Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People, Manning Publications, 2016.
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 3rd Ed., MIT Press, 2009.
5. Specific course information
- brief description of the content of the course (catalog description)
Algorithm analysis; recursion; array; linked lists; stacks and queues; sorting and searching; tree; hashing; heap; graph. - prerequisites or co-requisites
010123102-64 Programming Fundamentals - indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
Required : A required course in the program.
6. Specific goals for the course
- specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
- CLO1 The student will be able to analyze an algorithm’s performance by determining its order of complexity using Big-O notation.
- CLO2 The student will be able to benchmark and compare the performance of algorithms by measuring execution time and instruction counts with various input data sets.
- CLO3 The student will be able to implement recursive solutions for algorithmic problems, understanding base cases and recursion in Python.
- CLO4 The student will be able to analyze the space/time trade-offs among arrays, linked lists, stacks, and queues.
- CLO5 The student will be able to analyze and compare the efficiency of sequential search and binary search algorithms.
- CLO6 The student will be able to analyze and implement sorting algorithms including selection sort, bubble sort, merge sort, quick sort, and insertion sort.
- CLO7 The student will be able to implement tree data structures using Python classes and references.
- CLO8 The student will be able to analyze the performance of operations on binary search trees and heaps.
- CLO9 The student will be able to implement the map abstract data type using hashing.
- CLO10 The student will be able to analyze the performance of fundamental graph operations.
- explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course.
ABET Student Outcome (SO) Listed in Criterion 3 Course learning outcome (CLO) PO1 : ความรู้ทางด้านวิศวกรรม และพื้นฐานทางด้านคณิตศาสตร์ และวิทยาศาสตร์ สามารถประยุกต์ความรู้ทางด้านคณิตศาสตร์ วิทยาศาสตร์ วิทยาการคำนวณ พื้นฐานทางด้านวิศวกรรม และความรู้เฉพาะทางวิศวกรรมเพื่อกำหนดกรอบความคิดในการแก้ปัญหาวิศวกรรม รวมทั้งการพัฒนาแบบจำลองทางคณิตศาสตร์และวิศวกรรม หรือ ให้นิยาม รวมทั้งประยุกต์วิธีการ กระบวนงาน กระบวนการ หรือระบบงานทางวิศวกรรมในการทำงานได้ - CLO1 The student will be able to analyze an algorithm’s performance by determining its order of complexity using Big-O notation.
- CLO2 The student will be able to benchmark and compare the performance of algorithms by measuring execution time and instruction counts with various input data sets.
- CLO3 The student will be able to implement recursive solutions for algorithmic problems, understanding base cases and recursion in Python.
- CLO4 The student will be able to analyze the space/time trade-offs among arrays, linked lists, stacks, and queues.
- CLO5 The student will be able to analyze and compare the efficiency of sequential search and binary search algorithms.
- CLO6 The student will be able to analyze and implement sorting algorithms including selection sort, bubble sort, merge sort, quick sort, and insertion sort.
- CLO7 The student will be able to implement tree data structures using Python classes and references.
- CLO8 The student will be able to analyze the performance of operations on binary search trees and heaps.
- CLO9 The student will be able to implement the map abstract data type using hashing.
- CLO10 The student will be able to analyze the performance of fundamental graph operations.
7. Brief list of topics to be covered
| Week | Topic | Details | Activities |
|---|---|---|---|
| 1 | Introduction | ||
| 2 | Algorithm analysis and complexity | ||
| 3 | Recursion | ||
| 4 | Array-based sequences | ||
| 5 | Stacks, Queues and Dequeues | ||
| 6 | Linked Lists | ||
| 7 | Trees | ||
| 8 | Priority queues and Heaps | ||
| 9 | Maps and Hash tables | ||
| 10 | Search Trees | ||
| 11 | Sorting | ||
| 12 | Graphs |
8. Course Assessment
| Course assessment | Weight score (%) | Assessment tools | Date |
|---|---|---|---|
| Assignment | 45 | assignment | 27 Nov 2025 - 06 Mar 2026 |
| Mini-Project | 20 | Mini-Project | 20 Feb 2026 - 27 Mar 2026 |
| Final examination | 35 | final examination | 24 Mar 2026 |
หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม