• Türkçe
  • English
Course Code: 
CIS 112
Course Period: 
Spring
Course Type: 
Core
P: 
2
Lab: 
2
Credits: 
3
ECTS: 
6
Prerequisite Courses: 
Course Language: 
İngilizce
Course Coordinator: 
Course Objectives: 
This course introduces an object-oriented approach to data structures. The students learn how to choose a suitable data structure for a specific problem, how to create more complex data structures using the already existing data types.
Course Content: 

Principles of object-oriented programming (OOP). Stacks, queues, linked lists, trees, heaps, graphs.

Course Methodology: 
1: Lecture, 2: Question-Answer, 3: Discussion
Course Evaluation Methods: 
A: Testing, C: Homework

Vertical Tabs

Course Learning Outcomes

Learning Outcomes Program Learning Outcomes Teaching Methods Assessment Methods
Students will employ the data structure(s) necessary for a given problem 1 1,2,3 A,C
Student will use linked lists, stacks, queues, and binary trees 1 1,2,3 A,C
Student will identify the most appropriate data structure for the problem at hand. 1 1,2,3 A,C
Student will construct complex data structures using existing data types. 1 1,2,3 A,C
Student will learn basic principles of OOP 1 1,2,3 A,C

 

Course Flow

COURSE CONTENT
Week Topics Study Materials
1 Principles of OOP and Writing Classes Lecture notes
2 Inheritance, Interfaces and Abstract Classes Lecture notes
3 Polymorphism Lecture notes
4 Stacks and Queues Chapter 4
5 Linked List Chapter 5
6 Recursion Chapter 6
7 MIDTERM  
8 Binary Trees Chapter 8
9 Red-Black Trees Chapter 9
10 2-3-4 Trees and External Storage Chapter 10
11 Heaps Chapter 12
12 Graphs Chapter 13
13 Weighted Graphs Chapter 14
14 Comparison of Data Structures Chapter 15
15 FINAL  

 

Recommended Sources

RECOMMENDED SOURCES
Data Structures and Algorithms in Java, Lafore, Pearson, 2017.

Java Software Solutions: Foundations of Program Design (2nd. ed.), Lewis and Loftus, Addison-Wesley, 2000.

 
Introduction to Algorithms, 4th Edition, Cormen, Leiserson, Rivest, Stein; MIT Press 2022.

Java tutorials, (https://docs.oracle.com/javase/tutorial/), Oracle.

Lecture Notes

 

 

Material Sharing

MATERIAL SHARING
Documents Guidelines and additional examples for Lecture Topics
Assignments Homework Assignments
Exams Midterm Exam and Final Exam

Assessment

ASSESSMENT
IN-TERM STUDIES NUMBER PERCENTAGE
Mid-terms 1 60
Quizzes 1 20
Homework 10 20
Total   100
CONTRIBUTION OF FINAL EXAMINATION TO OVERALL GRADE   60
CONTRIBUTION OF IN-TERM STUDIES TO OVERALL GRADE   40
Total   100

 

 

ECTS

ECTS ALLOCATED BASED ON STUDENT WORKLOAD BY THE COURSE DESCRIPTION
Activities Quantity Duration
(Hour)
Total
Workload
(Hour)
Course Duration (Including the exam week: 15x Total course hours) 15 3 45
Hours for off-the-classroom study (Pre-study, practice) 15 4 60
Mid-terms 1 10 10
Quiz 10 1 10
Homework 10 1 10
Final examination 1 10 10
Total Work Load     145
Total Work Load / 25 (h)     5,8
ECTS Credit of the Course     6

 

 

1