Chapter 11 Learning Objectives
SECTION A
After reading Section A, you should be able to:
- define the term "computer program"
- categorize small-l, medium-, and large-sized programs according to
department of Defense standards
- describe the similarities and differences in the roles of computer
programmers, systems analysts, and software engineers
- explain how the terms "code" and "coding"
relate to computer programming
- provide examples of computer programming languages
- identify keywords, parameters, and syntax elements in a sample
line of program code
- explain the differences between high-level and low-level
programming languages
- discuss the characteristics of each generation of programming
languages
- define the term "programming paradigm" and discuss how
it relates to programming languages
- list the three elements of a problem statement
- explain how "assumptions" and "known
information" relate to planning a computer program
- compose a concise problem statement when given information about a
simple problem that can be solved by creating a computer program
- explain the advantages and disadvantages of generic text editors,
program editors
- explain how using a visual development environment (VDE) differs
from the traditional approach to coding computer programs
- provide examples of "events" that are associated with
various controls in a graphical user interface
- explain syntax, runtime, and logic errors
- discuss how programmers can locate errors in a program
- explain how program documentation and remarks help streamline the
process of debugging and modifying programs
SECTION B
After reading Section B, you should be able to:
- define the term "algorithm"
- explain how programmers determine the correct algorithms to use
for a computer program
- identify algorithms expressed as pseudocode, structured English,
and flowcharts
- discuss the advantages of performing program walkthrough
- define the term "sequential execution" as it relates to
computer programs
- explain the way sequence, selection, and repetition control
structures work
- explain the advantages and disadvantages of the procedural
paradigm
- provide examples of at least four programming languages that are
typically used for procedural programs
SECTION C
After reading Section C, you should be able to:
- explain how the object-oriented paradigm differs from the
procedural programming paradigm
- distinguish between "objects" and "classes"
- explain the difference between public and private attributes
- draw a simple UML diagram to illustrate classes, attributes and
methods for an object-oriented program
- discuss how inheritance relates to classes and why inheritance is
such a key concept for making object-oriented programming efficient
- provide examples of some tasks that methods might carry out in an
object-oriented program
- explain the relationship between messages and methods
- explain how polymorphism relates to methods
- list at least four programming languages that are typically used
for object-oriented programming
- discuss the advantages and disadvantages of the OO paradigm
SECTION D
After reading Section D, you should be able to:
- explain how the declarative paradigm differs from the procedural
programming paradigm
- provide some examples of simple "facts" written in
Prolog syntax
- explain how a decision table might be used by a programmer who is
planning a program that involves complex logic
- given a simple Prolog statement, identify the predicate, argument,
and syntax elements
- distinguish between a constant and a variable
- explain how instantiation and backtracking help solve goals in a
Prolog program
- discuss the unique challenges of debugging a Prolog program
- provide examples of some problems that would be more suitable for
the declarative paradigm than for the object-oriented or procedural
paradigms
- explain the advantages and disadvantages of declarative languages
TechTalk
- discuss why a compiler is one of the most important programming
tools
- explain the advantages and disadvantages of compiles and
interpreters from a programmer’s viewpoint
- explain the difference between object code and bytecode
- explain the similarities in the Java Virtual Machine and Microsoft
CLR
- explain the significance of Microsoft’s .NET framework
- discuss the why components and APIs are so important to today’s
programmers
- differentiate between an SDK and an IDE
|