CE-242  Data Structures and Algorithms

 

Class Hours    

Thursday 14:00 - 17:00

Classroom   

CD 201

Type of Course Lecture + Laboratory
Year 2
Semester Spring
ECTS 8
Credits 4 (3+0+2)
   
   

Objective and Contents: To teach how data is arranged in computer' s memory and how computer programs manipulate the stored data. Students will have an understanding of data arrangement and algorithmic approach to the manipulation of data. Java Programming, Object-Oriented Design, Arrays and the Vector class, Recursion, Analysis of Algorithms, Sorting, Collections, Stacks, Queues, Lists, Binary Trees, Heaps and Priority Queues, Graphs.

Recommended Reading:

Data Structures and Algorithms in Java, 2nd Ed., Robert Lafore, SAMS, 2003.

Data Structures and Algorithms in Java, 2nd Ed., Micheal T. Goodrich and Roberto Tamassia, Wiley, 2001.

Introduction to Algorithms, 2nd Ed.,Thomas H. Cormen, et al,The MIT Press, 2001.

Teaching Methods:
Laboratory
: The students will run demonstration programs and workshop applets and develope computer programs for using data structures and algorithms.
Computer Usage: The students will install and setup Java Software Development Kit to compile and run programs that will be provided to them as support material.
Projects/Teamwork: Students, either individually or in a team of 2, will submit 3 term assignments, modelling data structures and their usage, coded in Java.

Assessment Tools: Assignments, term exams, final exam

Instruction Language: English

                                                                                                               

OPTIONAL HOMEWORK:

 

If your midterm grades are below 40, you can complete the following homework and send via e-mail until May 16th

 

1- Draw the flowchart of the algorithm to find the prime numbers between 1 and N (You should use the algorithm defined in the lecture)

2- Write the Java code for the algorithm (N should be given by the user as an input)

3- Analyze the algorithm or give an example output of the code (you should print every step of the program)

4- Calculate the complexity of the algorithm (time formula and the Big-O)

 

 

 

          MIDTERM II EXAM RESULTS

 

 

                                    SOLUTIONS FOR MIDTERM II

 

                                    SOLUTIONS FOR MIDTERM I

 

 

 

Tentative Calender       

 

 

 

Week

Date

Subject

Reading & Assignments

1

14 February 2008

Overview of the course and practical arrangements; Introduction and orientation

General steps to creating, compiling and running Java Programs : Basic Help Document

2

21 February 2008

Basic concepts; Basic data structures and their applications. Object Oriented Programming

  1    2    3

3

28 February 2008

Arrays: Searching,insertion, and deletion in arrays and ordered arrays. Linear search and
binary search.

Applets: Array Ordered Array

 

4

06 March 2008

Simple Sorting: Bubble sort, selection sort, and insertion sort.

Applets visualizing the Bubble sort, Selection sort and Insertion sort algorithms.

 

Sample code: array.java SelectSort.java

5

13 March 2008

Stacks and Queues: covers three data structures that can be thought of as
Abstract Data Types (ADTs): the stack, queue, and priority queue.

Applets visualizing the Stack, Queue and Priority Queue structures.

6

20 March 2008

Midterm Exam I

 

 

7

27 March 2008

Linked Lists: Insertion, searching, and deletion in linked lists.

Linked List Applet 

8

03 April 2008

Linked Lists: continued

 

9

10 April 2008

Recursion: Towers of Hanoi, mergesort.

Towers of Hanoi Applet

10

17 April 2008

Advanced Sorting: Shellsort and quicksort.

 

11

24 April 2008

 

Midterm Exam II

 

 

12

01 Mayl 2008

Binary Trees: unbalanced binary search trees.  Balanced trees

 

13

08 May 2008

Hash Tables: The hash-table approach to organizing external files.

 

14

15 May 2008

Heaps: an efficient implementation of a priority queue.

 

15

30 May 2008

Final Exam 

 

 

 

 

 

       

 

Lab Sessions

 

For all related information and documents please visit :  http://hacivat.khas.edu.tr:80/~ozgurb/ce242/

 

Evaluation Criteria 

 

Midterm Exam I      

%20

Midterm Exam II      

%20

Labs & Homeworks 

%25
Final Exam %35

 

Attendance  Requirements

 

% 70 Attandance is mandatory.