The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.

Slides:



Advertisements
Similar presentations
PROBLEM SOLVING TECHNIQUES
Advertisements

1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
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
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Chapter 2- Visual Basic Schneider
Program Flow Charting How to tackle the beginning stage a program design.
Program Flow Charting How to tackle the beginning stage a program design.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Program Development and Programming Languages
Chapter 1 Program Design
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
The Art of Programming Top-Down Design. The Art of Problem Solving The art of problem solving is the transformation of an English description of a problem.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
6 Steps of the Programming Process
CS 0004 –Lecture 8 Jan 24, 2011 Roxana Gheorghiu.
Simple Program Design Third Edition A Step-by-Step Approach
CSC-115 Introduction to Computer Programming
Programming Lifecycle
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Problem Solving using the Science of Computing MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
The Software Development Process
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
The Anatomy of a Computer Program Unit 3. Programs are Directions  A computer carries out the instructions in a program, line by line, exactly as they.
Program Development Cycle
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Hashemite University Computer Engineering Department
Chapter 2 - VB 2005 by Schneider- modified by S. Jane '081 Chapter 2 - Problem Solving 2.1 Program Development Cycle 2.2 Programming Tools.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
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.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
PROGRAMMING. Computer Programs  A series of instructions to the computer  pre-written/packaged/off-the-shelf, or  custom made  There are 6 steps to.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Progression in KS3/4 Algorithms MONDAY 30 TH NOVEMBER SUE SENTANCE.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
 Problem Analysis  Coding  Debugging  Testing.
ICS 3UI - Introduction to Computer Science
Algorithms and Problem Solving
Chapter 2- Visual Basic Schneider
Algorithm Algorithm is a step-by-step procedure or formula or set of instruction for solving a problem Its written in English language or natural language.
Understand the Programming Process
An Introduction to Visual Basic .NET and Program Design
Unit# 9: Computer Program Development
Problem Solving Techniques
Introduction to Algorithms
Documentation for Developers
Chapter 2- Visual Basic Schneider
Chapter 1 Introduction(1.1)
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Chapter 2- Visual Basic Schneider
The Programming Process
Understand the Programming Process
Software Development Process
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

The Art of Programming

The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific These individual solutions are combined to create a solution for the larger problem Problem Solving

Step 1: Determine what the output should look like Step 2: Determine the input needed to obtain the output Step 3: Determine how to process the input to obtain the desired output Problems with this approach? One Method: The Problem Solving Approach

Second Approach: Waterfall of Software Development

Use the problem solving approach (method 1) to define the problem Gives a clear idea of what the input looks like Defines the relations between the input and the final output Analyze: Defining the Problem

Find a logical sequence of precise steps that solve the problem. This sequence is called an Algorithm Every detail should appear, even the obvious steps Flowcharts, pseudo-code, UML Diagrams, and top- down charts can be used to help break the problem into smaller steps Test data should be run through the design to test its accuracy Design: Planning the Solution

Translate your design algorithm into computer readable code The choice of computer language depends on the needs of the program Code: Translation to Program

Locate and remove any problems in the code Testing is the process of finding the errors in the program: both logic and coding errors Debugging is the process of remove the errors found Test and Debug: Looking for Trouble

Updating the code to make sure it continues to function properly Reducing errors found after the code has been released Correcting issues with documentation (user manuals, websites, etc.) released to the public Maintenance: Keeping it Running

Documentation is necessary for both understanding code while developing software and conducting maintenance after software has been released Documentation can include comments made inside of the code, user manuals, development notes, or original design details. Documentation: The Key to Understanding

No going back to previous steps Perfect code every time! (yeah right…..) Assumes everything progresses in a linear fashion Can only be in one location at any time Always start from the beginning every time Problems With the Waterfall

The Iterative Approach: What Software Dev Really Looks Like

An English like representation of how the program language should function and mimics what the actual code will do Comprised of the words “pseudo” and “code” Pseudo meaning almost or imitation Code meaning the physical software code Pseudo-Code: The “Fake” Programming Language

Pseudo-Code: Making a PB and J Sandwich