EPOKA UNIVERSITY
FACULTY OF ARCHITECTURE AND ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING
COURSE SYLLABUS
2024-2025 ACADEMIC YEAR
COURSE INFORMATIONCourse Title: ANALYSIS OF ALGORITHMS |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 309 | B | 5 | 2 | 0 | 2 | 3 | 6 |
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) | Assoc.Prof.Dr. Arban Uka auka@epoka.edu.al |
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | M.Sc. Ari Gjerazi agjerazi@epoka.edu.al , Friday 9:45 - 11:00 |
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | NA |
Language: | English |
Compulsory/Elective: | Compulsory |
Study program: (the study for which this course is offered) | Bachelor in Software Engineering (3 years) |
Classroom and Meeting Time: | A 001 - Monday 11:30 |
Teaching Assistant(s) and Office Hours: | NA |
Code of Ethics: |
Code of Ethics of EPOKA University Regulation of EPOKA University "On Student Discipline" |
Attendance Requirement: | N/A |
Course Description: | The objective of this course is to equip the students with the basic understanding of algorithms and programming concepts. Flowcharts are also covered in the course. |
Course Objectives: | The objective of this course is to introduce methods for designing efficient algorithms using basic data structures for fundamental problems and evaluating their performance. Topics covered are algorithm design and analysis, algorithm runtimes, asymptotic notations, sets, searching and sorting methods, binary tree and binary tree algorithms, graph and graph algorithms, graph traversals, shortest-path, balanced search trees, basic algorithm design techniques. |
BASIC CONCEPTS OF THE COURSE
|
1 | Analytical Thinking |
2 | Understanding of algorithm correctness and efficiency |
3 | Understanding of worst case/average case runtime of algorithms |
4 | Understanding the process of creating algorithms |
COURSE OUTLINE
|
Week | Topics |
1 | Asymptotic Notation - Recurrences - Substitution, Master Method |
2 | Analyses of String Algorithms, On-Line Pattern Matching: Sliding window techniques |
3 | Boyer Moore Algorithm |
4 | Suffix arrays, Suffix Trees, Ukkonnen Algorithm |
5 | Finite State automata |
6 | Multiple Patterns Searching |
7 | Aho Corasick Algorithm |
8 | MIDTERM EXAM |
9 | Intro. To Information Theory |
10 | Lossles Compression:Huffman, Shanon-Fano , |
11 | Arithmetic and Elias code |
12 | Lossless Compression: Lempel Ziv family algorithms |
13 | NP completeness,Ethics, Problem Solving |
14 | Fuzzy Logic Concepts |
Prerequisite(s): | To have a satisfactory level in a programming language. (e.g. CEN 112, CEN 251). |
Textbook(s): | Data Structures and Algorithm Analysis in C 2nd Edition. Mark Allen Weiss Introduction to Design and Analysis of Algorithms, Levitin, 3rd edition |
Additional Literature: | |
Laboratory Work: | YES |
Computer Usage: | Yes |
Others: | No |
COURSE LEARNING OUTCOMES
|
1 | Understand methods for designing efficient algorithms. |
2 | Discuss and use fundamental algorithms and algorithmic techniques. |
3 | Decide which algorithm among a set of possible choices is best for a given application. |
4 | Prove correctness and analyze the running time of a given algorithm. |
5 | Design efficient algorithms for new situations, using as building blocks the techniques learned. |
6 | Use the divide-and-conquer, greedy, induction, and dynamic Programming paradigms to design algorithms |
7 | Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. |
8 | 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. |
9 | Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions |
10 | Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Bachelor in Software Engineering (3 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. | 3 |
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. | 4 |
5 | Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. | 3 |
6 | Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. | 4 |
7 | The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. | 4 |
8 | Ability for effective oral and official communication skills in foreign language. | 4 |
9 | Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. | 4 |
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. | 3 |
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. | 4 |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Midterm Exam(s) |
1
|
30
|
Project |
1
|
20
|
Final Exam |
1
|
40
|
Attendance |
10
|
|
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 | 4 | 64 |
Hours for off-the-classroom study (Pre-study, practice) | 16 | 2 | 32 |
Mid-terms | 1 | 7 | 7 |
Assignments | 5 | 2 | 10 |
Final examination | 1 | 12 | 12 |
Other | 0 | ||
Total Work Load:
|
125 | ||
Total Work Load/25(h):
|
5 | ||
ECTS Credit of the Course:
|
6 |
CONCLUDING REMARKS BY THE COURSE LECTURER
|
N/A |