• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/17

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

17 Cards in this Set

  • Front
  • Back
Silver Bullets
something to make costs drop as rapidly as computer hardware costs do..
Essential Difficulties
1. complexity, conformity, changeability, invisibility,
Accidentally Solved Difficulties
High-Level Languages, Time-Sharing, Unified Programming Environments
High Level Languages
reliability, simplicity, comprehensibility, productivity
Time Sharing
Preserves immediacy, and hence enables us to maintain an overview of complexity.
Unified Programming environments
Unix and Interlisp are first integrated programming to come into wide spread use, are perceived to improve productivity by integral factors.
Object Oriented Programming
is a programming paradigm that represents concepts as "objects" that have data fields (attributes that describe the object) and associated procedures known as methods. Objects, which are usually instances of classes, are used to interact with one another to design applications and computer programs.

Wikipedia
Artificial Intelligence
The theory and development of computer systems able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages.
Expert systems
program containing a generalized inference engine and a rule base, designed to take input data and assumptions and explore the logical consequences through the inferences derivable from the rule base, yielding conclusions and advice and offering to explain its results by retracing its reasoning for the user.
advantages of expert systems over programmed algorithms
1. inference engine technology is developed in an application-independent way and then applied to many uses.
2. the changeable parts of the application peculiar materials are encoded in the rule base in a uniform fashion, and tools are provided for developing, changing, testing, and documenting the rule base.
Automatic Programming
the generation of a program for solving a problem from a statement of the problem specifications.
Graphical Programming
the application of computer graphics to software design.
Above this are all the things that will not provide a silver bullet

Below are Promising Attempts.
---
Buy versus build
Instead of building the software many buy the software necessary from a vendor.
any software product is cheaper to buy then sell
Requirements refinement and rapid prototyping
The hardest single part of building a software system is deciding precisely what to build. Therefore refinement of the requirements can cut much time from development
Increment development- grow, not build, software.
Growing a more basic system to a more complex system instead of building it from the ground up.
Great Designers
Following good practices,
Yes Languages - unix, APL, Pascal, Modula, SmallTalk, Fortran
No Languages - Cobol, Pl/1, Algol