You are on page 1of 4

Course Syllabus

Program Computer Science School of Information Technology Course Code 1302204 Course Name Data Structures and Algorithms Credit 3 (2-2-5) Abbreviation Prerequisite Type of Course Major for program Information Technology Computer Science Computer Engineering Information and Communication Engineering Instructor Aj. Dr.Luck Charoenwatana (CO) Aj. Surapol Vorapatratorn Evaluation [ ] Grade ( A , B+ , B , C+ , C , D+, D, F ) [ ] S or U Course Description Scope of Design and Logical Data Structure; Stacks; Queues; Link List; Tree and Graph; Structure Control Algorithm; Basic Analytical Methods for Searching and Sorting Algorithms. Course Objectives After completing the course student should be able to 1. Understand the concepts of data structures and their algorithms. 2. Understand the concepts of the sorting and searching techniques. 3. Create an idea of the uses of the data structures and the techniques of sorting and searching. Course Content Week 1 2 3 No.of Hours 2 2 2 Topic Introduction to Data Structures Algorithm & Big O Notation Arrays Lists Brief Content Overview Types of Data Structures Concept of the terms Algorithm Complex Big O analysis The Type of array The problem of array The uses and application of array Linear list Linear Linked list Circular list Double Linked list The uses and the applications of lists Characteristics of Recursion Case Studies: Factorial and Fibonacci Number, The Towers of Hanoi Stack Definition LIFO and Stack operations Infix, Prefix and Postfix The application of stack Queue Definition FIFO Enqueue and Dequeue The application of queue Binary Tree, Strictly Binary Tree Binary Search Tree AVL Tree, B-Tree The uses and the applications of Tree Date Sec2 29/10/12 Sec1,3 30/10/12 Sec2 5/11/12 Sec1,3 6/11/12

Sec2 12/11/12 Sec1,3 13/11/12

Recursion Stacks Queues

5 6

2 2

Simple Trees Advance Trees

Sec2 19/11/12 Sec1,3 20/11/12

Sec2 26/11/12 Sec1,3 27/12/12 Sec2 3/12/12 Sec1,3 4/12/12

Week 7 8 9 10 11

No.of Hours 2

Topic Searching

Brief Content

Date Sec2 17/12/12 Sec1,3 18/12/12 28/12/12 Sec2 7/1/13 Sec1,3 8/1/13 Sec2 14/1/13 Sec1,3 15/1/13 Sec2 21/1/13 Sec1,3 22/1/13

2 2 2

12

13 14 15 16 Laboratory Week 1

2 2 2

- Sequential Searches - Tree Search - Hashing Midterm Exam Hash Table - Direct-address table - Hash Table - Hash Function Simple Sorting - Bubble Sort - Insertion Sort Advanced Sorting - Selection Sort - Quick Sort - Merge Sort - Redix Sort Graph - Graph Definition - Topological Sort - Shortest Path Algorithm - Problem of graph - Types of Graph Dijkstras Algorithm - Dijkstras Algorithm Minimum Spanning Tree - Prims Algorithm - Kruskals Algorithm

Sec2 28/1/13 Sec1,3 29/1/13 Sec2 4/2/13 Sec1,3 5/2/13 Sec2 11/2/13 Sec1,3 12/2/13 Sec2 18/2/13 Sec1,3 19/2/13 22/2/13

Review for Final Exam Final Exam

No.of Hours 2

Topic Linux & Running Python

Brief Content - Introduction to Linux and Python commands and tools. - List, make, and change directory using linux command line. - Install Python3 on Linux using aptget command - Write a Python program on Linux text editor -- gedit. - Compile the Python program on Linux command line. - Review the concept of the terms Algorithm and Big O analysis - Learn basic Python programming - Practice on algorithm analysis computation. - Write a program and analyze its complexity - Review the concept of the Big O - Perform Big O analysis in complexed codes - Write a program and give Big O analysis - Understand how to create and use function in Python - Use the built-in List of Python - Understand how to create Class and Object in Python - Implementing Linked List - Use the built-in List of Python - Create Singly Link List

Date

Sec2 29/10/12 Sec1,3 30/10/12

Algorithm & Big O

Sec2 5/11/12 Sec1,3 6/11/12

Advanced Big O Analysis

Sec2 12/11/12 Sec1,3 13/11/12

Functions, Class, List

Sec2 19/11/12 Sec1,3 20/11/12 Sec2 26/11/12 Sec1,3 27/12/12

Singly Linked-List

Week 6

No.of Hours 2

Topic Stack

Brief Content - Review concepts of Stack - Use the built-in List to create Stack - Create Infix Stack for number operations - Review concepts of Queue - Use the built-in List to create Queue - Create Infix Stack for number operations Midterm Exam - Review concepts of Sequential and Binary Search - Create a Binary Search Function - Create a Sequential Search Function and compare with Binary Search. - Review concepts of Bubble Sort - Create and Run Bubble Sort Function - Review concepts of Insertion Sort - Create and Run Insertion Sort Function - Review concepts of Merge Sort - Create and Run Merge Sort Function - Review concepts of Quick Sort - Create and Run Quick Sort Function - Review concepts of Radix Sort - Create and Run Radix Sort Function Lab Testing Final Exam

Date Sec2 3/12/12 Sec1,3 4/12/12 Sec2 17/12/12 Sec1,3 18/12/12 28/12/12 Sec2 7/1/13 Sec1,3 8/1/13 Sec2 14/1/13 Sec1,3 15/1/13 Sec2 21/1/13 Sec1,3 22/1/13 Sec2 28/1/13 Sec1,3 29/1/13 Sec2 4/2/13 Sec1,3 5/2/13 Sec2 11/2/13 Sec1,3 12/2/13 Sec2 18/2/13 Sec1,3 19/2/13 22/2/13

Queue

8 9

Binary Search

10 11 12 13 14 15 16

2 2 2 2 2 2

Bubble Sort Insertion Sort Merge Sort Quick Sort Radix Sort

Assessment

Evaluation

Class Participation Quiz Laboratory Midterm Examination Final Examination Total

10% 10% 20% 30% 30% 100%

Range of Scores

x 80 75 x < 80 70 x < 75 65 x < 70 55 x < 65 50 x < 55 45 x < 50 x < 45

Grade

A B+ B C+ C D+ D F

References 1. Mark Allen Weiss. (2011). Data Structures and Algorithms in Java 3nd edition. Pearson. 2.

Rance D. Necaise. (2010). Data Structures and Algorithm Using Python. Wiley.

3. Kenneth A. Lambert. (2011). Fundamentals of Python. Course Technology. 4. Magnus Lie Hetland. (2010). Python Algorithms. Apress. 5. Mark Lutz. (2006). Programming Python. OReilly.

Signature () Dean , School of Information Technology .././ This Course is Approved by the University Academic Council on [ ] 2nd semester , academic year .. And offered from [ ] 1st

You might also like