IS101, Chapter 13: Programming and Languages
programming (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
1-program specification 2-program design 3-program code 4-program test 5-program documentation 6-program test
Generation Samples
1st 111111100000001110000 2nd ADD 210(8,13), 02 B (4,7) 3rd IF(score>90) grade = 'A'; 4th SELECT client FROM daily Log WHERE service Ends >17 5th Get Patient Diagnostic from patient symptoms "sneezing", "cough", "aching"
5 generations of programming language
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
program
A list of instructions to be carried out by a computer Statements used in a programming language such as C++, Java, or Python Programs can be: -Prewritten/packaged -Custom-made
desk checking
A testing technique in which the program code is sequentially executed manually by the reviewer
syntax error
An error in a program that makes it impossible to parse — and therefore impossible to interpret.
pseudocode
An outline of the basic ideas behind how algorithms will work. -Summary of the program before it is written
Manual testing with sample data
Correct and incorrect data manually entered, results evaluated
c. Input data
Determine the source of the data
e. Documentation
Document program specifications
debugging
Finding and fixing problems in your algorithm or program.
Generations of Programming Languages
Levels or Generations -Coding from machine languages to human or natural languages There are 5 distinct generations -Lower level is closer to machine language -Higher level is closer to human-like language
2. program design
Plan a solution using structured programming techniques >techniques -Top-down design -Pseudocode -Flowcharts -Logic structures
a. Program's objectives
Requires a clear statement of the problem being addressed
d. Processing requirement
Tasks to move input to output
Testing sample data on the computer
Tests for logic errors
b. Desired output
The end-user should communicate the inputs and outputs
Program Test
The program is tested or debugged by looking for syntax and logic errors
top down program design
To identify the program's processing steps; called modules - Each module is made up of logically related program statements
Coding
Write the program -A programming language uses a collection of symbols, words, and phrases that instruct a computer to perform specific operations
Attempt at translation
Written program goes through translator program on the computer, must be syntax error-free
program language
a set of symbols and rules used to write code that can be interpreted by a computer C++ C# Java Java Script Python Swift
1. Program specification
called program definition or program analysis -Five items must be specified: a.Program's objectives b.Desired output c. Input data required d. Processing requirements e.Documentation
6. program maintenance
ensure that current programs are running error-free
logic error
program runs but does the wrong thing
beta testing
testing by a select group of potential users; users provide feedback
3. program code
writing the program is known as 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
5. program documentation
written descriptions and procedures about a program and how to use it -Carried on throughout the programming 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