EPOKA UNIVERSITY
FACULTY OF ARCHITECTURE AND ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING
COURSE SYLLABUS
COURSE INFORMATIONCourse Title: ADVANCED ALGORITHMS & DATASTRUCTURES |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 567 | B | 99 | 3 | 2 | 0 | 4 | 7.5 |
Language: | English |
Compulsory/Elective: | Elective |
Classroom and Meeting Time: | E-012 |
Course Description: | An exploration of advanced algorithms in data structures using object-oriented design. An introduction to databases using Java. Course reviews main-memory data structures such as hash tables and trees. Disk-based structures such as persistent hash tables and indexed files. Architectural foundations for files, large scale sorting and serialization. |
Course Objectives: | This course builds on the first-year Design and Analysis of Algorithms course. It introduces students to a number of highly efficient algorithms and data structures for fundamental computational problems across a variety of areas. Students are also introduced to techniques such as amortised complexity analysis. As in the first-year course, the style of the presentation is rigorous but not formal. |
COURSE OUTLINE
|
Week | Topics |
1 | Intro. to Course and Review |
2 | Amortised analysis |
3 | Disjoint sets / union-find |
4 | Binary search trees |
5 | Mergeable heaps |
6 | Number theoretic algorithms + RSA |
7 | Fast Fourier transform |
8 | MIDTERM EXAM |
9 | Linear programming |
10 | Max flow in networks |
11 | String matching |
12 | Approximation algorithms |
13 | Stable matching |
14 | Stable matching cont |
Prerequisite(s): | Analysis of Algorithms Data Structures |
Textbook: | Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein, Introduction to Algorithms, MIT Press, 2009 (third edition). |
Other References: | S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani, Algorithms, Mcgraw-Hill, 2006. J. Kleinberg and E. Tardos, Algorithm Design, Addison-Wesley, 2006. |
Laboratory Work: | Yes |
Computer Usage: | YES |
Others: | No |
COURSE LEARNING OUTCOMES
|
1 | Be able to understand and apply amortised analysis on data structures, including binary search trees, mergable heaps, and disjoint sets. |
2 | Understand the implementation and complexity analysis of fundamental algorithms such as RSA, primality testing, max flow, discrete Fourier transform. |
3 | Have an idea of applications of algorithms in a variety of areas, including linear programming and duality, string matching, game-theory |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Master of Science in Computer Engineering (2 years) Program | ||
1 | Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. | 5 |
2 | Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations | 5 |
3 | Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. | 5 |
4 | Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. | 5 |
5 | Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. | 5 |
6 | Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. | 5 |
7 | The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. | 5 |
8 | Ability for effective oral and official communication skills in foreign language. | 5 |
9 | Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. | 5 |
10 | Engineering graduates with well-structured responsibilities in profession and ethics. | 5 |
11 | Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. | 5 |
12 | Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. | 5 |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Homework |
5
|
5
|
Midterm Exam(s) |
1
|
20
|
Project |
1
|
20
|
Final Exam |
1
|
35
|
Total Percent: | 100% |
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
|
Activities | Quantity | Duration(Hours) | Total Workload(Hours) |
Course Duration (Including the exam week: 16x Total course hours) | 16 | 6 | 96 |
Hours for off-the-classroom study (Pre-study, practice) | 4 | 7 | 28 |
Mid-terms | 1 | 6.5 | 6.5 |
Assignments | 5 | 7 | 35 |
Final examination | 1 | 7 | 7 |
Other | 3 | 5 | 15 |
Total Work Load:
|
187.5 | ||
Total Work Load/25(h):
|
7.5 | ||
ECTS Credit of the Course:
|
7.5 |