Chapter 1 Introduction.

Slides:



Advertisements
Similar presentations
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Advertisements

1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Data Structures and Programming.  John Edgar2.
ISOM MIS 215 Module 3 – Stacks and Queues. ISOM Where are we? 2 Intro to Java, Course Java lang. basics Arrays Introduction NewbieProgrammersDevelopersProfessionalsDesigners.
© 2006 Pearson Education Chapter 12: Data Structures Presentation slides for Java Software Solutions for AP* Computer Science A 2nd Edition by John Lewis,
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.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
HIT2037- HIT6037 Software Development in Java 22 – Data Structures and Introduction.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: ec2620m.htm Office: Tel 3049.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of CHAPTER 1: Introduction Java Software Structures: Designing and Using.
FALL 2005CENG 213 Data Structures1 Review. FALL 2005CENG 213 Data Structures2 Collection of items Problems that must manage data by value. Some important.
Lecture 1 Data Structures Aamir Zia. Introduction Course outline Rules and regulations Course contents Good Programming Practices Data Types and Data.
Introduction to Computing Systems
CSE373: Data Structures & Algorithms Priority Queues
INTRO TO SAP EWM.
12 Collections Software Solutions Lewis & Loftus java 5TH EDITION
Set Collection A Bag is a general collection class that implements the Collection interface. A Set is a collection that resembles a Bag with the provision.
Chapter 2 Memory and process management
Chapter 4 The easy stuff.
Advanced Operating Systems CIS 720
Chapter 11 Heap.
Fundamentals of Information Systems, Sixth Edition
CHP - 9 File Structures.
Mechanism: Address Translation
March 27 – Course introductions; Adts; Stacks and Queues
Chapter 12: Data Structures
PowerPoint® Slides to Accompany
Stacks and Queues.
Course: Introduction to Computers
CSE332: Data Abstractions Lecture 12: Introduction to Sorting
Course Description Algorithms are: Recipes for solving problems.
Anatomy of a Class & Method
CSC480 Software Engineering
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Software Architecture in Practice
What is “Data Structures”?
Chapter 1 Introduction.
Heap Chapter 9 Objectives Upon completion you will be able to:
Artificial Intelligence (CS 370D)
ECET 370 HELPS Education Your Life-- ecet370helps.com.
ECET 370 Lessons in Excellence-- ecet370.com. ECET 370 Entire Course (Devry) For more course tutorials visit ECET 370 Week 1 Lab 1 ECET.
ECET 370 HELPS Lessons in Excellence- -ecet370helps.com.
ECET370 Education for Service-- ecet370.com. ECET 370 Entire Course (Devry) For more course tutorials visit ECET 370 Week 1 Lab 1 ECET.
ECET 370 HELPS Education for Service- - ecet370helps.com.
Data Structures (CS212D) Overview & Review.
The Active Object Pattern
Data Structures and Algorithms
Chapter 2 Analysis of Algorithms
Chapter 2 Analysis of Algorithms
Chapter3 Memory Management Techniques
ITEC 2620M Introduction to Data Structures
CS3901 Intermediate Programming & Data Structures Introduction
Switching Techniques.
Priority Queues (Chapter 6.6):
Lecture 3: Main Memory.
Unit-4: Dynamic Programming
Data Structures (CS212D) Overview & Review.
Methodology – Monitoring and Tuning the Operational System
Chapter 11 I/O Management and Disk Scheduling
Ալգորիթմներ Stack, Queue, Tree.
COP3530- Data Structures Introduction
Priority Queues (Chapter 6):
CS-2852 Data Structures Week 1, Class 1 Data Structures Syllabus
Course Description Algorithms are: Recipes for solving problems.
CS533 Concepts of Operating Systems Class 14
Mechanism: Address Translation
Introduction to Project Management
Student : Yan Wang student ID:
Presented by : Aman Gupta PGT CS KV No.1, Narimedu, Madurai
Presentation transcript:

Chapter 1 Introduction

Chapter Scope Aspects of software quality Introduction to data structures Java Software Structures, 4th Edition, Lewis/Chase

Software Development Software Engineering involves the study of the techniques and theory that support the development of high-quality software The focus is on controlling the development process to achieve consistently good results As software developers, we want to: satisfy the client (the person or organization who sponsors the development) meet the needs of the user (people using the software for its intended purpose) Java Software Structures, 4th Edition, Lewis/Chase

Goals of Software Engineering Solve the right problem more difficult than it might seem client interaction is key Deliver a solution on time and under budget there are always trade-offs Deliver a high-quality solution Quality means different things to different people There are a variety of quality characteristics to consider (next slide) beauty is in the eye of the beholder we must consider the needs of various stakeholders Accomplish it all in an ethical manner Java Software Structures, 4th Edition, Lewis/Chase

Aspects of Software Quality (different computer architecture, OS) (cpu time, memory space) Java Software Structures, 4th Edition, Lewis/Chase

Data Structures Consider a physical example that illustrate the need for and various approaches to data structures: shipping containers at a dock The containers must be managed carefully (none can be lost). The loading / unloading / storing / retrieving process must be efficient. We assume that the containers are generic (all having the same shape and size) but can contain different cargo Each container has an identification number The workers (container handlers) don't need to know what's inside the containers ship warehouse transport to destination Java Software Structures, 4th Edition, Lewis/Chase

Data Structures Many issues come up How many might we need to hold at any point? How do we keep them organized? As one long line or as a grid? Sorted by id or by contents? Does the order in which they will be unloaded or loaded onto ships matter? maximum size 1D array or 2D array? ordered list , priority queue (highest priority retrieved first), or map (key-value pairs)? Needed first  loaded first ? Needed first  loaded last? Java Software Structures, 4th Edition, Lewis/Chase

Data Structures Ship: load / unload Warehouse: store / retrieve Note: Unloading the containers from the ship will reverse the order of the loading process Warehouse: store / retrieve Needed first (A) loaded first Needed first (A)  loaded last Loading order : 1 2 3 4 Loading order : 1 2 3 4 Ship A B C D D C B A Unloading order : 4 3 2 1 Unloading order : 4 3 2 1 LIFO (Stack) LIFO (Stack) Storing order : 1 2 3 4 Storing order : 1 2 3 4 Warehouse D C B A A B C D Retrieving order : 4 3 2 1 Retrieving order : 1 2 3 4 LIFO (Stack) FIFO (Queue) Java Software Structures, 4th Edition, Lewis/Chase

Data Structures It turns out no one solution will address all issues adequately Sometimes we'll need to stack them (to reverse the order) Sometimes we'll want to take them in the order they arrive Sometimes more complex solutions are required Stack (Ch03) Queue (Ch05) Binary search tree (Ch11), multi-way search tree (Ch14) Java Software Structures, 4th Edition, Lewis/Chase

Data Structures This course will explore many options for managing the objects we use in our software Quality issues as well as flexibility will be important factors Java Software Structures, 4th Edition, Lewis/Chase