Midterm Review Flashcards
Define Software
A collection of data or computer instructions that tells the computer how to work
Code vs software
Software are programs used by the computer
Code is instructions written in a form that computers can execute
Machine Code, Assembly Code, Low-Level & High-Level Code
Code is not software
What is a killer app?
Any computer program or software that is so necessary or desirable that it proves the core value of some larger technology
Examples of Killer Apps
It’s all about the sales:
DOS, Mac, Windows, iPhone, Android, The Internet
Describe Firmware
Software embedded directly in a hardware, used to make it function
Open-source vs closed source software
Source code is Public vs Private
Examples of Open and Closed source Software
Open: Firefox, MySQL, Perl, PHP, Linux
Closed: Windows, IOS, Mac OS
Categories of Application Software
Information Worker
Entertainment
Educational
Enterprise
Simulation
Media Development
Product Engineering
Software Engineering
Examples of application software used by an information worker
Spreadsheets, Email and blog clients
What are programming tools?
Applications used to create, debug, maintain, or otherwise support software development
Examples of programming tools
Compilers
Debuggers
Interpreters
Linkers
Editors
IDEs
Linters
What are differences between compiled, interpreted, hybrid
C: all at once before we load and execute the program
I: convert each line of code as you execute the program
H: Convert the source code to a pseudo-machine code. Pass to an interpreter
that converts the p-code (portable code) as it executes
Describe Machine Language
Directly executable by a CPU. Each CPU uses its own binary machine code made up of 0s and 1s.
Describe Assembly Language
Provides some human-understandable representation of 0s and 1s
Describe Low-Level Languages
Low-level language provides a minimal abstraction of the processor
Low-level code doesn’t significantly abstract the computer’s instruction set architecture but does hide the specific assembly codes.