Course Time: |
Thursday, 09:30-12:00 |
Place: |
UBE, Room 19 |
Instructor: |
Assoc.Prof.Dr.Muhammed G. Cinsdikici, muhammed.cinsdikici@ege.edu.tr // cinsdikici@gmail.com
|
Assistant: |
Res.As. Züleyha Dağdeviren |
Ofice Hour: |
Thursday,13.30-15.00 |
Office Phone: |
+90 (232) 484 34 34 |
Platforms |
1. Netbeans / Eclipse
2. Java SDK & RE |
Outcomes:
|
The purposes of the course for students are.1. Learn to program in Java
2. Learn to use the STL (Standard Template Library)
3. Learn to evaluate, select, and use libraries implementing algorithms and data structures
4. Learn key principles of algorithm and data structure design, students successfully completing the course will be able to;
a. Produce Java programs using, classes, objects, templates, pointers, references and I/O
b. Programs using binary trees and associated algorithms,
c. Designs of programming solutions independent of programming languages
d. Descriptions of the time and space requirements of algorithms and data structures to make appropriate design decisions5. The concept of templates in terms of generic programmingThe students successfully completing the course will be able to
1. Participate in project design teams
2. Contribute to various phases of software development from requirements through implementation
3. Trouble-shoot programs and implement fixes for software with performance problems
4. Port difficult-to-maintain legacy code to smaller, efficient, extensible code |
Overview: |
How to program in Java, including how to evaluate, select, and use libraries that implement a variety of algorithms and data structures- Familiarize themselves with some of the key principles for designing algorithms and data structures.- Know how to write Java codes using templates, classes and objects, references, and Java input and output.
– Know how to write programs using binary search trees, and pointer and array representations of graphs.
– Learn about the time and space requirements of various algorithms and data structures, which will help them make sound programming choices.
-Learn how to implement the design principles of divide-and-conquer, backtracking, and dynamic programming. |
Prerequisites: |
Graduate/undergraduate degrees from engineering faculties or software related departments. Fundemental computer architecture background. Familiarity Operating Systems |
Textbooks |
Data Structures and Other Objects Using Java, 4/E, M.Main, Pearson, 2012Data Structures & Algorithms, M.T. Goodrich, R.Tamassia, Wiley, 2011
Data Structures & Algorithm Analysis in Java, M.A.Weiss, Pearson, 2007
Programlama ve Veri Yapılarına Giriş (C, C++ ve JAVA ile), Şadi Evren ŞEKER, 2009
|
Projects |
All Projects are due at the beginning of class. Due dates for projects will be announcedat least a week ahead of time. No late submission will be accepted!. |
Tests: |
Students will have one final exam. Students will be tested on all material covered fromlectures and text. Exams will test student’s ability of solving problems and understandingof concepts. |
Grading: |
%20 HomeWorks + %30 MidTerm + %50 Final Exam |
Late Submission: |
Late submission of projects will not be accepted. |
Tools & Materials: |
|
Lectures: |
Week |
Date |
Lecture |
Reading |
Notes |
Homework |
1 |
03 October 2012 |
Introduction to Java Programming |
– |
– |
– |
2 |
10 October 2012 |
Object Oriented Design |
– |
– |
– |
3 |
17 October 2012 |
Arrays |
– |
– |
Hmw# 1 |
4 |
24 October 2012 |
Linked Lists |
– |
– |
– |
5 |
31 October 2012 |
Stacks |
– |
– |
– |
6 |
07 November 2012 |
Queues |
– |
– |
Hmw# 2 |
7 |
14 November 2012 |
Generic Programming |
– |
– |
– |
8 |
19-26 November |
Midterm Exam |
– |
– |
– |
9 |
28 November 2012 |
Recursion |
– |
– |
Hmw# 3 |
10 |
05 December 2012 |
Tree’s: Fundementals |
– |
– |
– |
11 |
12 December 2012 |
Tree’s: More.. (Heap, B-Tree) |
– |
– |
– |
12 |
19 December 2012 |
Search Algorithms |
– |
– |
Hmw# 4 |
13 |
26 December 2012 |
Sort Algorithms |
– |
– |
– |
14 |
02 February 2012 |
Text Processing |
– |
– |
– |
15 |
09 February 2013 |
Graphs |
– |
– |
– |
16 |
14-25 February 2013 |
Final Exam |
|
|
|
|
Projects / Assignments: |
Assignment 01 – Assignment#0Assignment 02 – Assignment#1Assignment 03 – Assignment#2Assignment 04 – Assignment#3Assignment 05 – Assignment#4Final Project – FINAL PROJECT |