EGE UNIVERSITY

FACULTY OF ENGINEERING

COMPUTER ENGINEERING DEPARTMENT

 

2012-2013 Fall Semester

 

 

Course Info

 

 

Grading

 

 

Announcements

 

 

Course Slides and Exams

 

 

 

 

 

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:15-17:00 about Data Structures and Lecture)

 

 

Assistants

 

 

Ahmet Cumhur KINACI

e-mail: acumhur@gmail.com

Office Hour:Thursday 14:30-15:00

 

Oylum ALATLI

e-mail: oylum.alatli@ege.edu.tr

Office Hour: Friday 16:30-17:00

 

Sinem ÖREN

e-mail: sinem.oren@ege.edu.tr

Office Hour: Friday 16:30-17:00

 

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

 

 

Aims and Objectives

 

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.

 

 

Course Place

 

 

EGE University Computer Engineering Department B4

 

Course Time

 

 

Tuesday, 13:15-16:00

 

Lab

 

 

Session 1 : Thursday, 15:15-16:00

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

 

 

Prerequisites

 

 

Algorithms and Programming

 

 

Textbook

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

Reference Books

 

 

 

 

 

 

 

 

 

In English

2. Drozdek, A., “Data Structures and Algorithms In Java”, 2nd edition, Thomson, 2005.

3. Goodrich, M.T., Tamassia, R., "Data Structures and Algorithms in Java", 4th edition, John Wiley & Sons, Inc., 2005.

4. Langsam, Y., Augenstein, M.J., Tenenbaum, A., “Data Structures Using C and C++”, 2nd edition, Prentice Hall, 1996.

5. Sahni, S., “Data Structures, Algorithms and Applications in C++”, McGraw-Hill, 1998.

6. Weiss, M.A., “Algorithms, Data Structures and Problem Solving With C++”, Addison-Wesley, 1996.

7. Rove, G., "An Introduction to Data Structures and Algorithms With Java", Prentice Hall, 1998.

 

In Turkish

·         Veri Yapıları ve Algoritmalar, Rıfat Çölkesen, Papatya Yayıncılık, 2002.

 

C#

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

·         Her Yönüyle C# 4.0, Volkan Aktaş, 6. Baskı, Kodlab, 2012. 

·         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

Projects 1-4 (+ Research)
Report Preparation
Quiz, Attendance

Midterm Exam

Final Exam

%30

%30

%40

 

 

 

Projects

 

PROJECT 1. Introduction to Java Programming

PROJECT 2. Simple Data Structures: Stack, Queue, Linked List

--------------------------------------------------------------------------

PROJECT 3. Trees

PROJECT 4. [Graphs : Shortest Path] + [Research]







 

Announcements

 

 

Announcements

 

 

 

 

Links

 

 

 

 

 

C#

C# Programlama Dili (vikikitap)

http://www.hitmill.com/programming/dotNET/csharp.html (diğer linkleri de içeriyor)

http://www.csharpkitabi.com/

www.programmersheaven.com/2/CSharpBook

http://en.wikibooks.org/wiki/C_Sharp_Programming

http://www.csharphelp.com

http://www.csharp-station.com

http://www.c-sharpcorner.com

http://www.codeproject.com/kb/cs/#Beginners

http://www.csharpnedir.com

 

Form Applications

 

C# ListBox and ComboBox

Form Application - User Interface

Advanced Controls

Google Book C# for Programmers

Form Programming I

Form Programming II

Windows Forms

 

Laboratory Studies (Old)

 

 

COURSE SLIDES

 

 

Week

Topic

Slides and Reading

0

Data Structures : Introduction

Eckerd Intro,

1

Java Fundamentals

Java Slides

2

Java Programming Examples

3

Java Data Types

4

Object Oriented Programming Using Java

LUC Collins OOP Java, LUC 2,

5

STACK

Eckerd Stacks and Queues,

LUC Stacks and Queues

6

QUEUES

7

LINKED LISTS

Eckerd Linked Lists,

LUC Array-based Lists,

LUC Linked Lists

8

RECURSION

Eckerd Recursion,

LUC Recursion

9

TREES

Eckerd Binary Trees,

Eckerd Red Black Trees, 

LUC Binary Trees

LUC BST, AVL Trees

LUC Red-Black Trees

10

COMPARISON of ALGORITHMS and COMPLEXITY

Eckerd Arrays + Big O Notation,

LUC Analysis of Algorithms

11

SORTING and SEARCHING

Eckerd Sorting,

Eckerd Advanced Sorting,

LUC Sorting

12

GRAPHS and GRAPH APPLICATIONS

Eckerd Graphs,

LUC Graphs

13

Hash Tables

Heaps

Java Collections : ready-to-use data structures

Eckerd Hash Tables, LUC Hashing

Eckerd Heaps, LUC Heaps

 

 

 

 

OLD EXAMS

 

 

2010-2011 Fall Midterm Exam : Questions , Answers and Source Codes

 

 

2009-2010 Fall Midterm Exam : Questions , Answers and Source Codes

 

 

2008-2009 Fall Midterm Exam : Questions , Answers and Source Codes