Download presentation
Presentation is loading. Please wait.
Published byCrystal Merritt Modified over 8 years ago
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.