James Tam A High-Level Model For Software Development What is involved in the process of designing, writing and maintaining computer programs?

Slides:



Advertisements
Similar presentations
JAVA Coursework (the same for 2A and 2B). Fundamental Information The coursework is 30 marks in your O’Level = 15% of the exam Must be word processed.
Advertisements

Designing Software With Flowcharts And Pseudo-code
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Third Edition.
Algorithms and Problem Solving-1 Algorithms and Problem Solving Mainly based on Chapter 6: “Problem Solving and Algorithm Design” from the Book: “Computer.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
James Tam Breaking Problems Down This section of notes shows you how to break down a large programming problem into smaller modules that are easier to.
Program Design and Development
James Tam Introduction To Problem Solving This section will focus on problem solving strategies.
J. Michael Moore Software Design CSCE 110 Influenced by material developed by James Tam & Jennifer Welch.
J. Michael Moore Software Design CSCE 110 Influenced by material developed by James Tam & Jennifer Welch.
James Tam Introduction to software Concepts covered What is software Categories of software and the differences between each The relation between software.
Chapter 2: Design of Algorithms
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Chapter 2: Algorithm Discovery and Design
A High-Level Model For Software Development
Genome Sciences 373 Genome Informatics Quiz Section #1 March 31, 2015.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
James Tam Creating Actual Computer Programs This section of notes describes how a computer program written by a person is translated to a form that can.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
PRE-PROGRAMMING PHASE
Chapter 12: Simulation and Modeling Invitation to Computer Science, Java Version, Third Edition.
C OMPUTER P ROGRAMMING 1 Introduction to Programming.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
James Tam Breaking Problems Down This section of notes shows you how to break down a large programming problem into smaller modules that are easier to.
Simple Program Design Third Edition A Step-by-Step Approach
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Computer Programming TCP1224 Chapter 2 Beginning the Problem-Solving Process.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science 6th Edition
Invitation to Computer Science, Java Version, Second Edition.
Computer Programming TCP1224 Chapter 3 Completing the Problem-Solving Process and Getting Started with C++
CSE 219 Computer Science III Program Design Principles.
Chapter 5 Algorithms Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information Technology.
CS 312: Algorithm Design & Analysis Lecture #23: Making Optimal Change with Dynamic Programming Slides by: Eric Ringger, with contributions from Mike Jones,
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Fall 2010 UVa David Evans cs2220: Engineering Software Class 28: Past and Future.
Lecture 11: 10/1/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
L061 Algorithms, Part 3 of 3 Topics Top down-design Structure charts Reading Sections , 3.3.
Introduction to programming Carl Smith National Certificate Year 2 – Unit 4.
ICS124 Session 8 Structured Programming 1. By the end of this section the student will be able to:  List the steps of a model Systems Development Life.
Invitation to Computer Science 5 th Edition Chapter 2 The Algorithmic Foundations of Computer Science.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
ICT PROGRAMMING INTRODUCTION. WHAT & WHY PROGRAMMING Programming is a process of developing computer programs Computer program is a set of instructions.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
Personal Planning System The Adding a Program to the Library Enterprise Edition.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Flow Charts And Pseudo Codes Grade 12. An algorithm is a complete step-by- step procedure for solving a problem or accomplishing a task.
CSE 110: Programming Language I Matin Saad Abdullah UB 404.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Engineering Algorithms, Compilers, & Lifecycle.
Topic: Introduction to Computing Science and Programming + Algorithm
Topic: Introduction to Computing Science and Programming + Algorithm
Pseudocode Upsorn Praphamontripong CS 1110 Introduction to Programming
Topics discussed in this section:
Algorithm and Ambiguity
Computer Programming.
Algorithms Key Revision Points.
The Programming Process
Algorithm and Ambiguity
Flowcharting & Algorithms
Algorithms, Part 3 of 3 Topics Top down-design Structure charts
Algorithms, Part 3 of 3 Topics Top down-design Reading
Presentation transcript:

James Tam A High-Level Model For Software Development What is involved in the process of designing, writing and maintaining computer programs?

James Tam What Is Computer Science? Review: Solving problems with the computer

James Tam Limitation: The Computer Is Not Very "Smart" My taxes returns are being audited. Help me! I don't understand.

James Tam The Computer Must Be Told Exactly What To Do Print my 1999 tax return. Print my 2000 tax return. : : : : Software: The instructions that tell the computer what to do to.

James Tam A Model For Creating Computer Software Specify the problem Develop a design Implement the design Maintain the design

James Tam Specifying The Problem Determining what problem will be solved by the software Bringing up important issues

James Tam Develop A High-Level Design How to solve this problem? (algorithm) Check the algorithm Can be specified through flowcharts and pseudo-code (next section of notes)

James Tam Developing An Algorithm: Top-Down Approach General approach Approach to part of problem Specific steps Approach to part of problem Abstract Particular Top Bottom Figure extracted from Computer Science Illuminated by Dale N. and Lewis J.

James Tam Top Down Approach: A Real Life Example Invite the people Prepare the food Make a list Call the people Plan the menu Shop for food Cook the food Write down names Check list Edit list Get phone numbers While more to call Call Mark list Get cook books Look for ideas Decide on food Invite the people Prepare the food Make a list Call the people Plan menu

James Tam Implement The Design Translating the high level to design to an actual programming language (e.g., Pascal) Test the program design Balance of this course (and the next course, CPSC 233)

James Tam Maintaining The Design Modify the program according to changing needs and problems that have been found Some in CPSC 233 (more in CPSC 333)

James Tam Why Bother With Computers: Speed Start! Done! Did we start yet?

James Tam Why Bother With Computers: Repetition Repetition …999, 1000, 1001, 13… Repeat a billion times No problemo!

James Tam Why Bother With Computers: Repetition Repetition Oops!

James Tam Why Bother With People? Creativity Intelligence

James Tam Summary What are the major steps involved in creating software Specification Design Implementation Maintenance What are the strengths of computers vs. people