• 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
Textbook Data Structures and Algorithms in Java, Lafore, Pearson, 2017.

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

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

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

Lecture Notes

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

Course’s Contribution to Program

COURSE CATEGORY Expertise/Field Courses
COURSE'S CONTRIBUTION TO PROGRAM
No Program Learning Outcomes Contribution
1 2 3 4 5  
1 Students have the knowledge and the skills to design and develop the complete systems for multi-media visual user interface. X          
2 Students have advanced the knowledge and skills to design, develop and install the application systems for multimedia.            
3 Students have the knowledge and the skills to design, develop and apply algorithms and data structures to solve the basic problems of information processing, within the framework of discrete mathematics.       X    
4 Students have the knowledge and the skills to design and develop computer applications, based on user specified requirements, using modern structured development tools and install them on various hardware platforms and deploy their usage.       X    
5 Students have the knowledge and the skills to design and develop computer applications, based on user specified requirements, using modern object-oriented development tools and install them on various hardware platforms and deploy their usage.   X        
6 Students know the logic of computer operating systems, the basic set of system commands, how to control access to system resources by users of different departments and how to monitor the running of jobs in the system.       X    
7 Students have the knowledge and the skills to design and develop data models serving different requirements, database applications that would access and process data using various types of software, including queries, reports and business applications.     X      
8 Students have the knowledge and the skills to design and develop business applications that would provide data access, modification and processing for data kept in enterprise database systems.     X      
9 Students have the knowledge about computer networks, and have the skills to design, develop and monitor computer networks, how to configure them and how to maintain their performance.            
10 Students have the knowledge and the skills to design and develop visual user interfaces for the web, web-based applications for n-tier client/server configurations, how to deploy them in enterprises.            

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