EGE UNIVERSITY

FACULTY OF ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

 

2020-2021 Fall Semester

 

 

Course Info

 

 

Grading

 

 

 

 

 

Course

 

204 Data Structures (3+1)

 

 

Instructor

 

 

Prof. Dr. Aybars UĞUR  (aybars.ugur@ege.edu.tr; aybars.ugur@gmail.com)

 

 

Course Place

 

 

Teams and EGE Ders Platforms

 

Course Time

 

 

Tuesday, 13:15-16:00

 

Assistants

 

 

 

Dr. Osman GÖKALP

Dr. Arif Erdal TAŞCI

Res. Asst. Ahmet GÜRBÜZ

E-mail

osman.gokalp@ege.edu.tr

arif.erdal.tasci@ege.edu.tr

 

 

 

 

 

 

 

 

 

 

Lab

 

 

Session 1 : Thursday, 13:00-14:00

Session 2 : Thursday, 16:00-17:00

 

 

Aims and Objectives

 

The objective of the course is to give detailed information about Data Structures concepts and to give ability to use suitable data structures efficiently for solving problems.

 

To introduce abstract concepts for data organization and manipulation, to show how these concepts are useful in problem solving and how the abstractions can be made concrete by using a programming language.

 

 

Learning Outcomes

 

 

1)   To recognize the basic concepts, structures and commands in an object oriented and new programming language. To define the solutions in an object-oriented programming language.

2)   To produce different, efficient and quick solutions to the problems.

3)   Organizing data in computer programs for different forms and structures. Designing data structures efficiently in software development. Writing efficient algorithms by choosing suitable data structures.

4)   To use data structures provided by the software development environments.

5)   To write computer programs independently, to prepare projects and to present as project reports in written form.

6)   To contribute the problem solutions in group studies.

7)   To use data structures concepts in state-of-the-art problems.

 

 

Prerequisites

 

 

Algorithms, Programming, Discrete Mathematics

 

 

Description

 

 

Stack, Queues, Lists, Recursion, Trees (Binary Trees, Balanced Trees, Heaps, Huffman Encoding Tree), Comparison of Algorithms, Sorting and Search, Graphs (Representation, Traversals, Shortest Path, Minimum Spanning Tree, …)

 

 

Textbook

 

 

Lafore, R., "Data Structures & Algorithms in Java", 2nd Edition, SAMS Publishing, 2003, 776p.

 

 

 

 

 

 

 

 

 

 

 

 

Reference Books

 

 

 

 

 

 

 

 

 

In Turkish

C && Java ile Veri Yapılarına Giriş, Olcay Taner YILDIZ, Boğaziçi Üniversitesi Yayınevi, 2013.

Algoritma Geliştirme ve Veri Yapıları, Dr. Rıfat ÇÖLKESEN, Papatya Yayıncılık, 2011.

 

In English

Goodrich, M.T., Tamassia, R., "Data Structures and Algorithms in Java 6th Edition", Wiley, 2014.

Drozdek, A., “Data Structures and Algorithms in Java 4th Edition", Cengage Learning Asia, 2013.

Weiss, M.A., “Data Structures and Problem Solving Using Java (Fourth Edition)”, Addison-Wesley, 2010.

 

C#

·       Her Yönüyle C# 7.0, Volkan Aktaş, 1. Baskı, Kodlab, 2017.

·       C# 4.0 Herkes İçin, Herbert Schildt, Alfa Yayınları, 2011.

·       Visual C# .NET 2.0, Nihat Demirli, Yüksel İnan, Palme Yayınevi, 2008.

 

 

Java

·       Java ile Programlama ve Veri Yapıları, Bülent Çobanoğlu, Pusula Yayıncılık, 2008.

·       Java ve Yazılım Tasarımı (Altuğ B. Altıntaş): http://www.kodcu.com/e-kitap/

·       Thinking in Java, 3rd Edition (Bruce Eckel) 

 

·       Other Related Books: http://www.mindviewinc.com/Books

 

GRADING

 

 

 

Midterm

Project 1

% 20

Project 2

% 20

Final

Project 3

% 35

Project 4

% 25

 

 

Midterm

Project 1

% 20

Project 2

% 20

Quiz

?

Final

Project 3

% 20+

Project 4

% 20

Final Exam

% 20

 

 

If Final Exam Required :

 

Activities

% 30

Midterm Exam

% 10

Final Exam

% 60

 

Activities (Mid-term): Projects 1-4 (+ Research), Report Preparation, Quiz, Attendance