CIS-305: Data Structures Fall 2008 1. Organizational Details Class Meeting: 4 :00-6:45pm, Tuesday, Room SCIT215 Instructor: Dr. Igor Aizenberg Office:

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Advertisements

Cpt S 122 – Data Structures Course Introduction
Jan Welcome to the Course of Data Structures and Algorithms.
1 Course Information Parallel Computing Fall 2008.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
COMS W1004 Introduction to Computer Science June 25, 2008.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
1 Foundations of Software Design Lecture 1: Course Overview Intro to Binary and Boolean Marti Hearst SIMS, University of California at Berkeley.
CS 410 Applied Algorithms Applied Algorithms Lecture #1 Introduction, class information, first problems.
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
Welcome to MAT 210. Basic Course Information Instructor Office Office Hours Beth Jones PSA 725 Tuesday and Thursday 12 noon - 1 pm Wednesday 8:30 am –
Administrivia- Introduction CSE 373 Data Structures.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 Introduction/Overview Wed. 9/5/01.
Welcome to MAT 142. Basic Course Information Instructor Office Office Hours Beth Jones PSA 725 Tuesday 10 am – 10:45 am Wednesday 8:15 am – 9:15 am Thursday.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2005 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 9/7/05.
ECE200 – Computer Organization Course Introduction.
Welcome to MAT 170. Basic Course Information Instructor Office Office Hours Beth Jones PSA 725 Tuesday and Thursday 12 noon - 1 pm Wednesday 8:30 am –
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Mr. Sheng Zhang Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
CSCE 3110 Data Structures and Algorithm Analysis.
ECS15: Introduction to Computers Fall 2013 Patrice Koehl
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
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.
chap1 Computer Programming Fall 2006 李秀惠
Chapter 01 Nell Dale & John Lewis.
MATH-331 Discrete Mathematics Fall Organizational Details Class Meeting: 11 :00am-12:15pm; Monday, Wednesday; Room SCIT215 Instructor: Dr. Igor.
Welcome to the Course CPSC 5155 Computer Architecture Edward Bosworth, Ph.D. Associate Professor Computer Science.
CHEMISTRY 10123/10125 Spring 2007 Instructor: Professor Tracy Hanna Phone: Office: SWR 418
EE-317: Information Theory Fall Organizational Details Class Meeting: 7 :00-9:45pm, Tuesday, Room SCIT213 Instructor: Dr. Igor Aizenberg Office:
Introduction COMP104: Fundamentals and Methodology.
CIS-410: Operating Systems Spring Organizational Details Class Meeting: 7:00-9:45pm, Monday, Room 252N Instructor: Dr. Igor Aizenberg Office: Aikin.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
CPS120: Introduction to Computer Science Fall: 2002 Instructor: Paul J. Millis.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CS 390 Introduction to Theoretical Computer Science.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper Peer Teacher: Aubrey Jones TA: Michael Broscius.
Welcome to CIS 2168 ! Software Design, Data Structures and Algorithms
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
CGS 1000-FALL 2009 Intro to Computers & Tech. Topics  Syllabus  Faculty Website  Campus Cruiser Introduction to Computers and Technology.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
CENG112: Data Structures 1. Text Book "Data Structures" by Richard F. Gilberg & Behrouz A. Forouzan, 2nd Edn., Thomson Course Technology, 2006, ISBN 13:
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
Welcome to CIS 2168 ! Data Structures and Algorithms
October 16, 2009System Arch 1 SYSTEM ARCHITECTURE ADVANCED SYSTEM ARCHITECTURE Graduate School of Engineering and Science, Univ. of the Ryukyus 2009/Fall-Winter.
Introduction to Computer Programming (FIT-I pro) J. H. Wang Sep. 17, 2007.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
Introduction to Computing BBA-I/BSCS-I Instructor: M. Mateen Yaqoob.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Programming for Engineers CMPSC 201C Fall 2000.
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Data Structures 1.
GC101 Introduction to computers and programs
CS5040: Data Structures and Algorithms
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Data Mining: Concepts and Techniques Course Outline
ICS103 Programming in C 1: Overview of Computers And Programming
Presentation transcript:

CIS-305: Data Structures Fall

Organizational Details Class Meeting: 4 :00-6:45pm, Tuesday, Room SCIT215 Instructor: Dr. Igor Aizenberg Office: Science and Technology Building, 115 Phone ( ) Office hours: Wednesday, Thursday, Friday – 2-00 pm Monday: by appointment Class Web Page : 2

Dr. Igor Aizenberg: self-introduction MS in Mathematics from Uzhgorod National University (Ukraine), 1982 PhD in Computer Science from the Russian Academy of Sciences, Moscow (Russia), 1986 Areas of research: Artificial Neural Networks, Image Processing and Pattern Recognition About 100 journal and conference proceedings publications and one monograph book Job experience: Russian Academy of Sciences ( ); Uzhgorod National University (Ukraine, and ); Catholic University of Leuven (Belgium, ); Company “Neural Networks Technologies” (Israel, ); University of Dortmund (Germany, ); National Center of Advanced Industrial Science and Technologies (Japan, 2004); Tampere University of Technology (Finland, ); Texas A&M University-Texarkana, from March,

Text Book "Data Structures" by Richard F. Gilberg & Behrouz A. Forouzan, 2nd Edn., Thomson Course Technology, 2006, ISBN 13: ; ISBN-10:

Control  Exams (open book, open notes): Midterm 1: October 7, 2007 Midterm 2: November 4, 2007 Final Exam: December 9, 2007  Homework 5

Grading Grading Method Homework and preparation:10% Midterm Exam 1: 25% Midterm Exam 2: 30% Final Exam: 35% Grading Scale: 90%+  A 80%+  B 70%+  C 60%+  D less than 60%  F 6

What we will study? Algorithms and their implementation The abstract data type Recursion Stacks and Queues Linear lists Trees Binary Search Trees Heaps 7

What we have to consider before we will start to study? What is the Computer Science? Why we need to study data structures? A place of data structures within the Computer Science. 8

Computer Science and Data Structures Organization of data processing and methods of data processing are a subject of Computer Science. A Data Structure is a collection of data organized in some logical pre-defined way. Studying Computer Science you will study different methods of data processing. Where is the initial point of this branch of science? 9

Historical Overview “Zero Generation”: Mechanical Computers ( ) Blez Pascal ( ), 1642, the first mechanical computer for addition and subtraction 10

Historical Overview “Zero Generation”: Mechanical Computers ( ) Gottfried Wilhelm von Leibniz ( ), 1672, the first mechanical computer for addition, subtraction, multiplication and division 11

Historical Overview “Zero Generation”: Mechanical Computers ( ) Charls Babbige ( ), 1834 Henry Babbige, 1888 “The Analytical Machine” – the first programmable computer 12

Historical Overview “Zero Generation”: Mechanical Computers ( ) Ada Augusta Lovelase ( ), 1843 The first programmer in the world, developed the first programming language in the world and the first software for the Babbige’s computer 13

Historical Overview Input and Control Device 512 Bytes Memory The 1 st generation electronic computers ( ) 14

Cybernetics Cybernetics is the study of communication and control, typically involving regulatory feedback, in living organisms, in machines and organisations and their combinations, for example, in sociotechnical systems, computer controlled machines such as automata and robots. 15

Cybernetics Norbert Wiener ( ) is a founder of Cybernetics (1948). He coined the term "cybernetics" in his book “Cybernetics or Control and Communication in the Animal and the Machine” (MIT Press, 1948), widely recognized as one of the most important books of contemporary scientific thinking. 16

Data processing Control and feedback in any computer controlled system (including a computer itself) are reduced to analysis and transmission of different data. To analyze the corresponding data, those methods that can be presented in mathematical and logical description are used. Organization of data processing and methods of data processing are a subject of Computer Science. 17

Algorithm An algorithm is a finite set of well-defined instructions for accomplishing some task which, given an initial state, will terminate in a defined end-state. To develop any algorithm, it is necessary to know, how the corresponding task can be solved. 18

Types of Algorithms Linear algorithm consists of a sequence of unconditional straightforward steps. Loop is a group of steps that are repeated until some condition will not be satisfied. Nested Loop is a loop containing another loop (loops). Branching algorithm consists of a number of subsequences that can be taken depending on some condition (conditions). 19

Algorithm In Computer Science and Engineering flowcharts are often used to graphically represent algorithms. 20

Algorithms and Programming Languages To utilize any algorithm using a computer, we have to develop a program using a programming language. Low-level language (assembly language) is a language of machine instructions. High-level language is a language, which is closer to our natural language. A program is implementation of the algorithm in a form acceptable for a computer. 21

Data Structures Any computer program serves some kind of data processing. Even those programs that do not compute anything (for instance, a program that copying a file from one location to another one) operate with some data. To access these data and to collect the resulting data, it is necessary to organize them in some reasonable structures. 22

Data Structures The simplest data structures are: a simple variable and a constant. Other data structures are: arrays, records, lists, trees, stacks, queues, etc.. Data structures are organized similarly in all the programming languages. The latter means that data structures can be studied independently of a particular programming language. Knowing data structures, it is easier to learn different programming languages. 23