Programming Languages

Programming Languages

Programming and Languages Learning Objectives 1. Define programming of and describe the six steps of programming. 2. Compare design tools including top-down design, pseudocode, flowcharts, and logic structures. 3. Describe program testing and the tools for finding and removing errors. 4. Describe CASE tools and object-oriented software development. 5. Explain the five generations of programming 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 Programs and Programming Program A list of instructions for the computer to follow to accomplish the task of processing data into information Statements used in a programming language such as C++, Java, or Python

Programs can be Prewritten/packaged Custom-made Programming or Software Development Actually a problem-solving procedure List of instructions for the computer to follow to process data Follows a six-step process know as the System Development Life Cycle Six-Step Software Development Life Cycle The six steps are as follows: 1.

2. 3. 4. 5. 6. Program specification Program design Program code Program test Program documentation Program test

Program Specification Also called program definition or program analysis Five items must be specified: 1. 2. 3. 4. 5. Programs objectives Desired output

Input data required Processing requirements Documentation Defining Program Specification Program objectives Requires a clear statement of the problem being addressed Desired output The end-user should communicate the inputs and outputs

Input data Determine the source of the data Processing requirements Tasks to move input to output Program specification document Document program specifications Program Design Plan a solution using structured programming techniques

Techniques Top-down design Pseudocode Flowcharts Logic structures Top-Down Program Design

To identify the programs processing steps; called modules Each module is made up of logically related program statements Pseudocode An outline of the logic of the program you will write Summary of the program before it is written Flowcharts Graphically present the detailed sequence of steps needed to solve a

programming problem Logic Structures Enables you to write structured programs, which take much of the guesswork out of programming Sequential structure One program statement follows another Selection structure A decision must be made

Repetition structure or Loop Structure Describes a process that may be repeated as long as certain condition remains true Repetition Sequence Selection

Program Code Writing the program is called coding Characteristics of a good program Reliable Produces the correct output

Catches common input errors Well-documented and understandable Structured programs one of the best ways to code effective programs Using logic structure Coding Write the program A programming language uses a collection of symbols, words, and phrases that instruct a computer to perform specific operations

Programming Languages Program Test Debugging The process of testing and then eliminating errors such as: Syntax errors are a violation of the rules of programming language Logic errors occur when the programmer uses incorrect calculation or leaves out a

programming procedure Testing process involves one or more of several methods Program Testing Processes Desk checking or Code review 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 Testing by a select group of potential users; users provide feedback Program Documentation Written descriptions and procedures about a program and how to use it

Carried on throughout the programing steps Important for people who will use and/or support the program Users need to know how to use the software Operators need to know what to do about any error messages Programmers may even remember all the details Those taking over the program will need to know details Program Maintenance

75% of total lifetime cost for an application is for maintenance Ensures program is Error-free Effective Efficient Two activity categories 1. Operations Patches programming modification or corrections Software updates significant patches

2. Changing needs Agile development starts with getting the core functionality working then expands through to customer satisfaction Case Tools and Object-Oriented Programming Computer-aided software engineering (CASE) Automates portions of the development process Object-oriented software OOP Focuses less on procedures, more on

relationships with previously defined procedure Objects contain both the data and the processing operations needed to perform a task Generations of Programming Languages Levels or Generations 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 5 Generations 1st Gen: Machine languages Data represented in 1s and 0s 2nd Gen: Assembly languages Uses abbreviations or mnemonics that are automatically converted to the appropriate sequence of 1s and 0s 3rd Gen: High level procedural languages (3GLs) Designed to express the logic the procedures that can solve general problems. Translated into machine language

with a compiler or an interpreter 4th Gen: Task-oriented languages (4GLs) Designed to solve specific problems 5th Gen: Problem and Constraint languages (5GL) Computer languages that incorporate the concepts of artificial intelligence to allow a person to provide a system with a problem and some constraints and then request a solution Generation Samples Listed to the right are samples of each

generation programming language in order from the 1st through the 5th Careers In IT Computer programmers create, test, troubleshoot, update and repair programs Employers seek individuals with Degree in Computer Science or Information Systems Desired traits include patience, logical thinking, and attention

to detail Computer Programmers can expect to earn $49,000 to $78,000 annually A Look to the Future ~ Your Own Programmable Robot It may not be to much longer before you have your own robot Hardware components needed to create are becoming cheaper

Open-Ended Questions (Page 1 of 2) 1. Identify and discuss each of the six steps of programming. 2. Describe CASE tools and OOP. How does CASE assist programmers? 3. What is meant by generation in reference to programming languages? What is the difference between low-level and high-level languages? Open-Ended Questions (Page 2 of 2) 4. What is the difference between a compiler and an interpreter? 5. What are logic structures? Describe the differences between the three

types.

Recently Viewed Presentations

  • AGILE DEVELOPMENT: TALES FROM THE SPRINT! HOW ONE

    AGILE DEVELOPMENT: TALES FROM THE SPRINT! HOW ONE

    Agile Transitionearly Decisions. Selecting the right transition team members. Empowering the transition team to implement the necessary changes. Selecting an agile consultant and dedicated scrum masters. Selected Scrum as our initial agile methodology. Getting executive buy in early. Co-located team...
  • We seek the strength our forebears had to

    We seek the strength our forebears had to

    We live by faith alone in Christ our King, and give the glory all to God alone. We speak as those who went before. of life in Christ alone. Your Spirit gives us words of light. to put before mankind....
  • Mercury - astroweb.cwru.edu

    Mercury - astroweb.cwru.edu

    The size of Mercury's likely inner core of solid iron (plus dissolved metallic silicon) is poorly constrained, as are possible immiscible zones in the molten outer core. How much of Mercury's crust is volcanic, and how much (if any) may...
  • Learn the Parts of the Human Digestive System

    Learn the Parts of the Human Digestive System

    They release your waste material from the body. Quit Review Click the picture above for a tour of the digestive system Quit Click the picture above to finish the tour of the digestive system Resources Pictures: www.google.com Videos: www.youtube.com Books:...
  • Module 3: Stewardship in Skin and Soft Tissue Infections

    Module 3: Stewardship in Skin and Soft Tissue Infections

    CT and/or MRI may show fluid along fascial planes, fascial enhancement, or gas in tissues20,21. ... Clinical impression should drive surgical decision making. Small incisions in area of concern made; if no fascial sloughing, necrosis or dehiscence, extensive debridement is...
  • Epidemiology and Prevention of Viral Hepatitis A to E:

    Epidemiology and Prevention of Viral Hepatitis A to E:

    Hepatite virale - grup de infecții transmisibile antroponoze cauzate de multiple virusuri hepatotrope cu diferit mecanism de acțiune, care se caracterizează predominant prin afectarea ficatului, cu evoluție ciclică (benignă) sau aciclică (progresivă) și se manifestă clinic prin fenomene de intoxicație...
  • The Darfur Conflict - s3.amazonaws.com

    The Darfur Conflict - s3.amazonaws.com

    The Darfur Conflict Daniel Alava Orta ... DOHA peace coalition, still people are displaced. Guerilla war Rwanda Approximately 100 days in 1994 Hutu vs. Tutsi Political power, Ethnic division Murder was the main cause of death. ... Darfur conflicts end...
  • WHMIS and the classification of matter - Mr. Murray Science 8

    WHMIS and the classification of matter - Mr. Murray Science 8

    What do you think whmis stands for? Workplace Hazardous Materials Information System. Have an open discussion with ideas written on the board - Tell them what it stands for = Workplace Hazardous Materials Information System