Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Structures and Algorithms in Java AlaaEddin 2012.

Similar presentations


Presentation on theme: "Data Structures and Algorithms in Java AlaaEddin 2012."— Presentation transcript:

1

2 Data Structures and Algorithms in Java AlaaEddin 2012

3 Road Map for Today Welcome to Introduction to Data Structures Course Description  What material will we cover?  What am I getting myself into? Administrative Issues  Course Web Page, Text Book, Office Hours, Homework, Grading, etc. Syllabus 2

4 1/2/2012 Intro 3 Prerequisites Java Programming  Class design  Operator overloading  Pointers and dynamic memory management Discrete Mathematics and Basic Calculus

5 Course Description Official Description: The use and design of data structures, which organize information in computer memory. Stacks, queues, linked lists, binary trees: how to implement them in a high level language, how to analyze their effect on algorithm efficiency, and how to modify them. Programming assignments. 4

6 1/2/2012 Intro 5 Course Goals At the end of the course, students are able to  Analyze the correctness and computational complexity of computer algorithms.  Design (specify and implement) efficient advanced Data Structures.  Know advanced design techniques and their nontrivial application to classic problems of searching, sorting, graph optimization, and combinatorial optimization.

7 What the class is really about There are two main goals of this course: I.Foundations of Abstract Data Types (ADT) a) What is a data structure? b) Examples of data structures and their real world uses. II.Foundations of Asymptotic Analysis a) How do we rate the efficiency of an algorithm? b) How does choosing the right ADT effect an algorithm's efficiency? 6

8 Foundations of Abstract Data Types An abstract data type (ADT) is a set of objects together with a set of operations. For example:  Stack  Queue  Dictionary  Tree  Priority queue 7

9 8 Introduction to Algorithm analysis Basically, we want to solve any given problem using the fewest possible computer instructions.  Two algorithms may solve the same problem. One may take a few seconds while the other takes a few years. We will analyze our data structures to see why one works better than the other for a given set of data. For example, we will learn several sort algorithms and analyze the efficiency of each.  Insertion sort  Merge sort  Quick Sort  Heap sort  See: http://math.hws.edu/TMCM/java/xSortLab/http://math.hws.edu/TMCM/java/xSortLab/

10 9 Administrative Matters

11 Course Web Site Course web site is available at: http://amabhouh.wordpress.com/category/cours es/data-structures-in-java/ Web site contains the following information:  Administrative information  Course Syllabus  Assignments  Lecture slides  Projects  Lab Exercises  Announcements 10

12 Course Text Book Data Structures and Algorithms in Java, 2/E  by Robert Lafore ISBN: 0672324539 Publisher: Sams Publishing Copyright: 2003 Lecture notes will loosely follow the book. Please keep up with the reading! 11

13 Software For the course you can use an IDE of your choice. In class I will may use any of the following IDE’s:  JCreator  Eclipse  Netbeans All three products can be downloaded from the web for free. 12

14 Grading There will be a series of homework assignments. There will be midterm and a final exams. Your grade will be determined as follows:  Group assignment (20%)  Midterm exam (20%)  Final exam (60%) Class participation will help your grade! 13

15 Assignment If you do not do the assignment, you cannot pass the course. If assignment is late, 25 points are deducted. After one week of lateness, assignment will not be accepted. Back-up your files: For you own good you must save all programs in several places (make back-up copies!!). Computer crashes or lost programs are not valid excuses for not handing in an assignment. 14

16 A Word About Cheating Discussing assignment concepts is fine, but you must submit your own work. If you are caught cheating, you will receive an immediate FAILURE for the course. 15

17 Student Civility In an effort to make this class enjoyable for everybody…  Please be on time to class!  Please do not talk to your friends and neighbors in class! It disturbs everyone, and makes it hard to concentrate. If you have a question, just ask me!  Please turn your cell-phones off! 16

18 Getting Help Help is always available! Option 1: Come to my Office Hours  Saturday and Monday 12:00 - 2:00 (I may change the time of my office hours – the course site will always be up to date)  I get bored when nobody visits!  If you cannot make my office hours, I will be happy to make an appointment with you. Please try to give me advance warning when you need an appointment. Option 2: Write to my email  amabhouh@gmail.com Option 3: Our Lab session. 17

19 18 Syllabus Here is a list of the topics we will cover:  Overview of Data Structure  Arrays  Simple Sorting  Stacks and Queues  Linked Lists  Recursion  Advanced Sorting  Binary Trees  Red-Black Trees  Hash Tables  Heaps  Graphs

20 Slide 19 of 15 Q & A Question and Answer Session

21 20 Recitation This class has a mandatory recitation. If you are not registered for the recitation, you must do so. Recitation will be led by our TA. We have not been assigned a TA yet. Until a TA is assigned, I will lead the sessions. Recitation for this week is cancelled.


Download ppt "Data Structures and Algorithms in Java AlaaEddin 2012."

Similar presentations


Ads by Google