COMP 201 Data Structures and AlgorithmsMEF UniversityDegree Programs Computer EngineeringGeneral Information For StudentsDiploma SupplementErasmus Policy Statement
Computer Engineering
Bachelor Length of the Programme: 4 Number of Credits: 240 TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF: Level 6

Ders Genel Tanıtım Bilgileri

School/Faculty/Institute Faculty of Engineering
Course Code COMP 201
Course Title in English Data Structures and Algorithms
Course Title in Turkish Veri Yapıları ve Algoritmalar
Language of Instruction EN
Type of Course Exercise,Flipped Classroom,Lecture
Level of Course Introductory
Semester Fall
Contact Hours per Week
Lecture: 3 Recitation: none Lab: 2 Other: none
Estimated Student Workload 152 hours per semester
Number of Credits 6 ECTS
Grading Mode Standard Letter Grade
Pre-requisites COMP 109 - Computer Programming (JAVA)
Expected Prior Knowledge Basic object-oriented programming knowledge
Co-requisites None
Registration Restrictions Only Undergraduate Students
Overall Educational Objective To learn fundamentals of data structures and how to design and implement data structures to solve basic engineering problems in Java programming language.
Course Description This course covers the fundamentals of data structures and algorithms such as lists, stacks, queues, heaps, trees, hashing, sorting algorithms, and application of these concepts using Java programming language.
Course Description in Turkish Bu ders veri yapıları ve algoritmaların temellerini içermektedir. Dersin içeriği listeler, yığınlar, sıralar, kümeler, karmalar, ve sıralama algoritmaları ve bunların Java programlama dili kullanılarak uygulanmasıdır.

Course Learning Outcomes and Competences

Upon successful completion of the course, the learner is expected to be able to:
1) Comprehend basic data structure concepts.
2) Design algorithms using data structures.
3) Implement data structures to solve engineering problems.
4) Analyze and report the results of implemented solution.
Program Learning Outcomes/Course Learning Outcomes 1 2 3 4
1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3) An ability to communicate effectively with a range of audiences
4) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5) An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Relation to Program Outcomes and Competences

N None S Supportive H Highly Related
     
Program Outcomes and Competences Level Assessed by
1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics H Exam
2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors H Exam,HW
3) An ability to communicate effectively with a range of audiences S HW
4) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts N
5) An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives N
6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions N
7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies. N
Prepared by and Date , November 2023
Course Coordinator YASSINE DRIAS
Semester Fall
Name of Instructor Asst. Prof. Dr. YASSINE DRIAS

Course Contents

Week Subject
1) Introduction to Data Structures
2) Abstract Classes and Interfaces
3) Generics
4) Lists (Part 1)
5) Lists (Part 2)
6) Stacks
7) Queues
8) Algorithmic complexity
9) Heaps and Priority Queues
10) Hashing
11) Recursion
12) Trees (Part 1)
13) Trees (Part 2)
14) Algorithm design using data structures
15) Final Examination Period
16) Final Examination Period
Required/Recommended ReadingsIntro. to Java Programming: Comprehensive Ed. (11th Ed., Pearson, 2019), Daniel Liang. Data Structures and Algorithms in Java, Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Adison Wesley 6th Edition
Teaching MethodsFlipped classroom. Students work individually for assignments.
Homework and ProjectsAssignments
Laboratory WorkLaboratory study
Computer UseRequired
Other Activitiesnone
Assessment Methods
Assessment Tools Count Weight
Homework Assignments 1 % 15
Midterm(s) 2 % 50
Final Examination 1 % 35
TOTAL % 100
Course Administration driasy@mef.edu.tr
0 212 395 37 45
Instructor’s office: 5th floor Phone number: 0 212 395 37 45 Office hours: After the lecture hours. E-mail address: driasy@mef.edu.tr Rules for attendance: No attendance required. Statement on plagiarism: YÖK Regulations

ECTS Student Workload Estimation

Activity No/Weeks Hours Calculation
No/Weeks per Semester Preparing for the Activity Spent in the Activity Itself Completing the Activity Requirements
Course Hours 14 1 5 84
Project 4 1 16 68
Total Workload 152
Total Workload/25 6.1
ECTS 6