Data Structures and Algorithms in Java AlaaEddin 2012.

Slides:



Advertisements
Similar presentations
Computer Science 1 V section 3 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Advertisements

5/19/2015CS 2011 CS 201 – Data Structures and Discrete Mathematics I Syllabus Spring 2014.
Computers and Society Lecture 1: administrative details and an introduction to the class Professor: Evan Korth New York University.
Computers in Principle & Practice I - V Deena Engel Computers in Principle and Practice I V , Sections 1 & 2 Fall, 2009 Deena Engel .
CSCE 210 Data Structures and Algorithms
Intro to CIT 594
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
Administrivia- Introduction CSE 373 Data Structures.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSCE 3110 Data Structures and Algorithm Analysis.
Data Structures & Agorithms Lecture-1: Introduction.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to CompSci 100! As You Arrive… Make sure you grab a syllabus packet. Read through it. I will be covering the most essential points in my talk,
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
CPT: Prelim/01 Computer Programming Techniques v Objectives –to give some background on this subject CPT, Semester Preliminaries.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Java Collections An Introduction to Abstract Data Types, Data Structures, and Algorithms David A Watt and Deryck F Brown © 2001, D.A. Watt and D.F. Brown.
Discrete Maths: Prelim/0 1 Discrete Maths (OLD) Objective – –to give some background on the course , Semester 1, Who I am: Andrew.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Introduction to Data Structures
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Computers and Society Lecture 1: administrative details and an introduction to the class Professor: Evan Korth New York University.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
Computer Science 1 Lecture 1: administrative details and Professor: Evan Korth New York University 1.
PAC I Professor Evan Korth Fall 2014 Road Map for Today Welcome to PAC I! Course Description – What material will we cover? – What am I getting myself.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Intro to CIT 594
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
BIT 143: Programming-Data Structures1 Before Class Begins: Sit in front of a computer Log in –IF you don’t yet have an account, you can use the guest account.
COP4020 INTRODUCTION FALL COURSE DESCRIPTION Programming Languages introduces the fundamentals of the design and implementation of programming languages.
 Saturday, April 20, 8:30-11:00am in B9201  Similar in style to written midterm exam  May include (a little) coding on paper  About 1.5 times as long.
Data Structures Curriculum, Trainers, Evaluation, Exams SoftUni Team Technical Trainers Software University
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
CSCE 210 Data Structures and Algorithms
CS101 Computer Programming I
Professor Evan Korth Fall 2017
CENG 213 Data Structures Dr. Cevat Şener
CS5040: Data Structures and Algorithms
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Computer Programming 1 introduction to JAVA Lecture 1 Instructor: Ruba A. Salamah Islamic University of Gaza.
Principles of Imperative Computation
CSCE156: Introduction to Computer Science II
Presentation transcript:

Data Structures and Algorithms in Java AlaaEddin 2012

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

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

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

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.

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

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

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:

9 Administrative Matters

Course Web Site Course web site is available at: es/data-structures-in-java/ Web site contains the following information:  Administrative information  Course Syllabus  Assignments  Lecture slides  Projects  Lab Exercises  Announcements 10

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

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

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

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

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

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

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  Option 3: Our Lab session. 17

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

Slide 19 of 15 Q & A Question and Answer Session

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.