COURSE INFORMATION
Course Title: DATA STRUCTURES
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
CEN 254 A 4 3 0 2 4 5
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) NA
Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Enea Mançellari , 10:00 - 12:00
Second Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: NA
Teaching Assistant(s) and Office Hours: NA
Language: English
Compulsory/Elective: Compulsory
Classroom and Meeting Time: E214
Course Description: Study of the basic data structures and their implementations: Arrays, matrices, stacks, queues, hash tables, trees, lists, and graphs. Programming techniques using recursion. Various searching and sorting methods such as insertion sort, merge sort, and quick sort. Basic analysis of algorithms.
Course Objectives: To get accustomed to and be able to use common algorithms used in programming. External memory algorithms and data structures for sorting and searching, advanced algorithms for graphs.
COURSE OUTLINE
Week Topics
1 Intro. to Course and Review
2 Abstract data types, Asymptotic Notations
3 Using Linked Lists
4 Stacks and Queues
5 Stacks and Queues
6 Trees, Binary Trees, Perfect and Complete binary trees
7 Binary Search Trees and AVL trees
8 MIDTERM EXAM
9 Tree Traversals, Red Black Trees
10 Sorting: Merge Sort, Heap Sort
11 Sorting: Quick Sort, Bucket Sort
12 Mapping, Hashing
13 Graph Data Structure
14 Prim`s Algorithm, Kruskal`s Algorithm
Prerequisite(s): To have a satisfactory level in a programming language. CEN 114
Textbook: Data Structures and Algorithms in Java, 6th Edition, 2014
Other References: Pearson_ - Algorithms_ 4th ed. - _Sedgewick_ Wayne_
Laboratory Work: Computer Software (Eclipse ,Netbeans IDE) lab.
Computer Usage: Yes
Others: No
COURSE LEARNING OUTCOMES
1 Become accustomed to the description of algorithms in both functional and procedural styles;
2 Learn good principles of algorithm design: Data abstraction ability
3 Learn how to analyze algorithms and estimate their worst-case and average case behavior (in easy cases)
4 Become familiar with fundamental data structures
5 Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice.
6 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.
7 Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions
8 The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence
9 Ability for effective oral and official communication skills in foreign language
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 Business Informatics (3 years) Program
1 Identify activities, tasks, and skills in management, marketing, accounting, finance, and economics. 5
2 Apply key theories to practical problems within the global business context. 5
3 Demonstrate ethical, social, and legal responsibilities in organizations. 5
4 Develop an open minded-attitude through continuous learning and team-work. 5
5 Integrate different skills and approaches to be used in decision making and data management. 5
6 Combine computer skills with managerial skills, in the analysis of large amounts of data. 5
7 Provide solutions to complex information technology problems. 5
8 Recognize, analyze, and suggest various types of information-communication systems/services that are encountered in everyday life and in the business world. 5
COURSE EVALUATION METHOD
Method Quantity Percentage
Homework
5
2
Midterm Exam(s)
1
30
Quiz
4
5
Final Exam
1
40
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 5 80
Hours for off-the-classroom study (Pre-study, practice) 16 1 16
Mid-terms 1 10 10
Assignments 4 1 4
Final examination 1 15 15
Other 0
Total Work Load:
125
Total Work Load/25(h):
5
ECTS Credit of the Course:
5