MATHEMATICS (TURKISH, PHD)
PhD TR-NQF-HE: Level 8 QF-EHEA: Third Cycle EQF-LLL: Level 8

Course Introduction and Application Information

Course Code Course Name Semester Theoretical Practical Credit ECTS
SEN2211 Data Structures and Algorithms I Fall 2 2 3 7
The course opens with the approval of the Department at the beginning of each semester

Basic information

Language of instruction: En
Type of course: Departmental Elective
Course Level:
Mode of Delivery: Face to face
Course Coordinator : Assist. Prof. ÖZGE YÜCEL KASAP
Course Lecturer(s): Assist. Prof. DUYGU ÇAKIR YENİDOĞAN
Assist. Prof. TAMER UÇAR
Assist. Prof. BETÜL ERDOĞDU ŞAKAR
RA MERVE ARITÜRK
Prof. Dr. NAFİZ ARICA
RA SEVGİ CANPOLAT
Course Objectives: This is an introductory course on common data structures that are used in software engineering. After completing the course, the student will have knowledge of applying, implementing and analysis of basic data structures, including, lists, stacks and queues. Certain fundamental techniques, such as sorting, searching and recursion are also taught. The teaching methods of the course are lecture and practice.


Learning Outputs

The students who have succeeded in this course;
1) Describe and apply basic object oriented programming principles.
2) Implement basic data structures such as linked lists, stacks and queues.
3) Analyze the complexity and efficiency of algorithms.
4) Choose and design data structures for writing efficient programs.
5) Implement recursive algorithms.
6) Describe and implement sorting algorithms on common data structures.
7) Describe and implement search algorithms on common data structures.

Course Content

The course content is composed of object oriented Java review, the complexity and efficiency of algorithms, introduction to list-stack-queue structures, implementing list-stack-queue structures, recursion, searching algorithms and sorting algorithms.

Weekly Detailed Course Contents

Week Subject Related Preparation
1) Introduction to Data Structures and Algorithms Complexity Analysis
2) Introduction to Linked Lists
3) Doubly Linked Lists Ordered Linked Lists
4)
5) Stacks
6) Stacks for Algebraic Operations
7) Queues
8) Queues
9) Data Structure Classes in Java
10) Recursion
11) Recursive Complexity
12) Searching Algorithms
13) Sorting Algorithms
14) Sorting algorithms

Sources

Course Notes: Data Structures & Problem Solving Using Java (Mark Allen Weiss) Data Structures and Algorithm Analysis in Java (Mark Allen Weiss) Data Structures and Abstractions with Java (Frank Carrano)
References: Yok

Evaluation System

Semester Requirements Number of Activities Level of Contribution
Attendance 0 % 0
Laboratory 2 % 25
Application 0 % 0
Field Work 0 % 0
Special Course Internship (Work Placement) 0 % 0
Quizzes 2 % 15
Homework Assignments 0 % 0
Presentation 0 % 0
Project 0 % 0
Seminar 0 % 0
Midterms 1 % 20
Preliminary Jury 0 % 0
Final 1 % 40
Paper Submission 0 % 0
Jury 0 % 0
Bütünleme % 0
Total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
Total % 100

ECTS / Workload Table

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 2 28
Laboratory 14 2 28
Application 0 0 0
Special Course Internship (Work Placement) 0 0 0
Field Work 0 0 0
Study Hours Out of Class 0 0 0
Presentations / Seminar 0 0 0
Project 0 0 0
Homework Assignments 1 8 8
Quizzes 2 20 40
Preliminary Jury 0 0 0
Midterms 1 30 30
Paper Submission 0 0 0
Jury 0 0 0
Final 1 30 30
Total Workload 164

Contribution of Learning Outcomes to Programme Outcomes

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Be able to organize events, for the development of critical and creative thinking and problem solving skills, by using appropriate methods and techniques.
2) Ability to make individual and team work on issues related to working and social life.
3) Ability to transfer ideas and suggestions, related to topics about his/her field of interest, written and verball.
4) Ability to use mathematical knowledge in technology.
5) To apply mathematical principles to real world problems.
6) Ability to use the approaches and knowledge of other disciplines in Mathematics.
7) Be able to set up and develope a solution method for a problem in mathematics independently, be able to solve and evaluate the results and to apply them if necessary.
8) To be able to link abstract thought that one has to concrete events and to transfer the solutions and examine and interpret the results scientifically by forming experiments and collecting data.