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 Readings | Intro. 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 Methods | Flipped classroom. Students work individually for assignments. |
Homework and Projects | Assignments |
Laboratory Work | Laboratory study |
Computer Use | Required |
Other Activities | none |
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
|