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

  1. M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Data Structures and Algorithms in Python, John Wiley & Sons, 2013.
  2. A. Bhargava, Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People, Manning Publications, 2016.
  3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 3rd Ed., MIT Press, 2009.

5. Specific course information

  1. 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.
  2. prerequisites or co-requisites
    010123102-64 Programming Fundamentals
  3. 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

  1. specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
    1. CLO1 The student will be able to analyze an algorithm’s performance by determining its order of complexity using Big-O notation.
    2. 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.
    3. CLO3 The student will be able to implement recursive solutions for algorithmic problems, understanding base cases and recursion in Python.
    4. CLO4 The student will be able to analyze the space/time trade-offs among arrays, linked lists, stacks, and queues.
    5. CLO5 The student will be able to analyze and compare the efficiency of sequential search and binary search algorithms.
    6. CLO6 The student will be able to analyze and implement sorting algorithms including selection sort, bubble sort, merge sort, quick sort, and insertion sort.
    7. CLO7 The student will be able to implement tree data structures using Python classes and references.
    8. CLO8 The student will be able to analyze the performance of operations on binary search trees and heaps.
    9. CLO9 The student will be able to implement the map abstract data type using hashing.
    10. CLO10 The student will be able to analyze the performance of fundamental graph operations.
  2. 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

หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม