The Programming Process

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

Computers Are Your Future
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
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.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Programming and Languages Chapter Competencies (Page 1 of 2) Describe the six steps of programming Discuss design tools including top-down design,
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.
Programming Languages: Telling the Computers What to Do Chapter 16.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Hello World 2 What does all that mean?.
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.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Programming and Languages
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
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.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
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.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
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 Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
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
Programming Languages
Computer Programming (BCT 1113)
Lecture 1 Introduction Richard Gesick.
Sections Basic Concepts of Programming
CSCI-235 Micro-Computer Applications
Key Ideas from day 1 slides
Lecture 2 Introduction to Programming
Programming Concepts and Languages
Understand the Programming Process
An Introduction to Visual Basic .NET and Program Design
Developing Applications
Computer Programming.
Hello World 2 What does all that mean?.
Problem Solving Techniques
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
High Level Programming Languages
Chapter 1 Introduction(1.1)
CS105 Introduction to Computer Concepts Intro to programming
Understand the Programming Process
A programming language
Creating Computer Programs
Creating Computer Programs
CS105 Introduction to Computer Concepts Intro to programming
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
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 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 Logical steps Written in English Indenting for logical structures

Flowchart Logical steps represented by standard symbols * display instructions get number is number even? Yes No 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 NO plan, NO help Lease creative part Choose a language Write the code NO plan, NO help NO plan, NO help NO plan, NO help NO plan, NO help *

Design Example Linear Search Problem: Find the largest number in a list Algorithm: call the 1st 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 COBOL Logo C++ ADA Pascal FORTRAN 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 COBOL FORTRAN Pascal BASIC ADA LISP

Introduction Translation to Machine Language Interpreter Compiler linker

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

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

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

OOP Concepts Inheritance Polymorphism * *

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