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

Slides:



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

ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
ITEC113 Algorithms and Programming Techniques
2 We need programming languages to communicate with a computer. The two broad classifications of programming languages are: Low-level and High- level.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Program Design and Development
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
Chapter 1 Introduction to C Programming. 1.1 INTRODUCTION This book is about problem solving with the use of computers and the C programming language.
Basic Definitions Data Structures: Data Structures: A data structure is a systematic way of organizing and accessing data. Or, It’s the logical relationship.
Describing Syntax and Semantics
Introduction to Computers and Programming. Some definitions Algorithm: Algorithm: A procedure for solving a problem A procedure for solving a problem.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
Intro to Programming CST JavaScript. Objectives Define software Identify the different types of software Differentiate the different types of programming.
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Chapter 01 Nell Dale & John Lewis.
Introduction to Programming Dr Masitah Ghazali Programming Techniques I SCJ1013.
CIS-305: Data Structures Fall Organizational Details Class Meeting: 4 :00-6:45pm, Tuesday, Room SCIT215 Instructor: Dr. Igor Aizenberg Office:
Introduction COMP104: Fundamentals and Methodology.
CSC1401: Introductory Programming Steve Cooper
CSCE 3110 Data Structures & Algorithm Analysis Algorithm Analysis I Reading: Weiss, chap.2.
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Algorithms and Programming
Chapter 1 The Big Picture.
Computer Programming I. Today’s Lecture  Components of a computer  Program  Programming language  Binary representation.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Chapter 12 Recursion, Complexity, and Searching and Sorting
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
Introduction to Computer Systems and the Java Programming Language.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Chapter 2: General Problem Solving Concepts
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Algorithms Java Methods A & AB Object-Oriented Programming and Data Structures Maria Litvin ● Gary Litvin Copyright © 2006 by Maria Litvin, Gary Litvin,
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.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
SWE 4743 Abstraction Richard Gesick. CSE Abstraction the mechanism and practice of abstraction reduces and factors out details so that one can.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Chapter 1 An Overview of Computers and Programming Languages.
Chapter 7 Continued Arrays & Strings. Arrays of Structures Arrays can contain structures as well as simple data types. Let’s look at an example of this,
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Software Engineering Algorithms, Compilers, & Lifecycle.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Data Structures 1.
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Introduction to formal languages and automata
Software Programming J. Holvikivi 2014.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Introduction to Data Structures
Presentation transcript:

CENG112: Data Structures 1

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

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

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? 4

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

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

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

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 8

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

Historical Overview 1956 hard disk: 5MB in size. (Not GB!) 10

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. 11

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. 12

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. 13

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. 14

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). 15

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

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. 17

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. 18

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. 19