Chapter 2: Introduction to Software and Apps
low-level language
-a programming language that includes machine and assembly languages -fast -doesn't use a lot of computer memory -technically difficult -time-consuming to write
multiple-user license
-an agreement that gives multiple software users legal access to software -the number of users and the price vary by license -bought by businesses and schools
copyright
-law that gives authors and artists the legal right to sell, publish or distribute an original work (computer software) -goes into effect as soon as the work exists in physical form -the exclusive intellectual property of the work's creator (software developer or publisher)
application software (app)
-mobile app software -productivity software a program that lets you perform specific tasks: -writing a document (Microsoft Word) -analyzing a set of numbers -preparing a presentation (Microsoft PowerPoint) -listening to music -editing photos -going to websites -checking/sending email
system software
-operating system software -utility software a program that controls operations and maintenance of a computer and its peripherals
comment
1+ lines of text programmers write within software code that gives other programmers an overview of the program and identifies the purpose of each section of code
service pack
a collection of software patches
security suite
a collection of software that typically contains antivirus, antispam, anti spyware and firewall software; may contain parental controls and network monitoring
Digital Rights Management (DRM)
a collection of technologies used by software publishers and trade groups to fight software piracy and prevent unauthorized copying of digital content; includes authentication, certificates of authenticity, encryption and digital watermarks
software publisher
a company that produces and then sells or distributes computer software; ex: Microsoft, Oracle, Apple, Google
crash
a computer program ceases to function or start properly
digital watermark
a form of DRM technology that consists of a hidden pattern or signal inserted into digital content to identify the copyright holder; can also regulate and track who makes copies of the content and how often
web-based Help
a form of assistance for software applications that can be found on a software publisher's website, blog or another software-related site; ex: online chat with a customer support rep, step-through a tutorial, training video or discussion board
application Help
a form of assistance for software applications that can include user manuals, on-screen Help and web-based resources
user manual
a form of assistance for software applications that gives instructions on using the program's features and troubleshooting common problems; come with packaged software or you can download them from the software publisher's website
on-screen Help
a form of assistance for software applications that serves as an electronic user manual with additional benefits such as the ability to search for specific topics or click links to online resources; accessed from almost every window or dialog box in a program
spyware
a form of malware installed on networked computers to track and transmit personal data such as financial info or browsing habits without the user's knowledge or permission
encryption key
a hardware device that makes secure digital content readable
programming language
a language used by software developers to create code that computers can read
site license
a legal agreement that allows an organization to install software on all computers at a site (locally or through a network); generally priced at a flat rate per site
end-user license agreement (EULA)
a legal agreement that gives a user the right to use software; ex: single-user and multiple-user license
software license
a legal agreement that grants a user rights to use software in specified ways; a contract between the software publisher and the user appears in the program settings
upgrade
a new version of software containing new features and issued by software publishers; costs users less than buying the software outright
suite
a packaged collection of purchased software such as Microsoft Office that has similar features and is sold together
software developer/computer programmer
a person who writes computer software programs using programming languages
graphical user interface (GUI)
a presentation of computer data that you interact with by selecting icons, buttons and other objects with a pointing device or your fingertip rather than typing commands
intellectual property
a product created by and belonging to the creator which is protected by U.S. copyright law from illegal copying and distribution; ownership of intangible assets such as ideas, art, music, movies and software
antispam software
a program that blocks spam from an email inbox
firewall software
a program that creates a personal security zone around your computer by monitoring all incoming and outgoing traffic and by blocking suspicious activity
debugger
a program that examines software code line by line to identify errors or bugs such as incorrect formulas or logic errors
antivirus software
a program that finds and removes viruses, Trojan horses, worms and bots from a computer; scans incoming and outgoing email messages to identify threats
custom software
a program that is designed to meet the unique needs of an organization or business; may be created by outside companies or by a company's internal developers (more time consuming and expensive than purchasing packaged software)
packaged software
a program that is mass produced and appeals to a wide range of users; generally copyrighted and has many features, it includes application software such as Microsoft Word and Adobe Photoshop
antispyware
a program that prevents spyware from installing itself on a computer and removes any existing spyware
web app
a program that resides on a server on the Internet rather than a user's device and is run through a web browser; available for common apps such as email, games, mapping, photo sharing, etc. some apps are free, some require a one-time registration fee and some require a periodic subscription charge
security software
a program you can install to protect your computer from harm caused by malware
high-level language
a programming language developers use to create source code with words and structures similar to spoken language; easier to use than a low-level language but must be translated from source code into machine code before a computer can read it
extreme programming model
a programming methodology that relies on short development cycles and continual feedback to drive design and coding; changes can be made to the design and software code throughout the development process
authentication (technologies)
a security method that requires users to provide a valid user ID and password to access data; grant access to web-based software
encryption
a security method that scrambles or codes data as it is transmitted over a network or that makes digital content unreadable unless viewed with a valid encryption key or authorized hardware device
two-factor authentication
a security technology that requires more than one user verification method such as a password as well as entering a code sent to the user's mobile phone
Software as a Service (SaaS)
a service that allows users to purchase a monthly software subscription for a set amount per month, instead of paying for a product all at once and using it perpetually; ex: Microsoft Office 365
(software) program
a set of instructions that tells a computer what to do, how to do it and where to send the results or output
machine language
a software development language that uses 1s and 0s (binary code) which can run directly on the processor
assembly language
a software development language that uses symbols and abbreviations known as "op codes"
assembler
a software tool that translates assembly language into machine code
compiler/interpreter
a software tool that translates source code from high-level languages into machine code so it can be understood by the processor; identifies coding errors
text/program editor
a software tool used by software programmers that allows them to write code using a word processing-like interface that often includes features such as AutoCorrect and AutoComplete
algorithm
a step-by-step procedure that programmers use in coding instructions for solving specific problems using programming languages and program development tools
quality assurance (QA)
a team that tests an application thoroughly to confirm that it works as advertised; involves communication between the testers and the programmers as bugs are found and then fixed
copy protection technology
a technology that prevents consumers from copying digital content or limit the number of copies they can make; ex: Apple limits the number of times you can copy a song that you purchase at the iTunes store
beta
a test version of software distributed by software publishers to selected users so they can help identify problems and even request new features before final software is released
in-app purchase
a way that developers monetize otherwise free apps
single-user license
an agreement that grants one software user the right to use the software; bought by students and home users
license
an agreement you enter into when you use purchased software; may include how many computers the software can be installed on and whether there is an expiration date
adaptive
an automotive technology that can detect if your car is following another car too closely and adjust the speed to maintain a safe distance
restore point
an electronic marker indicating a particular computer configuration at one time
Linux operating system
an open-source operating system developed in 1991 by Linus Torvalds
software update
an updated version of a program issued by the software publisher periodically to fix problems, enhance features and improve performance; can be in the form of a patch (minor fix) or service pack (major enhancement) that replaces small sections of existing code with the new, improved code
productivity software
application software that makes people more productive by automating common or repetitive tasks; includes word processing, spreadsheet, database, presentation and graphics programs
code library
contains modules of customizable code for common functions such as accessing files or issuing the Print command
open source software
copyrighted software whose source code is available to the public (open); users can copy, modify and customize the software with certain restrictions -typically distributed for free and requires less disk space and memory than commercial programs -lacks customer support -can cause compatibility issues with other software -ex: Firefox, Audacity, OpenOffice
software development kit (SDK)
creating software by software developers (programming); collections of programming tools designed for specific types of applications or programming languages
backed up
describes data that is copied to an external drive or online location for safekeeping
spam
electronic junk mail; reduced by anti-spam software
predictive methodology
in designing, writing and testing software, a methodology designed to minimize changes later in the development process; useful for large-scale development projects using many programmers across multiple locations ex: development progresses sequentially from one phase to the next; when one phase is finished, the next begins
agile/adaptive methodology
in designing, writing and testing software, a methodology that focuses on flexibility, where program designs and specifications change and evolve as a project moves forward -useful for projects with small development teams working closely together -ex: extreme programming model
Integrated Development Environment (IDE)
in programming software, collections of programming tools designed for specific types of applications or programming languages; ex: Visual Studio
replicate
in troubleshooting a computer problem, the ability to reproduce a problem in an effort to determine its cause
instructions
lines of computer code that execute events in sequence to complete a task
malware
malicious software including viruses and spyware that installs itself without permission and can damage data and programs
safe mode
mode for rebooting your computer that runs only essential programs so you can isolate problems
vertical market software
productivity software customized for specific industries such as student information software used by schools to process course registrations, build class schedules and track attendance and grades
mobile app
program designed specifically for mobile devices such as smartphones and tablets
computer software
programs that manage the functions of computers and many other devices; includes system and application software and can be found on other types of devices such as refrigerators, cameras and cars to control their operation
software development methodology
provides a framework for designing, writing and testing software; ex: predictive and agile (each has many different models)
rebooting
restarting a computer either from a cold boot or warm boot
warm boot
restarting your computer from a powered-on state; uses the operating system to restart
restore
return an operating system to a previous version or to a restore point created by the operating system; preserves files, but recent drivers, apps & updates are removed
reset
returns a computer to its factory settings; used in extreme cases of computer malfunction (only after carefully backing up your data)
source code
software code created by high-level languages using words and structures similar to spoken languages; instead of binary code, might include "print"
software development/programming
software developers creating computer software; the act of writing computer-readable code
freeware
software distributed free of charge via the Internet where the developer retains the software rights
app store
software publishers' online stores that allow you to purchase and download applications after creating an account and signing in; ex: Windows Store, Google Play
preinstalled software
software that is already installed on a computer at the time of purchase; includes an operating system and utility programs
perpetual software
software that is purchased once and can be used indefinitely
horizontal market software
software that performs tasks common to an industry such as payroll processing, accounting and project management
public domain
software whose ownership rights are public property and which is available to anyone at no cost
utility software/program
system software that performs maintenance-related tasks on computers such as locating files cleaning up or defragmenting (consolidating data on) disks and compressing files; runs and maintains the computer
operating system (OS)/platform
system software, such as Microsoft Windows, Apple Mac OS X and Linux, that allocates memory, launches applications, configures hardware devices and establishes your Internet connection
piracy
the illegal copying and distribution of copyrighted software; a widespread problem for software publishers
input
the information a computer user provides when issuing a command to a computer by typing on a keyboard, selecting a menu option, pressing a button or interacting with a touch screen
cold boot
the process of restarting your computer from a powered-down state
monetize
to design software features that will create income for the developer; ex: in-app purchases, ads, partnerships with other brands that target similar users
download
to electronically copy information such as packaged software from the Internet to your computer
load
to read and transfer data as when a computer or mobile device loads a program or app from a storage device into memory so you can use it
uninstall
to remove such as removing unwanted programs from a computer
software patch
updated software code that fixes a known bug
debugging tool
used by software programmers to test for errors
device driver
utility program that controls peripheral devices such as keyboards, printers or scanners; run in the background