The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.

Slides:



Advertisements
Similar presentations
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Advertisements

CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
Starting Out with C++, 3 rd Edition 1 Chapter 1. Introduction to Computers and Programming.
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 14 Programming and Languages.
Computers: Tools for an Information Age
Program Flow Charting How to tackle the beginning stage a program design.
Program Flow Charting How to tackle the beginning stage a program design.
Chapter 1 Program Design
Programming and Languages Chapter Competencies (Page 1 of 2) Describe the six steps of programming Discuss design tools including top-down design,
McGraw-Hill Technology Education © 2006 by the McGraw-Hill Companies, Inc. All rights reserved CHAPTER PROGRAMMING AND LANGUAGES.
1414 CHAPTER PROGRAMMING AND LANGUAGES. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved Competencies Describe the six steps of programming.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
BPC.1 Basic Programming Concepts
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
Programming Languages: Telling the Computers What to Do Chapter 16.
CSC141 Introduction to Computer Programming
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
1 Introduction to Computers and Programming Essential feature of a computer is the separation of operations and data.
CSC-115 Introduction to Computer Programming
Programming Lifecycle
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
CMPE13Cyrus Bazeghi 1 Programming Languages Telling computers what to do.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Computer Concepts 2014 Chapter 12 Computer Programming.
Computing Essentials 2014 Programming and Languages © 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
Software Development Programming & Languages. Programming: A Five-Step Procedure Define the problem Design a solution Code the program Test the program.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Programming and Languages
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Data Structures Using C++ 2E
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
CSC1200 INTRODUCTION TO PROGRAMMING Dr. Maureen Markel
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Introduction to Computers Lesson 13A. home Computer Program A set of instructions or statements, also called code, to be carried out by the computer’s.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
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 using Fortran 77.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Engineering Algorithms, Compilers, & Lifecycle.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
ICS 3UI - Introduction to Computer Science
Sections Basic Concepts of Programming
CSCI-235 Micro-Computer Applications
Lecture 2 Introduction to Programming
Programming Concepts and Languages
An Introduction to Visual Basic .NET and Program Design
Developing Applications
Problem Solving Techniques
Chapter 1 Introduction(1.1)
CS105 Introduction to Computer Concepts Intro to programming
The Programming Process
CS105 Introduction to Computer Concepts Intro to programming
Presentation transcript:

The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the program *

Define the Problem What do you want to solve? What is the objective? What is the question?

Define the Problem You need: Clear, specific statement of goal Expected output Expected input

Define the Problem You need to know: Constraints? Special conditions? Make a plan

Documentation improve readability you remember others understand maintenance

Design a Solution break the problem into smaller parts break subproblems into smaller solvable components do other solutions exist? pros and cons of each solution solve each subproblem integrate the solutions to the subproblems to solve the original problem * * * * *

Structured Programming Not one giant step Many small tasks Programmer concentrate on details Usually done in teams

Structured Programming Reduces time (and $) Different modules Errors isolated Design written in code

Introduction Dumb Machines Algorithms pseudocode structure charts flowcharts

PSEUDOCODE Logical steps Written in English Indenting for logical structures begin game display instructions pick a number between 1 and 100 repeat turn until number is guessed or seven turns are completed input guess from user respond to guess end repeat end game display end message

Flowchart Logical steps represented by standard symbols display instructions get number is number even? YesNo continue *

Test the Design Does it solve our problem? no- select another design - return to the analysis of the problem yes- move on

NO plan, NO help Implement the Design Lease creative part Choose a language Choose a language Write the code Write the code NO plan, NO help *

Design Example Linear Search Problem: Find the largest number in a list * Algorithm: call the 1 st is the largest call the 2 nd current (cont.)

Design Example Linear Search 1 while we are not finished 2 compare the largest to the current 3 if current > largest 4 label current as largest 5 call next number in the list current 6 repeat the while 7 output the largest * 5 call next number in the list current

Programming Languages Over 200 languages Language depends upon task COBOLLogo C++ADA PascalFORTRAN BASIC

Introduction Levels of Computer Languages: Low machine assembly

Introduction Levels of Computer Languages: High COBOL Pascal FORTRAN Logo

Introduction Levels of Computer Languages: Mid-level C C++

Introduction Procedural languages Object-Oriented languages (OOP)

Computer Can’t Understand C ++ COBOLFORTRANPascalBASICADALISP

Introduction Translation to Machine Language Interpreter Compiler linker

Introduction * source code compiler - h-files used object code linked to libraries.exe file

OOP Concepts Object-Oriented Programming (OOP) Polymorphism Inheritance Encapsulation

OOP Concepts Encapsulation Self-contained unit Data Abstraction Usable without knowing how it works

OOP Concepts InheritancePolymorphism *

OOP Concepts class = a user-defined data type A class contains variables called objects and functions called methods.

“I discovered I always have choices, and sometimes it’s only a choice of attitude.” Judith M. Knowlton