Chapter 1 Program Development Asserting Java © Rick Mercer.

Slides:



Advertisements
Similar presentations
Introduction to Programming
Advertisements

Selection Control Structures Chapter 5: Selection Asserting Java © Rick Mercer.
PROBLEM SOLVING TECHNIQUES
Programming Tools for Solution Development Module 3 Lesson 2 Assignment: Notes.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2 - Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 2 - Problem Solving
ITEC113 Algorithms and Programming Techniques
Introduction to Computer Programming in C
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
Chapter 2- Visual Basic Schneider
Programming Tools Flowcharts Pseudocode Algorithm Chapter 2.
Programming Concepts (Part A) Ping Hsu. What is a program? WHITE CAKE RECIPE 1.Preheat oven to 350 degrees F (175 degrees C). 2.Grease and flour a 9x9.
CMT1000: Introduction to Programming Ed Currie Lecture 2A: Pizza.
Lecture Notes 8/30/05 Program Design & Intro to Algorithms.
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 3P. 1Winter Quarter Structured Engineering.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Review Algorithm Analysis Problem Solving Space Complexity
Introduction to Problem SolvingS1.2.1 Bina © 1998 Liran & Ofir Introduction to Problem Solving Programming in C.
Chapter 2: Developing a Program Prelude to Programming Concepts and Design Copyright © 2001 Scott/Jones, Inc.. All rights reserved. 1 Chapter 2 Developing.
1 Chapter 1 - An Introduction to Computers and Problem Solving 1.1 An Introduction to Computers 1.2 Windows, Folders, and Files 1.3 Program Development.
The University of Texas – Pan American
Session 05: C# Patterns Algorithm Patterns: Sweep Search FEN AK IT: Softwarekonstruktion.
An ordered sequence of unambiguous and well-defined instructions that performs some task and halts in finite time Let's examine the four parts of this.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Chapter 1 Program Development Asserting Java © Rick Mercer.
Lecture 2 Fundamental Data Types. Variable Declaration.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Algorithms A sequence of instructions 1. Preheat oven to 350 degrees F (175 degrees C). Grease and flour a 9x9 inch pan or line a muffin pan with paper.
Algorithms CS139 – Aug 30, Problem Solving Your roommate, who is taking CS139, is in a panic. He is worried that he might lose his financial aid.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Coding Design Tools Rachel Gauci. What are Coding Design Tools? IPO charts (Input Process Output) Input- Make a list of what data is required (this generally.
Flowcharts. Problem Solving Computer programs are written to solve problems or perform tasks Programmers translate the solutions or tasks into a language.
13-Nov-1513-Nov-1513-Nov-15 State Machines. What is a state machine? A state machine is a different way of thinking about computation A state machine.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
CS139 – Algorithm Development Aug 23, 2004 WELCOME!
1 Programming Tools Flowcharts Pseudocode Hierarchy Chart Direction of Numbered NYC Streets Algorithm Class Average Algorithm.
Algorithms A well-defined computational procedure that takes some value as input and produces some value as output. (Also, a sequence of computational.
Chapter 2 - VB 2005 by Schneider- modified by S. Jane '081 Chapter 2 - Problem Solving 2.1 Program Development Cycle 2.2 Programming Tools.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
CSCI/CMPE 4341 Topic: Programming in Python Chapter 4: Control Structures (Part 2) Xiang Lian The University of Texas – Pan American Edinburg, TX
Problem Solving.  Similar to Solving Math Word Problem  Read the Problem  Decide how to go about Solving the Problem  Solve the Problem  Test the.
PROBLEM SOLVING. What is a Problem? A problem is a situation that needs to be resolved.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Computer Programming 12 Lesson 6 – Loop structure By: Dan Lunney.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CIS 115 All Exercises Devry University (Devry) For more course tutorials visit CIS 115 All Exercises Devry University.
CIS 115 AID Peer Educator/cis115aid.com FOR MORE CLASSES VISIT
11 Making Decisions in a Program Session 2.3. Session Overview  Introduce the idea of an algorithm  Show how a program can make logical decisions based.
CIS 115 AID Teaching Effectively/cis115aid.com FOR MORE CLASSES VISIT
LET’S FINISH - TODAY’S OBJECTIVE: Create an algorithm to direct a human “robot” from one part of the room to another. Create an algorithm to direct a human.
ALMAJMA'AH UNIVERSITY College of Science and Humanitarians Studies in Alghat Management Information System Section (211 NMA course) Introduction to Programming.
PROGRAMMING: What’s It All About?
Computer Science Department
INTRODUCTION TO PROBLEM SOLVING
Software Development Expansion of topics page 28 in Zelle
Chapter 2- Visual Basic Schneider
1.02 M Timetables 1.02M Timetables.
CIS115 Education for Service-- snaptutorial.com
CIS 115 Teaching Effectively-- snaptutorial.com
Chapter 1 Program Development
Programming Problem solving Debugging
Introduction to pseudocode
Chapter 2- Visual Basic Schneider
Algorithm and Ambiguity
Chapter 1 Problem Solving with C++
Introduction to Programming
Presentation transcript:

Chapter 1 Program Development Asserting Java © Rick Mercer

Program Development  Goals Understand an example of program development Understand the characteristics of a good algorithm Understand how algorithmic patterns can help design programs

1.1 Program Development  Program development can be defined in three steps: Analysis:Understand the problem Design: Organize the solution Implementation:Get the solution running  Program development is the progression from analysis to design to implementation

Analysis  Synonyms for analysis inquiry, examination, study  Activities Read and understand the problem statement Determine test cases

Test Cases  A program to compute your weighted average Course Grade from our syllabus 15% Labs 35% Projects 15% Test 1 15% Test 2 20% Final Determine three test cases: LabsProjectsTest 1Test 2FinalAverage

Design  Synonyms of design: model, think, plan, devise, pattern, propose, outline  We'll use these design tools: algorithms algorithmic patterns algorithm walkthroughs

Algorithms  An algorithm is a set of activities that solves a problem  An algorithm must: list activities that must be performed list the activities in the proper order

Algorithm to Bake a Cake  A recipe (a.k.a. an algorithm) Preheat Oven Grease Pan Mix ingredients Place ingredients into pan place pan in oven remove pan after 35 minutes  Switch some activities around... what happens if …

Algorithmic Patterns  Pattern: Anything shaped or designed to serve as a model or guide in making something else.  Algorithmic Pattern: Serves as a guide to help develop programs It represents a common type of action that occurs over and over again in programs A solution that can be used different contexts  Th e Input/Process/Output (IPO) Pattern can be used. This IPO pattern will be used in our second lab and our first project and quite often in the future

IPO Algorithmic Pattern Pattern:Input/Process/Output (IPO) Problem:The program requires input data to generate the desired information Outline:1. obtain input data from user 2. process input data 3. output the results

Patterns ala Alexander " Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice."  From A Pattern Language, Christopher Alexander, Oxford University Press, 1977

Example of Algorithm Design  The design deliverable will be an algorithm  The IPO patterns provides a guide to design a more specific algorithm : IPO ModelIPO applied to Chapter 1 Case Study I)nput Obtain the items that count for 127A P)rocess Compute the course grade O)utput Display the course grade

Refining Activities in algorithms  We often need to refine one or more activities (algorithm steps). For example, Compute the course grade might now be refined with the mathematical addition + and multiplication * symbols

Implementation  Synonyms for Implementation accomplishment, making good, execution  Implementation deliverable: computer program Let's do it We'll use the programming language Java We'll use the Eclipse Development Environment

One test case with the math done 15% Labs 50 *.15 = % Projects60 *.35 = % Test 170 *.15 = % Test 280 *.15 = % Final90 *.15 = 13.5 In this test case, the weighted average is = 64.5