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