The Programming Process ISAT 252: Programming and Problem Solving This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.Creative.

Slides:



Advertisements
Similar presentations
Chapter 3 Program Design And Branching Structures.
Advertisements

PROBLEM SOLVING TECHNIQUES
Coding. Steps to Success 1.Create a PLAN including a detailed statement of requirements (SORs) 2.Write algorithms based on the SORs 3.Write pseudocode.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 2 - Problem Solving
Chapter 2- Visual Basic Schneider
1 Lab-1 CSIT-121 Spring 2005 Lab Targets Solving problems on computer Programming in C++ Writing and Running Programs Programming Exercise.
1 Session-I & II CSIT-121 Spring 2006 Session Targets Introducing the VC++.NET Solving problems on computer Programming in C++ Writing and Running Programs.
The Program Development Cycle and Program Design Tools
Chapter 2: Input, Processing, and Output
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
1 Chapter 8 Designing Small Programs. 2 A ‘Procedure’ v A set of instructions which describe the steps to be followed in order to carry out an activity.
Chapter 1 Program Design
1 Lab-1 CSIT-121 Fall 2004 Lab Targets Solving problems on computer Programming in C++ Writing and Running Programs Programming Exercise.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 3 Planning Your Solution
ALGORITHMS AND FLOW CHARTS 1 Adapted from the slides Prepared by Department of Preparatory year Prepared by: lec. Ghader Kurdi.
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
ALGORITHMS AND FLOWCHARTS
Computer Programming 12 Lesson 2 - Organizing the Problem By Dan Lunney.
CSC 107 – Programming For Science. Science Means Solving Problems  Physics – How does an atom work?
Introduction 01_intro.ppt
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
PROGRAMMING, ALGORITHMS AND FLOWCHARTS
Simple Program Design Third Edition A Step-by-Step Approach
Planning for the Solution
End HomeWelcome! The Software Development Process.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
CSC 107 – Programming For Science. Science Means Solving Problems  Physics -- How does an atom work?
Developing an Algorithm
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Flowcharts. Problem Solving Computer programs are written to solve problems or perform tasks Programmers translate the solutions or tasks into a language.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Software Development Method Reference : Problem Solving & Program Design in C ; Jeri R.Hanly, Elliot B.Koffman.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Programming at a high level. Developing a Computer Program Programmer  Writes program in source code (VB or other language) Compiler  Converts source.
Structured Programming (4 Credits)
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Hashemite University Computer Engineering Department
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
An Introduction to Programming with C++ Sixth Edition
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
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.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Advanced Higher Computing Science
Program design Program Design Process has 2 phases:
Chapter 2: Input, Processing, and Output
Chapter 2- Visual Basic Schneider
CS1001 Programming Fundamentals 3(3-0) Lecture 2
Lecture 2 Introduction to Programming
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
ALGORITHMS AND FLOWCHARTS
Software Development Process
ALGORITHMS AND FLOWCHARTS
Chapter 2- Visual Basic Schneider
Homework 0: Overview CSE 409R.
Problem Solving.
Flowcharting & Algorithms
Introduction to Programming
Chapter 2: Input, Processing, and Output
Presentation transcript:

The Programming Process ISAT 252: Programming and Problem Solving This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.Creative Commons Attribution-ShareAlike 3.0 Unported License

Objectives  By the end of this video you should:  Have a good idea about how to start new programming projects  Have a sense for the steps typically followed by programmers as they build a new project 2The Programming Process—ISAT 252: Programming and Problem Solving

The Programming Process  Step 1: Idea Generation  Step 2: Planning  Screen mockups on paper  Flow charts  Pseudocode  Step 3: Documentation  Step 4: Implementation  Step 5: Debugging & Quality Assurance  Step 6: Release & Deploy 3The Programming Process—ISAT 252: Programming and Problem Solving

Step 1: Idea Generation 4  What makes for a good idea?  Uniqueness is NOT necessarily importantNOT necessarily important  You care about solving the problem You care about solving the problem  The scope of the project is feasible (hint: build less)build less  Example:  My brother-in-law in Japan and I like to talk about cars  It’s not easy for either of us to convert MPG  KPL  Solution: a simple program to convert MPG  KPL The Programming Process—ISAT 252: Programming and Problem Solving

Step 2: Planning 5  For GUI programs, start with screen mockups on paper  Why paper?  MUCH faster than using a computer  You don’t get emotionally attached to the design as easily  It’s very easy to crumple up the sheet and start again  Makes it easy to compare alternative designs side-by-side  Example: Mocking up the MPG  KPL app on paper The Programming Process—ISAT 252: Programming and Problem Solving

Planning: Paper Mockups 6The Programming Process—ISAT 252: Programming and Problem Solving

Planning: Flowcharts and Pseudocode 7The Programming Process—ISAT 252: Programming and Problem Solving Start Program Get MPG Convert MPG to KPL Ouput KPL Done? Exit Program Yes No Pseudocode for 'Convert MPG to KPL' Process  Create constants for Liters per Gallon and Kilometers per Mile conversion factors  Make a variable for MPG initialized from the form input  Make a variable for KPL  Perform the calculation and store result in KPL variable

Step 3: Documentation 8  One of the most neglected phases of programming!  Why is documentation important?  Forces you to think more clearly  write better code  Helps decouple algorithm generation from code generation  Algorithms are in English  Code is in code (frequently not familiar to you)  Not having to think about both at the same time is a huge plus  Allows other to read and follow your code more easily  Especially important for collaborative and/or open-source projects  Allows YOU to read and follow your code more easily  Earn respect from fellow coders and employers The Programming Process—ISAT 252: Programming and Problem Solving

Step 4: Implementation 9  Coding is always a learning process  Expect to spend about 90% of your time being stuck  Your friends:  Google  Your textbook  Online documentation, e.g. the MSDN LibraryMSDN Library  Online forums, e.g. Stack Overflow, and Microsoft ForumsStack OverflowMicrosoft Forums  Your friends, e.g. classmates, TAs, upperclassmen  Your instructor The Programming Process—ISAT 252: Programming and Problem Solving

Step 5: Debugging & Quality Assurance 10  Use and test your application  Figure out what’s likely to go wrong  Check the accuracy of calculations/output by hand  Work to make your application bulletproof The Programming Process—ISAT 252: Programming and Problem Solving

Step 6: Release & Deploy 11  Convert your application into an installable package so others can use it  Distribute it The Programming Process—ISAT 252: Programming and Problem Solving

Summary 12  Step 1: Idea Generation  Step 2: Planning  Screen mockups on paper  Flow charts  Pseudocode  Step 3: Documentation  Step 4: Implementation  Step 5: Debugging & Quality Assurance  Step 6: Release & Deploy The Programming Process—ISAT 252: Programming and Problem Solving