Course syllabus
010153523-68 อัลกอริทึมและโครงสร้างข้อมูล (Algorithms and Data Structures)
Course Syllabus
Data entry : Asst.Prof. Dr.Ruslee Sutthaweekul
1. Course number and name
010153523-68 อัลกอริทึมและโครงสร้างข้อมูล (Algorithms and Data Structures)
2. Credits and contact hours
3(3-0-6)
3. Instructor’s or course coordinator’s name
Asst.Prof. Dr.Ruslee Sutthaweekul
4. Text book, title, author, and year
- Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. Data Structures and Algorithms in Java, 6th Edition. John Wiley & Sons, 2014.
5. Specific course information
- brief description of the content of the course (catalog description)
This course requires students to understand basic data structures for computer programming development, including lists, stacks, queues, and trees; core algorithmic techniques for sorting, searching, and hashing; and the use of recursion. Students will learn to select and apply appropriate data structures and algorithms to solve specific programming problems. - prerequisites or co-requisites
010153002-68 Computer Programming - indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
Required :
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 Demonstrate a good understanding of linear data structures, including arrays, linked lists, stacks, and queues.
- CLO2 Implement abstract data types effectively.
- CLO3 Understand non-linear data structures, including trees and graphs.
- CLO4 Select and use appropriate data structures to solve specific problems.
- CLO5 Understand and implement sorting, searching, and hashing algorithms.
- CLO6 Choose and apply appropriate algorithms to solve specific problems.
- 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) SO1 an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics. - CLO1 Demonstrate a good understanding of linear data structures, including arrays, linked lists, stacks, and queues.
- CLO2 Implement abstract data types effectively.
- CLO3 Understand non-linear data structures, including trees and graphs.
- CLO4 Select and use appropriate data structures to solve specific problems.
- CLO5 Understand and implement sorting, searching, and hashing algorithms.
- CLO6 Choose and apply appropriate algorithms to solve specific problems.
SO2 an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors. - CLO4 Select and use appropriate data structures to solve specific problems.
- CLO6 Choose and apply appropriate algorithms to solve specific problems.
7. Brief list of topics to be covered
| Week | Topic | Details | Activities |
|---|---|---|---|
| 1 | Introduction to Algorithms & Data Structures; Programming Review | ||
| 2 | Java & Object-Oriented Design | ||
| 3 | Algorithm Analysis (Big-O, Big-Ω, Big-Θ) | ||
| 4 | Array Lists | ||
| 5 | Singly Linked Lists | ||
| 6 | Doubly Linked Lists | ||
| 7 | Stacks & Queues | ||
| 8 | Recursion | ||
| 9 | Trees & Binary Trees | ||
| 10 | Graphs | ||
| 11 | Sorting Algorithms (Merge Sort, Quick Sort, Heap Sort) | ||
| 12 | Searching Algorithms (Linear, Binary) | ||
| 13 | Hashing (Hash Tables, Collision Resolution) |
8. Course Assessment
| Course assessment | Weight score (%) | Assessment tools | Date |
|---|---|---|---|
| Assignments | 20 | quiz, assignment | |
| Midterm Examination | 30 | midterm examination | |
| Final Examination | 50 | final examination |
The grading table
| Grading | Rank |
|---|---|
| >= 80% | A |
| 75% - 79.99% | B+ |
| 70% - 74.99% | B |
| 60% - 69.99% | C+ |
| 50% - 59.99% | C |
| 46% - 49.99% | D+ |
| 40% - 44.99% | D |
| 0% - 39.99% | F |
หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม