EGE UNIVERSITY

FACULTY OF ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

 

2015-2016 Fall Semester

 

 

Course Info

 

 

Grading

 

 

 

 

 

Course

 

204 Data Structures (3+1)

 

 

Instructor

 

 

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

(Office Hour: Thursday 15:45-16:30 about Data Structures and Lecture)

 

 

Course Place

 

 

EGE University Computer Engineering Department B4

 

Course Time

 

 

Tuesday, 13:15-16:00

 

Assistants

 

 

 

Arif Erdal TAŞCI

Osman GÖKALP

Sinem ÖREN

E-mail

arif.erdal.tasci@ege.edu.tr

osman.gokalp@ege.edu.tr

sinem.oren@ege.edu.tr

Office Hour

Monday 16:00-16:45

Thursday 13:15-14:00

Friday 16:15-17:00

 

Office Hours are especially for C#, Java, Eclipse, Project Questions and Program Errors.

 

 

Lab

 

 

Session 1 : Thursday, 14:15-15:00 (Sinan Yılmaz Lab.) (Ege Lab.)

Session 2 : Thursday, 15:15-16:00 (Sinan Yılmaz Lab.) (Ege Lab.)

Session 3 : Thursday, 16:15-17:00 (Sinan Yılmaz Lab.) (Ege Lab.)

 

 

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#

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

·         Her Yönüyle C# 6.0, Volkan Aktaş, 19. Baskı, Kodlab, 2015. 

·         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

 

 

 

Activities

%20

Midterm Exam

%30

Final Exam

%50

 

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