SILABUS Algorithm and Data Structure
SILABUS Algorithm and Data Structure
Overview
This course introduces data structures and the algorithm to students. It is a fundamental component of a
computer science education, serves as the foundation upon which many other computer science fields are
built. These course assign students to write two papers that discuss the needed of such algorithm and data
structure in real life. In the first part of semester, student can choose one topic of algorithm which used in
computer science, explaining theoretically, based on the history, models, design, and its characteristics. On
the second part, they should write another paper which explaining the implementation of the algorithm
discussed on the first paper. Programming language used in the implementation not specifically defined to
enable the student’s creativity. Student should explain the benefit of its algorithm implementation based
on a sample dataset. Student will demonstrate the experiment done before writing paper in a presentation
session. At the end of task, the paper should be presented in front of faculty member on a scheduled basis.
Some algorithms topics are:
Graph Algorithms
1. Breadth First Search (BFS)
2. Depth First Search (DFS)
3. Shortest Path from source to all vertices Dijkstra
4. Shortest Path from every vertex to every other vertex **Floyd Warshall**
5. Minimum Spanning tree **Prim**
6. Minimum Spanning tree **Kruskal**
7. Topological Sort
8. Johnson’s algorithm
9. Articulation Points (or Cut Vertices) in a Graph
10. Bridges in a graph
11. etc.
Dynamic Programming
1. Longest Common Subsequence
2. Longest Increasing Subsequence
3. Edit Distance
4. Minimum Partition
5. Ways to Cover a Distance
6. Longest Path In Matrix
7. Subset Sum Problem
8. Optimal Strategy for a Game
9. 0-1 Knapsack Problem
10. Assembly Line Scheduling
Searching and Sorting
1. Binary Search
2. Quick Sort
3. Merge Sort
4. Order Statistics
5. KMP algorithm
6. Rabin karp
7. Z’s algorithm
Pre-Requisites
Understand what is algorithm, the function of algorithm, and the benefit of using a correct
algorithm
The seminar session will be conducted in English, thus student should be able to interact using
English
Objectives
Program-Specific Competency
Delivery Methodology
Students will have to enrich their experience by self learning, practicing, searching the correct information
for the topics taken, analyze a problem based on reference suggested, summarize the result, and
documenting information in a correct manner. In addition, faculty can give more information about the
additional learning material and practice by using the following ways:
Reference Links: Provides links to the websites from where the students can read additional
material related to various topics covered in the Student Guide (SG) chapters.
Best Practices: Provides additional content on the various topics covered in the module.
Simulations: Provides simulated versions of the exercises and activities that are performed in the
module. Students can view how a series of steps for a particular activity will be executed by running
these simulations.
Recorded Lectures: Provides recorded versions of some important concepts that are covered in
the module.
Data Files: Provides the data files that the students need to perform exercises, if required.
Learning Tools
Internet
Book Reference
Datasets
Others
Topic Contents
Learning Evaluation
Maximum
Assessment critera Assessor
Score
Neatness of Writing 5
Adherence to the writing standard 5
Completeness of contents 5
Conformity of reference 5 Faculty
Teamwork 15
In Class Activity 5
Adherence to time limit 10
Content Coverage 15
Presentation Handling 10
Presentation tools 5 Examiner
English ability 5
Knowledge of the subject 15
Total 100
This Module has no other assignment nor project except both paper.
The Paper format should follow the standard written on Aturan dan Tata Cara Penulisan Naskah ISAS /
Artikel, Number: 217/H2.F4.CEP.CCIT/PDP.Aturan Penulisan ISAS/2010
http://www.algomation.com/
http://javarevisited.blogspot.co.id/2017/07/top-50-java-programs-from-coding-Interviews.html
Minimum Requirements
Memory: 2 GB RAM
Operating system:
Software Requirements