|
CIS 111 Week 10 Notes: Software Programming and Languages Design |
10.1) Programming: a Five-Step procedure
Algorithm - a set of ordered steps used to solve a problem
5 Steps
1. Clarify the programming needs
2. Design the program
3. Code the program
4. Test the program
5. Document and maintain the program
First step: Clarify the programming needs
1) Clarify Objectives and users.
2) Clarify desired outputs
3) Clarify Desired inputs
4) Clarify the Desired Processing
5) Double check the feasibility
6) Document the Analysis
The second step: Design the program
1) determine the program logic using a top down approach
2) Design Details using Psuedocode, Flowcharts, and control structures
4 examples control structures
a) sequence
b) selection: If Then Else
c) case: compound if then else
d) iteration, for loop or while loop
3) structured walkthrough - formal review, scrutinize the design
The third step: code the program
Select the appropriate language
follow the syntax
The fourth step: Test the program
desk checking - proofread the code
Debug the program - remove errors - the first bug was a real moth, p. 10.11.
Run Real-World Data - enter lots of data, some of which may be imperfect,
to test the code.
The fifth step
Document and Maintain the Program
1) user documentation
2) operator documentation - help people who run large computers to
maintain software for several users
3) programmer documentation
4) maintain the program
10.2) Five generations of Programming Languages
First Generation, 1945 - machine language
Basic language of the computer - binary digits - varies from machine to
machine (not platform independent)
Second Generation, 1950s - assembly language
Assembly Language - assembles abbreviations - requires an assembler to run
Third Generation, 1960s - high level languages
Includes English like languages such as COBOL, and Basic. Requires and
interpreter or a compiler
Compiler - translates code into machine language BEFORE it is run.
pro - faster runtime
Interpreter - translates code to machine language on the fly while it is
running
pro - can be platform independent
Fourth Generation, 1970 - very high level languages
4GL for short
includes Report Generators, Query languages, and Application Generators
Fifth Generation, 1980s - natural languages
attempt to emulate human thought and speech. Considered Artificial
Intelligence.
10.3) High Level Programming
Fortran - short of Formula Translator - for Math
Adv - can handle complex mathematical and logical expressions
Dis - does not handle input and output as well as other languages
COBOL - COmmon Business Oriented Language - for Business
Adv- machine independent
Dis- it is very wordy and lengthy
C - for portability and scientific use
Adv - works well with microcomputers
Dis - difficult to learn.
BASIC - the Easy language
Adv - easy to use
Dis - processing is slow
Pascal - the simple language
Adv - easy to learn, graphics abilities, appropriate for scientific use
Div - limited input/output capabilities
10.4) Object Oriented programming
Objects are concepts of code that can be reused for similar applications
It is a self-contained module.
Methods are used to process and object.
Encapsulation
Inheritance
Polymorphism
C++ is the most common object oriented language
Visual programming - allows users to create simple program usig a GUI
instead of writing code
10.5) Internet programming
HTML - Hypertext Markup language
XML - extensible markup language
VRML - Virtual Reality Markup Language - make 3D web environments
Java - platform independent interpreted language similar to C++
Javascript - developed independently from Java, used in web browser
to create dynamic websites
ActiveX - Also for creating interactive webpages - developed by Microsoft,
features reusable components. Currently in competition with Java for
the next step in Web technology.
Homework 10:
Due: 4/3
in Interactive computing book
AC Ch. 3
3.26 #1
Checked out during lab