Unit 10: Behind the Scenes: Software programming Flashcards
macros?
a modern software app that lets you automate featues using custom-built mini-programs
information system?
data, people, procedures, hardware, and software that helps in planning and decision making
SDLC?
system development life cycle - allows software apps to be available for multiple OSs, to work in a network, and to be error-free
6 steps of SDLC
- problem and opportunity identification
- analysis - explore problem/opportunity and develop a program specification
- design the program using a data-flow chart
- develop the program
- test the program and install it for official use
- maintain and evaluate the program’s progress
program specification?
a clear statement of the goals and objective of the project
data-flow chart?
traces all data in an information system from entry to exit point
scope creep?
changing set of requests from clients for additional features as they wait longer and longer to see a working prototype
programming?
the process of translating a task into a series of commands that a computer will use to perform that task
PDLC?
program development life cycle - the process to developing a program
5 steps for PDLC?
- describes the problem - what problem is the program supposed to solve
- plan the program’s algorithm
- translate the algorithm into programming code
- debug code
- test and document the program
algorithm?
the steps needed to complete a task
problem statement?
describes the tasks the program must do and how it will execute those tasks
what are the 3 things relevant to creating a useful program?
- data input from the user
- information output the user requires
- the method of converting the data into useful information
error handling?
a part of the program statement that establishes what the program should do if an input is invalid
testing plan?
take a list of input numbers that users would typically enter and provides a list of ideal output values should
2 ways programmers represent algorithms?
- flowcharts - a visual representation
2. Pseudocode - textual approach
what does each symbol represent in a flowchart
a) diamond
b) rectangle
c) parallelogram
d) oval
e) directed line - arrow
a) binary decision - yes or n
b) process - indicates an instruction to follow
c) input/output - data read or printed
d) terminate - end of a program
e) direction of flow - shows the direction of the path
decision points?
places, where the program must choose, form a list of actions based on the value of a certain input
2 types of decision points
- binary - can either answer yes or no - fork in the road
2. loop - asks the question again after it has been answered and the task has been completed
test condition for loop decision?
checks to see if the loop is completed and the number of times is correct
control structures?
key words in a programing language that allows the programmer to direct the flow of the program based on a decision
2 ways programmers create algorithms for specific tasks
- top-down design - where problems are broken into a series of high-level tasks
- object-orientated analysis - where programmers identify all the classes that are part of the problem
class?
category of an input defined by data and methods
what are the 2 ways classes are identified?
- by their info/data
2. by their actions
object?
an example of a class
reusability?
the ability to reuse existing classes form one project for another project
syntax?
an agreed-upon set of rules defining how a language must be structured
code statement?
sentences in a code
Syntax errors?
a violation of the syntax rules
data types?
the type of data being stored
operator?
coding symbols that represent fundamental actions of a language
inheritance?
when a new class can automatically pick up all the data and methods of an existing class and can extend/customize them as they see fit
base class?
the original class
derived class?
modified class
coding?
translating an algorithm into programing language
programming language?
a code for the set of instructions the CPU knows how to perform
5 major categories of programming language
- 1 GL
- 2GL
- 3GL
- 4GL
- 5GL
1GL?
first-generation language - machine language
machine language?
binary code
2GL
second-generation language - assembly language
assembly language?
enables programmers to write using short English-like commands
3GL?
third-generation language -uses symbols and commands to enable the programmer to communicate to computer CPU
4GL?
fourth-generation language - includes database query languages and report generators
SQL?
structured query language - an example of 4GL
5GL?
fifth-generation language - most natural language
PROgrammingLOGic?
examples of a 5GL
portability?
the capability to move a computed solution easily from one type of computer to another
variable?
each input and output item that the program manipulates
variable declaration?
tells OS that the program needs to allocate storage space in RAM
comment?
explains the purpose fo a section of code
what symbol produces a comment in C++?
// on both sides of the comment
compilation?
the process by which code is converted into machine language
compiler?
a program that understands both the programming and the machine language
source code?
the instructions programmers have written in the higher-level language
executable program?
the binary sequence that instructs the CPU to run its code
interpreter?
translates source code into an intermediate form
IDE?
integrated development environment - a developmental tool that helps programmers write and test their programs
editor?
a special tool in IDE that helps programmers as they enter the codes alerting them to any typos
debugging?
the process of running a program over and over to find and repair errors and makes sure that the program behaves as it should
2 types of error?
- logical - produces an unwanted output where the syntax is correct but a human error has occurred
- runtime - when codes that are mathematically impossible - dividing by 0
debugger?
a tool that helps programmers dissect a program as it runs in search for errors
RTM?
release to manufacturers - when a manufacturer makes changes and releases the software to other manufacturers
GA?
general availability - when a product can be purchased by the public
release cycle?
the steps to releasing a program
documentation?
when technical writers create internal documentation for the program that describes the development and technical details fo the software
Then PDLC requires (3)
- data
- infomation
- method
2 most popular programming languages?
- C/C++
2. java
COBOL?
a common programming language
popular programming languages 6 of 14
- javascript
- java
- python
- objective C
- HTML
- PHP
- C++
- ruby
- SQL
- C#
- CSS
- R
- Swift
- C
4 things programs look at when deciding what language to select for a project
- space available - each language takes a different amount of space
- speed requirement - each language executes commands at different rates
- organizational resources available
- type of target app - certain languages are customized to support specific applications
prototype?
a small model of an intended program
RAD?
rapid application development - encourages programmers to create a prototype then generate system documents as they use and remodel the product
VB?
visual basic - a language that is used to build a wide range of windows apps
BASIC?
beginner’s all-purpose symbolic instruction code - an old programming language
VBA?
visual basic application - a language used to construct custom solutions for Microsoft
VB.NET?
an object-orientated language intended to allow websites to communicate with each other easily
web services?
programs that a website uses to make info available to other websites
API?
application program interface - a set of software routines that allow software systems to work with each other
C++ and C
a) who developed them? (2)
b) when were they developed?
a) Brian Kernighan and Dennis Ritchie
b) 1978
java
a) who developed them?
b) when were they developed?
a) James Gosling
b) 1990s
architecture neutral?
a java feature that allows java code to be run on many CPUs after being compiled only once
Java applet?
a small java-based program
Java VM?
Java virtual machine - software that can explain to a java program how to function on any specific system
objective C?
the programming language most commonly used for macOS applications
Cocoa library?
lets users program for the macOS graphical user interface
Swift?
newer programming language introduced by Apple for developing on iOS and macOS devices
HTML?
hypertext markup language - the most basic formatting language for web apps
scripting language?
a simple programming language that’s limited to performing a set of specialized tasks
JavaScript?
a scripting language that’s customized to work with the elements of a web page and is often used to add interactivity to web pages
Dynamic decision making?
the page can decide how to display itself based on the choices the reader makes
VBScript?
a subset of VB for programmers that are more familiar with VB over Java
what do they stand for and what are they
a) ASP
b) JSP
c) PHP
they are examples of programming languages that produce interactive web pages
a) active server pages
b) JavaServer Pages
c) Hypertext Preprocessor
AJAX?
asynchronous JavaScript and XML - a collection of tech that enables web apps to update the info on the page without refreshing or leaving the page
XML?
eXtensible Markup language - enables designers to define their own data-based tags
JSON?
JavaScript Object Notation - a standard for exchanging info between a server computer process and client
C/C++, C#, Java, Objective C, and Visual Baisic.Net are all examples of?
programming languages
AJAX, HTML 5, VBScript, XML, and JSON are all examlpes of?
web technologies
Android SDK?
Android software development kit - needed to build apps for android smartphones and tablets
COrona and App Inventor are examples of?
tools that are used to produce games and apps quickly
Magmito?
a programming environment that supports the development of simple apps with text and graphics without programming knowledge
VB.NET and COBOL are examples of?
object-oriented languages
the association for computing machinery?
an association the encourages educator to teach mathematical and programming skills and concepts
MUMPS?
muti-Programming system - a language used to build clinical databases and important task s in the pharmaceutical industry