Computer Programming How Can You Create Your Own Software? Chapter 13.

Slides:



Advertisements
Similar presentations
Computers Are Your Future
Advertisements

Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Chapter 13 Programming Languages and Program Development
Programming System development life cycle Life cycle of a program
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.
Computer Programming How Can You Create Your Own Software? Chapter 11.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Program Development and Programming Languages
Objectives Overview Define system development and list the system development phases Identify the guidelines for system development Discuss the importance.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
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.
PRE-PROGRAMMING PHASE
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Your Interactive Guide to the Digital World Discovering Computers 2012.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Chapter 13 Programming Languages and Program Development.
Chapter 13 Programming Languages and Program Development 1.
Introduction 01_intro.ppt
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Program development & programming languages Chapter 13.
Programming Languages: Telling the Computers What to Do Chapter 16.
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
Understanding Computers Ch. 131 Chapter 13 Program Development and Programming Languages.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
PROGRAMMING LANGUAGES Prof. Lani Cantonjos. PROGRAM - set of step-by-step instructions that tells or directs the computer what to do. PROGRAMMING LANGUAGE.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Chapter 15 Program Development and Programming Languages.
Computer Concepts 2014 Chapter 12 Computer Programming.
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Chapter 1 Introduction to Structured Design. Introduction  System  A combination of people, equipment, and procedures that work together to perform.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Chapter 13 Programming Languages and Program Development.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Programming and Languages
Chapter 12: Computer Programming 1 Computer Programming Chapter 12.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Microsoft Visual Basic 2012: Reloaded Fifth Edition Chapter One An Introduction to Visual Basic 2012.
Chapter 1: Introduction to Computers and Programming.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CIS 365: Visual Application Development Introduction to Computers and Programming.
CSCI-235 Micro-Computer Applications
An Introduction to Visual Basic .NET and Program Design
Chapter 12 Programming Concepts and Languages.
Chapter 1 Introduction(1.1)
and Program Development
ICT Gaming Lesson 2.
Programming Logic and Design Eighth Edition
Presentation transcript:

Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies Student Learning Outcomes 1.Understand how programmers investigate, analyze, and design software solutions to solve problems 2.Identify the basic coding control structures used in programming 3.Identify various common coding errors 4.Understand how programmers test, implement, and maintain software

©2003 The McGraw-Hill Companies Student Learning Outcomes 5.Discuss programming language generations and characteristics 6.Understand object-oriented programming concepts 7.Discuss programming frameworks, such as Sun Microsystems’s Java Platform Technologies and Microsoft’s.NET

©2003 The McGraw-Hill Companies Introduction Although you may never write a computer program, you may need a programmer to write or modify one for you. Thus, you should understand how programmers develop programs in order to meet your information requirements.

©2003 The McGraw-Hill Companies 13.1 A Programmer's View of Investigation, Analysis, and Design Investigation Analysis Preliminary phases of the systems development process Design

©2003 The McGraw-Hill Companies Programmer’s Point of View Systems Investigation –Lay the foundation for a new system –Define the problem/opportunity Systems Analysis –Focus on information and processing –Develop logical specifications Systems Design –Convert logical descriptions –Focus on physical characteristics

©2003 The McGraw-Hill Companies Systems Investigation p Fig. 13.1

©2003 The McGraw-Hill Companies Systems Analysis 2. How the software will process the information 1. What information will go into the software 3. What information the software will generate

©2003 The McGraw-Hill Companies Program Flowcharts Program Flowcharts Programmer’s Tools Pseudocode Programmer’s Tools Used In Systems Analysis

©2003 The McGraw-Hill Companies Pseudocode –Outline of necessary steps (algorithm) Use simple English One command per line Boldface important words Start at top Form modules using spaces p Fig. 13.2

©2003 The McGraw-Hill Companies Program Flowcharts –Graphical depiction of the detailed steps that software will perform –Plots software’s algorithm –Uses symbols to outline steps p Fig. 13.3

©2003 The McGraw-Hill Companies Systems Design Input – is information that comes from an external source and enters the software Input – is information that comes from an external source and enters the software Processing - manages information according to the software’s logic Processing - manages information according to the software’s logic Output – is the information software produces after it has processed input Output – is the information software produces after it has processed input

©2003 The McGraw-Hill Companies Input-Process-Output Tables Convert logical descriptions into software specifications p Fig. 13.4

©2003 The McGraw-Hill Companies 13.2 Writing Computer Software How do I Explain My Algorithm to the Computer? -Use a programming language to write (code) the software program How Do I Tell the Computer How to Read My Algorithm? -Sequential execution is when a computer performs each line of software code in the order it appears

©2003 The McGraw-Hill Companies Control Structures Repetition Control Structure Sequence Control Structure Selection Control Structure

©2003 The McGraw-Hill Companies Control Structures Sequential execution – code is executed in order it appears Control structures – you specify order in which code is executed –Sequence control structures –Selection control structures –Repetition control structures

©2003 The McGraw-Hill Companies Sequence Control Structure Executes software from top to bottom, left to right Enforces sequential execution Present in most programming languages p Fig. 13.6

©2003 The McGraw-Hill Companies Selection Control Structure Tests a condition to decide how a computer will execute software code Uses an existing condition to decide how a computer will execute software Makes a decision based on a condition p Fig. 13.7

©2003 The McGraw-Hill Companies Selection Control Structures If-Then-Else Statement If-then-else statement tests a condition in software code that results in a true or a false p Fig. 13.8

©2003 The McGraw-Hill Companies Selection Control Structures Case control statement tests a condition that can result in more than a true or false answer p Fig. 13.9

©2003 The McGraw-Hill Companies Repetition Control Structure Instructs a piece of software to repeat a series of instructions until it fulfills a condition or while a condition exists Called iteration control or loop p Fig

©2003 The McGraw-Hill Companies Do-While Statement Repetition Control Structures Do-Until Statement For-Next Statement

©2003 The McGraw-Hill Companies Repetition Control Structures  Do-while statement repeats a portion of code as long as a certain condition exists  Do-until statement repeats a portion of code as long as a certain condition doesn’t exist (it’s false)  For-next statement repeats a portion of code a precise number of times

©2003 The McGraw-Hill Companies 13.3 Testing, Implementing, and Maintaining Software Systems Development Life Cycle Phases  Construction - phase #4  Implementation - phase #5  Support - phase #6 Phases correspond to programming steps  Testing  Implementation  Maintenance

©2003 The McGraw-Hill Companies Testing Software Debugging  Process of finding errors  Bugs – common name for software errors Types of errors: Syntax Errors Syntax Errors Logic Errors Logic Errors Run-time Errors Run-time Errors

©2003 The McGraw-Hill Companies Syntax Errors – Common Causes Mistakes in a software code’s grammar Misspelling a command word Forgetting to close a module

©2003 The McGraw-Hill Companies Run-Time Errors Mistakes that occur when you run code –Not displaying a window correctly –Not matching variables in a calculation –Adding a number and a letter is a good example

©2003 The McGraw-Hill Companies Logic Errors Check for logic errors when you design an algorithm Logic error is a mistake in the way algorithm solves a problem p Fig

©2003 The McGraw-Hill Companies End User Testing Users must test software to make sure it meets their needs Acceptance testing - “sign off” that software works correctly

©2003 The McGraw-Hill Companies Software Development Environment How Do I Find Errors and Manage My Code? How Can I Make Sure There’s a Smooth Transition? How Do I Keep Software Fresh?

©2003 The McGraw-Hill Companies Software Development Environment Code can be written in a simple text editor such as Notepad Software development environment is an application that provides programming tools –Used to debug software –Manages software programs Powerful programming features Rapid application development (RAD) Computer-aided software engineering tools (CASE)

©2003 The McGraw-Hill Companies Managing Development CASE tool – software applications that help prepare reports, draw program flowcharts, and generate software code for prototypes RAD – uses prototypes to test software components until they meet specifications CVS – is an open source software tool that tracks all changes to a project’s Code

©2003 The McGraw-Hill Companies Implementing Software Comments Program Manual Program Manual Documentation User Manual User Manual

©2003 The McGraw-Hill Companies Maintaining software Software Patches –Small fix to a program problem –Uses a piece of software code Software upgrades –Used when patches are no longer enough –Substantial revision of existing software –Example – MS Office 2003 is an upgrade to MS Office XP

©2003 The McGraw-Hill Companies 13.4 Programming Language Machine language  Machine-dependent & low level language  Uses binary code Assembly language  Machine-dependent & low level language  Uses words and abbreviations  SimNet Concepts Support CD: “Programming Languages”

©2003 The McGraw-Hill Companies Programming Languages

©2003 The McGraw-Hill Companies Programming Language Progression MachineLanguage AssemblyLanguage Third-GenerationLanguages Fourth-GenerationLanguages

©2003 The McGraw-Hill Companies Machine Language Machine-dependent language is a programming language that works on a specific computer system and its components A low-level language requires programmers to code at a basic level that a computer can understand Machine-language is a machine-dependent, low-level language that uses binary code to interact with a specific computer system

©2003 The McGraw-Hill Companies Assembly Language Assembly language is a machine- dependent, low-level language that uses words instead of binary numbers to program a specific computer system An assembler is utility program that converts assembly language into machine language that a computer can use to run software

©2003 The McGraw-Hill Companies Assembly Language Program p Fig

©2003 The McGraw-Hill Companies Third-Generation Languages Third-Generation Language:  Machine-independent & high-level language  Uses human words and symbols  Procedural language  Examples  COBOL  C++  Fortran  Java

©2003 The McGraw-Hill Companies Fourth-Generation Languages Fourth-Generation Language:  Machine-independent  High-level language  Non procedural  Uses human words and symbols  Example - SQL

©2003 The McGraw-Hill Companies Programming Language Characteristics Event-Driven Interpreted Scripted Compiled

©2003 The McGraw-Hill Companies Programming Language Characteristics Compiled –Compiler –Source code & object code –C++ and Java Interpreted –Interpreter –JavaScript and VBScript

©2003 The McGraw-Hill Companies Programming Language Characteristics Scripted –Interpreted language that works within another application –Visual Basic for Applications (VBA) –Macro Event-driven –Responds to actions users perform on the program

©2003 The McGraw-Hill Companies VBA in Microsoft Excel p Fig

©2003 The McGraw-Hill Companies 13.5 Programming Frameworks Programming framework is a collection of software tools used to create a complete business solution Two most important programming frameworks: Sun’s Java Platform Technologies Sun’s Java Platform Technologies Microsoft’s.NET

©2003 The McGraw-Hill Companies Object-Oriented Programming Objects –Object property –Object method Object class Object instance  SimNet Concepts Support CD: “Object-Oriented and Visual Programming”

©2003 The McGraw-Hill Companies Java Platform Technologies Java is an object-oriented 3GL programming language developed by Sun Microsystems Sun developed Java to work on all computer operating systems that can use the Java Virtual Machine Sun has created programming frameworks to help programmers create software solutions for: –Business applications –Enterprise software –Mobile devices

©2003 The McGraw-Hill Companies Java Platform Technologies Java Programming Frameworks Java Programming Frameworks J2SE J2EE J2ME

©2003 The McGraw-Hill Companies Microsoft.NET.NET is the next generation of development environments.NET will allow businesses to create applications and systems that work almost anywhere.NET uses a combination of development tools, servers, XML Web services, and smart client software

©2003 The McGraw-Hill Companies Microsoft.NET Visual Studio.NET is a software development environment that allows programmers to write code in Visual Basic, C++, or C# for the.NET framework

©2003 The McGraw-Hill Companies

13.6 Key Terms Algorithm Assembly language Bug Business logic Computer aided software engineering (CASE) Coding Compiler Control structure Concurrent Versions System (CVS) Documentation Event-driven language Fourth generation language input

©2003 The McGraw-Hill Companies 13.6 Key Terms Integrated development environment (IDE) Interpreter Input-process-output table (IPO) Logic error Machine language Object class Object code Object instance Object method Object property Object-oriented programming (OOP) Output Processing Program flowchart Programming framework

©2003 The McGraw-Hill Companies 13.6 Key Terms Programming language Pseudocode Repetition control structure Run-time error Selection control structure Sequence control structure Software development environment Software patch Software upgrade Source code Syntax error Technical writer Third generation language User manual

©2003 The McGraw-Hill Companies Review of Concepts 1.Developing Pseudocode to Solve a Business Process  How to sell event tickets 2.Creating the Correct Control Structure 3.Debugging a Software Program  Working with macros

©2003 The McGraw-Hill Companies Hands On Projects E-Commerce 1.Exploring Technical Certifications 2.Buying a Car  Would you buy without first driving one? 3.Renting a Car

©2003 The McGraw-Hill Companies Hands On Projects Ethics, Security & Privacy 1.How Secure Is Your Software?  Do you have bugs? 2.To Install or Not to Install: That’s the Question  What’s your ethical position?

©2003 The McGraw-Hill Companies Hands On Projects on the Web 1.Exploring Programming Frameworks 2.Finding a Programming Job Online 3.Exploring Programming Resources 4.Finding Code on the Web

©2003 The McGraw-Hill Companies Hands On Projects Group Activities 1.Investigating and Designing Solutions 2.Exploring Programming Majors 3.Interviewing a Programmer 4.Deciding on Proprietary versus Open Source Software