0% found this document useful (0 votes)
25 views

SILABUS Algorithm and Data Structure

This module description outlines an algorithms and data structures course. The course introduces various algorithms and requires students to write two papers, one on an algorithm topic and another on implementing that algorithm. It provides examples of algorithm topics and outlines the course objectives, competencies, methodology, and timeline.

Uploaded by

Irresistible Day
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

SILABUS Algorithm and Data Structure

This module description outlines an algorithms and data structures course. The course introduces various algorithms and requires students to write two papers, one on an algorithm topic and another on implementing that algorithm. It provides examples of algorithm topics and outlines the course objectives, competencies, methodology, and timeline.

Uploaded by

Irresistible Day
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

MODUL DESCRIPTION

Module Name : Algorithm and Data Structure


Module Code : ADS
Semester :2
Category : Mandatory
Credit : 2 Credits (Papers and Seminars)

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

CEP CCIT Fakultas Teknik Universitas Indonesia - 2018


MODUL DESCRIPTION

8. Aho Corasick String Matching


9. Counting Sort
10. Manacher’s algorithm
11. etc
Number theory and Other Mathematical algorithm
Prime Numbers and Prime Factorization
1. Primality Test | Set 1 (Introduction and School Method)
2. Primality Test | Set 2 (Fermat Method)
3. Primality Test | Set 3 (Miller–Rabin)
4. Sieve of Eratosthenes
5. Segmented Sieve
6. Wilson’s Theorem
7. Prime Factorisation
8. Pollard’s rho algorithm
Modulo Arithmetic Algorithms
1. Basic and Extended Euclidean algorithms
2. Euler’s Totient Function
3. Modular Exponentiation
4. Modular Multiplicative Inverse
5. Chinese remainder theorem Introduction
6. Chinese remainder theorem and Modulo Inverse Implementation
7. etc
Miscellaneous:
1. Counting Inversions
2. Counting Inversions using BIT
3. logarithmic exponentiation
4. Square root of an integer
5. Heavy Light Decomposition
6. Matrix Rank
7. Gaussian Elimination to Solve Linear Equations
8. Hungarian algorithm
9. Link cut
10. Mo’s algorithm
11. Factorial of a large number in C++
12. Factorial of a large number in Java+
13. Russian Peasant Multiplication
14. Catalan Number
15. etc
Geometrical and Network Flow Algorithms
1. Convex Hull
2. Graham Scan
3. Line Intersection
4. Interval Tree
5. Matrix Exponentiation and this
6. Maxflow Ford Furkerson Algo and Edmond Karp Implementation
7. Min cut
8. Stable Marriage Problem
9. Hopcroft–Karp Algorithm for Maximum Matching
10. Dinic’s algo and e-maxx
11. etc
Data Structures
1. Binary Indexed Tree or Fenwick tree

CEP CCIT Fakultas Teknik Universitas Indonesia - 2018


MODUL DESCRIPTION

2. Segment Tree (RMQ, Sum and Lazy Propagation)


3. K-D tree (See insert, minimum and delete)
4. Union Find Disjoint Set (Cycle Detection and By Rank and Path Compression)
5. Tries
6. Suffix array
7. Sparse table
8. Suffix automata
9. Suffix automata II
10. LCA and RMQ
11. etc

Pre-Requisites

The students who want to take this module should be:

 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

After completing this module, the student will be able to:


 Identify various algorithm in computer science
 Write an algorithm to ease specific calculation problem
 Identify the various method to solve a computer programming problem
 Identify benefit of implementing such algorithm in a computer program
 Test an algorithm using sample datasets
 Better understanding of benefit the algorithm usage to solve problems

Program-Specific Competency

After completing this module, the student should be able to:

 Identify the correct algorithm to solve specific problems in programming.


 Create an algorithm in a computer programming.
 Solve a simple computer program using an algorithm.
 Identify the correct algorithm to manage a bunch of data.

Delivery Methodology

To achieve a successful course, some task need to be concerned as written below:

 faculty should explain the task to the students.


 faculty will deliver a brief explanation on what is algorithm and structure data, benefit of using a
correct algorithm to manage a bunch of data and or to solve a computer programming problems
in a 2 hours’ session.
 Group student of maximum 3 students for one topic
 Ask student to follow the timelines as per academic calendar
 Deliver which part of modules session following the part of modules content

CEP CCIT Fakultas Teknik Universitas Indonesia - 2018


MODUL DESCRIPTION

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

Source Topic/Activity Name Time Reference


 Data Structures and Algorithms
Lecture:
(Annotated Reference with
Faculty  Task Explanation
2 Hours Examples)
creation  Brief Explanation of Algorithm
 Data Structures & Algorithms –
and Data Structures
www.tutorialspoint.com
 Data Structures and Algorithms
Made Easy
Internet,
 Introduction To Algorithms(3rd
Book Reference Reading 6 Hours
Edition)
Reference
 top-50-java-programs-from-coding-
Interviews
 Data Structure and Algorithm
Analysis in C++
 Data Structure and Algorithms in
Datasets Lab 10 Hours
Java
 Data Structure and Algorithms
using C#
 http://sorting.at/
 https://qiao.github.io/PathFinding.j
Collaborate 20 Hours
s/visual/
 http://www.algomation.com/
Writings 8 Hours Any reference needed as per topics
Seminar session 2 Hours

CEP CCIT Fakultas Teknik Universitas Indonesia - 2018


MODUL DESCRIPTION

Learning Evaluation

First Paper 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

Second Paper Evaluation


Second Paper Assessment Criteria and score are same as the First Paper.

Final Score will be calculated by formula below:

𝐹𝑖𝑟𝑠𝑡 𝑃𝑎𝑝𝑒𝑟 𝑇𝑜𝑡𝑎𝑙 𝑆𝑐𝑜𝑟𝑒 + 𝑆𝑒𝑐𝑜𝑛𝑑 𝑃𝑎𝑝𝑒𝑟 𝑇𝑜𝑡𝑎𝑙 𝑆𝑐𝑜𝑟𝑒


𝐹𝑖𝑛𝑎𝑙 𝑆𝑐𝑜𝑟𝑒 =
2

Assignment and Project

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

Books and Reference

 Introduction To Algorithms (3rd Edition) by Thomas H. Cormen, Charles E. Leiserson, Ronald L.


Rivest, Clifford Stein.
 Data Structures and Algorithms Made Easy – by Narasimha Karumanchi
 Data Structures & Algorithms – www.tutorialspoint.com
 Data Structure and Algorithms in Java (2nd Edition) – by Robert Lafore
 Data Structure and Algorithm Analysis in C++ (4th Edition) – by Mark Allen Weiss
 Data Structures and Algorithms (Annotated Reference with Examples) – by Granville Barnett and
Luca Del Tongo
 Data Structures and Algorithms using C# – by Michael MacMillan
 http://sorting.at/
 https://qiao.github.io/PathFinding.js/visual/

CEP CCIT Fakultas Teknik Universitas Indonesia - 2018


MODUL DESCRIPTION

 http://www.algomation.com/
 http://javarevisited.blogspot.co.id/2017/07/top-50-java-programs-from-coding-Interviews.html

Minimum Requirements

Processor: 1 GHz processor with SSE2 support

Memory: 2 GB RAM

Hard disk: 3 GB available disk space

Display: 1280 x 800 screen resolution

Graphics: Graphics hardware acceleration requires a DirectX 10 graphics card.

Operating system:

 Windows 7 SP1 to Windows 10, 32-bit or 64-bit OS only


 Internet access. Fees may apply.
 Microsoft account

Other: Some features may require additional hardware or services:

Software Requirements

 Microsoft Office Visio


 PseudoCompiler
 Netbeans IDE 6.5.1 or higher
 Microsoft Visual Studio
 Internet Browser

CEP CCIT Fakultas Teknik Universitas Indonesia - 2018

You might also like