Define programming and describe the six steps of programming.
Compare design tools including top-down design, pseudocode, flowcharts, and logic structures.
Describe program testing and tools for finding and removing errors.
Describe CASE tools and object-oriented software development.
Explain the five generations of programming languages.
Focus on Phase 4, Systems Development, of the systems life cycle.
Understand the programming process and the programming languages available.
Competent end users need to grasp the relationship between systems development and programming.
Program: A list of instructions for the computer to follow to process data into information.
Written using programming languages such as C++, Java, or Visual Basic.
Prewritten/Packaged: Software that is ready to use out of the box.
Custom-made: Tailored specifically to user needs.
Involves problem-solving and follows the six-step System Development Life Cycle.
Program Specification
Program Design
Program Code
Program Test
Program Documentation
Program Maintenance
Also known as program definition or program analysis.
Five Items to Specify:
Program’s objectives
Desired output
Input data required
Processing requirements
Documentation
Program Objectives: Clear statement of the problem being addressed.
Desired Output: Inputs and outputs need to be communicated.
Input Data: Determination of the data source.
Processing Requirements: Identify tasks to move input to output.
Program Specification Document: Document outlining all program specifications.
Planning a solution using structured programming techniques.
Techniques:
Top-down design
Pseudocode
Flowcharts
Logic structures
Identifies the program's processing steps known as modules.
Each module comprises logically related program statements.
An outline of the logic before writing the actual program.
Serves as a summary of what the program will accomplish.
Graphically depict the sequence of steps needed to solve a programming problem.
Write structured programs effectively by removing guesswork:
Sequential Structure: One statement follows another.
Selection Structure: A decision must be made.
Repetition Structure: Process that can be repeated based on a condition.
Coding is the process of writing the program.
Characteristics of a good program:
Reliability
Correct output production
Error catching capability
Well-documented and understandable.
Debugging: Testing to eliminate errors.
Types of Errors:
Syntax Errors: Violations of programming language rules.
Logic Errors: Incorrect calculations or missing programming procedures.
Desk Checking: Review code line by line.
Manual Testing: Entering correct and incorrect data manually.
Attempt at Translation: Must be syntax error free before compilation.
Testing Sample Data: Tests for logic errors on the computer.
Beta Testing: Feedback from a select group of potential users.
Written descriptions of program functions and usage.
Important for users and operators, ensuring understanding of the program and error messages.
Represents 75% of total application lifetime costs.
Activities include:
Ensuring the program is error-free, effective, and efficient.
Operations such as patches and software updates.
Addressing changing needs through agile development.
CASE (Computer-Aided Software Engineering): Automates portions of the development process.
OOP (Object-Oriented Programming): Emphasizes relationships over procedures, encapsulating both data and processing operations.
Programming languages evolve through five distinct generations from machine languages to human-like languages.
1st Gen (Machine Languages): Data in 1s and 0s.
2nd Gen (Assembly Languages): Uses mnemonics converted to machine language.
3rd Gen (High Level Procedural Languages): Express procedures, translated with compilers/interpreters.
4th Gen (Task-Oriented Languages): Designed for specific problems.
5th Gen (Problem and Constraint Languages): Incorporates AI concepts.
Samples of each generation listed sequentially from 1st to 5th.
Computer programmers create, test, troubleshoot, update, and repair programs.
Employers seek:
Degrees in Computer Science or Information Systems.
Traits like patience, logical thinking, and attention to detail.
Salary expectations: $51,000 to $64,000 annually.
Upcoming advancements may lead to personal programmable robots as hardware components become cheaper.
Identify and discuss each of the six steps of programming.
Describe CASE tools and OOP. How does CASE assist programmers?
What is meant by “generation” in reference to programming languages? Differentiate low-level and high-level languages.
Differentiate between a compiler and an interpreter.
Describe logic structures and the differences among the three types.