Chapter 14: Programming and Languages

Slides:



Advertisements
Similar presentations
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Advertisements

Computers Are Your Future
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Programming Creating programs that run on your PC
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 14 Programming and Languages.
Program Flow Charting How to tackle the beginning stage a program design.
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
COBOL for the 21 st Century Stern, Stern, Ley Chapter 1 INTRODUCTION TO STRUCTURED PROGRAM DESIGN IN COBOL.
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,
1 CIS 100 Winter 2005 Week 10 Lecture Dr. David Gadish.
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
Your Interactive Guide to the Digital World Discovering Computers 2012.
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.
Structured COBOL Programming, Stern & Stern, 9th edition
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
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.
Computing Essentials 2014 Programming and Languages © 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
Programming and Languages
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Chapter One An Introduction to Programming and Visual Basic.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2012 The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Chapter 14: Programming and Languages.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Chapter 1 Introduction 2nd Semester H
Systems Analysis and Design
ICS 3UI - Introduction to Computer Science
Programming and Languages
Programming Languages
CSCI-235 Micro-Computer Applications
Computer Programming.
The Software Development Cycle
Chapter 14: Programming and Languages
Lecture 2 Introduction to Programming
Programming Languages
Understand the Programming Process
Teaching Computing to GCSE
Computer Programming.
Designing and Debugging Batch and Interactive COBOL Programs
Unit# 9: Computer Program Development
Programming & languages
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 13: Systems Analysis and Design
Systems Analysis and Design
Chapter 1 Introduction(1.1)
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Chapter One: An Introduction to Programming and Visual Basic
Understand the Programming Process
PROGRAMMING AND LANGUAGES
Programming and Languages
Chapter 11 Describing Process Specifications and Structured Decisions
ICT Gaming Lesson 2.
Tonga Institute of Higher Education IT 141: Information Systems
Behind the scenes: software programming
Tonga Institute of Higher Education IT 141: Information Systems
Basic Concepts of Algorithm
Programming Logic and Design Eighth Edition
Presentation transcript:

Chapter 14: Programming and Languages

Introduction In this chapter, you focus on Phase 4, Systems Development, of the systems life cycle and learn about the programming process and some of the programming languages that are available Competent end users need to understand the relationship between systems development and programming Today’s software is generally broken into smaller pieces called objects and reused. This helps streamline the development time and cost of the new software

Programs and Programming What is a program? A problem-solving procedure A list of instructions Prewritten Custom-written Application software System software A program is a list of instructions – for computers and computer systems, these instructions can be prewritten (off-the-shelf) programs that are easy to install but are sometimes rigid in what can be accomplished When one of these prewritten programs doesn’t quite fit your needs (based on your systems analysis), you can have the list of instructions written by a programmer (Key Term) Consider that this can be expensive

What is Programming? Programming is software development Six step procedure Program specification Program design Program code Program test Program documentation Program maintenance When writing a program from scratch, the programmer generally follows these six steps to obtain an end product that will solve your computing needs. The specifications are the objectives (Key Term), the output, the input, and the processing requirements that are determined by you and the programmer. The design is the creation of the solution using a variety of techniques (generally including pseudocode, flowcharts, and logic structures). The program code is written Testing code or debugging (Key Term) to get rid of syntax and/or logic errors (Key Term). The program is documented as it is written. Sometimes this is done within the code (Key Term) itself (as with some Web languages where you can insert explanations without this information showing on the page); other times the documentation (Key Term) is done in a “manual” that will help others see where you have been/gone/or how you got where you did with your coding (Key Term). Program maintenance – As with system analysis and design, an on-going part of every software development is the maintenance – checking to be sure the program is doing what it is supposed to do and that the objectives have not changed. In organizations, computer professionals known as software engineers (Key Term) or programmers use this six-step procedure

Step 1: Program Specification Also called program definition or program analysis Five steps to complete in the process Also called program definition (Key Term) or program analysis – requires that five items are specified--1. the program’s objectives, 2. the desired output, 3. the input data required, 4. the processing requirements, 5. the documentation Be sure to document what you are doing, why, how, and what you did to get to where you are at this point!

Program Objectives in Step 1 Objectives are the problems that you are trying to solve Programming requires a clear statement of the problem that you are looking to address Programming example - a time and billing system to record the time spent on different jobs for different clients of Advantage Advertising

Program Specification in Step 1 Desired output Needed input data Required processing Documentation of program specifications End user’s sketch of desired output Example of input data Have program objectives What problems are you trying to solve? Specify your inputs before your outputs Have a list of what you want to get out of the system The end-user (not the programmer) should sketch what is needed Input data Determine the source of the data What are the processing requirements? Tasks to move input to output Document program specifications This is an essential step and is often left out

Step 2: Program Design Plan a solution using structured programming techniques Top-down design Algorithm Flowcharts Logic structures In this step, the solution is created using structured program techniques (Key Term) . Click on each link to display an example of each of the programming techniques

Top-Down Program Design Identify the program modules required First determine the outputs and the inputs of the program Use top-down-program design to identify the program’s processing steps Such steps are called program modules (Key Term) or just modules (Key Term) Each module is made up of logically related program statements Each module should have a single function The program must pass in sequence from one module to the next until all modules have been processed by the computer Review the above example with the students It is for a time-and-billing report program Return

Algorithm & Flowchart Algorithm Flow Chart Step by step method to solve a problem is algorithm Flow Chart Diagrammatic representation of algorithm Probably the two most functional are pseudocode and flowcharts. Pseudocode is an outline (in English) of the logic (route) the program will take. Be specific on this part. The rest will be easier! It is like doing a summary of the program before you write it Return

Real World Examples- Problem: How to make a tea Step 1:Start Step 2: Add water to kettle Step 3: Take tea bag Step 4: Add Sugar Step 5: Add Milk Step 6: Drink Tea Step 7: Stop

Problem: Add two numbers Step 1: Start Step 2: Read A, B Step 3: C=A+B Step 4: Print C Step 5: Stop

Algorithm Problem: Subtract 2 numbers Problem: Multiply 2 numbers Step 1: Start Step 2: Read A, B Step 3: C=A*B Step 4: Print C Step 5: Stop Step 1: Start Step 2: Read A, B Step 3: C=A-B Step 4: Print C Step 5: Stop

Algorithm Problem: Average of 3 numbers Step 1: Start Step 2: Read A, B, C Step 3: Avg=(A+B+C)/3 Step 4: Print Avg Step 5: Stop

Algorithm Problem: Area of Circle Step 1: Start Step 2: Read Radius Step 3: Area=3.14*Radius *Radius Step 4: Print Area Step 5: Stop

Algorithm Problem: Find Pass or Fail Detailed Algorithm Step 1: Start Step 2: Read Mark Step 3: Is (Mark>=60) then Print “PASS” else Print “FAIL” Step 4: Stop

Flowchart Symbols General Used Symbols

Flow Chart: Add Two Numbers Algorithm Start Flowchart Read A, B C=A+B Print C Stop

Flow Chart: Area of Circle

Flowchart-Pass or Fail

Flowchart -Biggest of two numbers

Step 3: Program Code Writing the program or coding Characteristics of a good program Works reliably Produces the correct output Catches common input errors Code is well-documented and understandable Uses an appropriate computer language This is the easiest part where you actually write or key into the computer the instructions the program is to follow Just be sure that your code is reliable – works under most conditions!

Coding in Step 3 Content-markup languages Programming languages A content markup language uses symbols, words, and phrases that instruct a computer how to display information Programming language uses a collection of symbols, words, and phrases that instruct a computer to perform specific operations. Use the most appropriate language (C++, Java, etc.) for the situation for which the code will be used. If you’re writing a program for Internet use, probably Visual Basic or Java or one of the other “newer” languages (or scripts) Again – document what you are doing and why so that when you review later or someone else needs access to your code, you will know why you did what you did the way you did it!

Step 4: Program Test Debugging to test code and eliminate errors Syntax errors Logic errors Testing process Now it’s written, so let’s test your program to be sure it does what you intended. This procedure sometimes is called “Debugging”—testing a program and correcting syntax and logic errors. Syntax errors – violation of the programming language rules Logic errors – result of omitted programming procedure or incorrect calculation Testing process involves one or more of several methods: Desk checking (Key Term) – printout of program reviewed line by line Manual testing with sample data - correct and incorrect data manually entered, results evaluated Attempt at translation – written program goes through translator program on the computer, must be syntax error free Testing sample data on the computer – tests for logic errors Beta testing (Key Term): testing by a select group of potential users (Key Term); users provide feedback

Step 5: Program Documentation Written descriptions about a program Important for people who will use and/or support the program Users Operators Programmers “Documenting” means writing a description of the purpose and process of the program. Not an afterthought at the end of the programming process, but prepared throughout the programming steps Documentation very important to Users - needing to know how to use the software; hardest part is to get documentation in “language” most lay people can understand. If you build something, you know what to expect; if someone else builds it, you may not understand why they did what they did. Operators - for dealing effectively with error codes and other problems Programmers - for updates and modifications; even programmers tend to forget how they came up with the “logic” of the program; documentation helps reconstruct the thought process and reasoning behind the code sequence.

Step 6: Program Maintenance 75% of total lifetime cost Ensures program is Error-free Effective Efficient Two activity categories Operations Changing needs As with systems analysis, the program maintenance takes up the majority of the programmer’s time This step is critical – to maintain the program and to be sure it is accomplishing what it was intended to accomplish Operations – Use this part of the process to locate and correct any errors missed previously or that have developed over the life of the program Changing needs – Make changes when and where necessary! Don’t wait until the system or program crashes—be diligent and stay on top of any potential errors. This activity is so commonplace that a special job title, maintenance programmer (Key Term) exists. Agile development (Key Term) is a new development that gets the core functionality of a program working and then expands on it until the client is satisfied

Generations of Programming Languages (Page 1 of 2) Occurring in “generations” or “levels” Coding from machine languages to human or natural languages There are five distinct generations Lower level is closer to machine language Higher level is closer to human-like language Writing code means programmer has to learn a language As we learned earlier, the computer only understands 0s and 1s. Therefore, the most basic of languages is called machine languages where all the instructions are written in a series of 0s and 1s Needless to say, this makes understanding the instructions very hard for the average person There is also “natural” languages that more closely simulate the way people actually talk and sort through problems As computers have gone through generations, so have languages Next slide displays all the levels of programming languages

Generations of Programming Languages (Page 2 of 2) 1st Gen: Machine languages 2nd Gen: Assembly languages 3rd Gen: High level procedural languages (3GLs) 4th Gen: Task-oriented languages (4GLs) 5th Gen: Problem and Constraint languages (5GL) Machine languages – data represented in 1’s and 0’s; hard to understand; vary according to make of computer! Assembly languages – abbreviations and mnemonics replace the 0’s and 1’s; easier than machine, but still hard to understand for the common person. Advantage over machine language is that Assembly language is a portable language (Key Term) from one machine to another. High level procedural languages – third-generation language (3GL) (Key Term). More closely resembles the way we talk, but still requires considerable training to be able to use and understand. When program written in procedural language, it must be translated into machine language using: Compiler (Key Term) – converts high-level language (called source code (Key Term)) into machine language (called object code (Key Term)); once done execution faster -- or Interpreter (Key Term) – converts to machine language just before processing, one statement at a time; easier to develop with Problem-oriented languages are used for solving specific problems – fourth-generation language (4GL) (Key Term). They generally require little special training on the part of the user. Also known as very high-level languages (Key Term). Query languages (Key Term) - easy commands to retrieve information from databases Application generators (Key Term) or program coder (Key Term) – preprogrammed modules written to perform a specific task Reference the interactive financial planning system (IFPS) (Key Term) Problem and constraint programming languages are still being developed; these are designed to replicate human languages. Hope is that in near future these languages can be developed to the point where they will enable a computer to learn – to remember and improve upon that memory Fifth-generation language (5GL) (Key Term)