Module 2 Flashcards

1
Q

What is a notational system?

A

One used to represent different
quantities or characters. Notational systems used to represent values and quantities include decimal, binary, and hexadecimal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is decimal notation?

A

Decimal is based on the principle of expressing ten different numbers using a single digit in the range 0 to 9.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is place value?

A

Each digit as we move from right to left (from least to most significant) is worth the base number (ten) times
more than the preceding digit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is binary notation?

A

Binary is a numbering system where each single digit can express only two values, in the range 0 to 1. Each column is worth the base number (two) times more than the preceding column as we move from least to most significant (right to left).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is hexadecimal notation?

A

The hex notation system enables you to express 16 different numbers using a single digit in the range 0 to F. In this notation, the letters A through F are used to express numbers larger than nine (which require two digits of decimal to express). Thus, A is 10, B is 11, C is 12, D is 13, E is 14 and F is 15.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are bits and bytes?

A

The basic unit of computer data is the binary digit or bit, which can represent two values (zero or one). Computer memory and file sizes in Windows are measured in multiples of bits. The first multiple is the byte, which is eight bits. A double byte
is 16 bits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the 5 main byte sizes?

A

■ KiloByte (KB)—1000 bytes (or 103 or 101010 bytes). Small files are often measured in KB.
■ MegaByte (MB)—10001000 bytes (or 1,000,000 bytes). Many files would be measured in megabytes.
■ GigaByte (GB)—1000
1000*1000 bytes (1,000,000,000 bytes). Gigabytes are usually used to talk about disk capacity.
■ TeraByte (TB)—1000 GB (1,000,000,000,000 bytes). Some individual disk units might be 1 or 2 terabytes but these units are usually used to describe
large storage networks.
■ PetaByte (PB)—1000 TB or 1015 bytes (1,000,000,000,000,000 bytes). The largest storage networks and cloud systems would have petabytes of
capacity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is throughput rate?

A

When data is transferred between components in the computer or between computers over a network, the throughput rate that a particular connection can sustain is measured in bits per second (bps).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the main throughput units?

A

■ Kbps (or Kb/s)—1000 bits per second. Older computer peripheral interfaces (or buses) and slow network links would be measured in Kbps.
■ Mbps (or Mb/s)—1,000,000 bits per second. Many internal computer interfaces have throughputs measured in Mbps. Wireless networks and
residential Internet links also typically have this sort of throughput.
■ Gbps (or Gb/s)—1,000,000,000 bits per second. The latest PC bus standards and networks can support this higher level of throughput.
■ Tbps (or Tb/s)—1,000,000,000,000 bits per second. This sort of capacity is found in major telecommunications links between data centers, cities, and countries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the independent speed of a computer’s processor described in?

A

A computer’s internal clock and the speed at which its processors work is measured in units of time called Hertz (Hz). 1 Hz represents one cycle per second.
■ Megahertz (MHz)—1 million (1,000,000) cycles per second. Older PC bus interfaces and many types of network interface work at this slower
signaling speed.
■ Gigahertz (GHz)—1000 million (1,000,000,000) cycles per second. Modern CPUs and bus types plus fiber optic network equipment work at these
much faster speeds.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the 5 main data types?

A

■ Integers—these are whole numbers. For example: 5, 21, or 65536. An integer data type consumes 1 to 8 bytes of computer storage.
■ Floating-point numbers—this type can support decimal fractions such as 4.1, 26.4, or 5.62. A floating-point number (or just “float”) consumes between 4 and 8 bytes of storage. Note that the floating-point type could store a whole number too (4.0 for instance).
■ Boolean values—these are a special numeric data type indicating that something is either TRUE or FALSE (with a 1 or 0). They consume a single bit of storage.
■ Characters—a character (or char) is a single textual character, and can be a letter of the alphabet, a symbol, or, indeed, a numerical character. For
example: a, D, 7, $, @, #. These consume one byte of storage. Note that when a number is entered as a character data type, you cannot perform any mathematical operations on it.
■ Strings—a string is a collection of text characters. For example: XYZ, Hello world. There is no real limit on the amount of storage that can be used by a string. Generally, you define the string length when you define
the data type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Why is data representation important?

A

When binary values (1s and 0s) are used for char and string data types, there must be some means of data representation by which different value bytes
map to letters, numbers, and symbols in a character set. There are two common ways of presenting character set data: ASCII and Unicode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is ASCII?

A

In ASCII (American Standard Code for Information Interchange), each number or character in a text file or string variable is represented by a seven- bit binary number. With seven bits of binary, you can express 128 different values (0 through 127).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Unicode?

A

ASCII, although widely adopted, is a very old standard (devised in early 1960s). More recently, Unicode has become more prevalent. Unicode enables you to handle character data and express that data across platforms in a uniform way.
Unicode comprises:
■ A set of code charts that handle visual reference.
■ A data encoding method.
■ A set of standard character encodings.
■ A set of reference data files.
■ Additional properties, including:
● Character properties.
● Rules to handle normalization, rendering, display order (for languages that display right to left instead of left to right). There are a number of different Unicode character encoding standards, including UTF-8, UTF-16, and UTF-32. UTF-8 is used by many websites.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a security control?

A

Designed to prevent, deter, detect, and/or recover from attempts to view or modify data without
authorization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Return on Security Investment (ROSI)?

A

To calculate ROSI, you perform risk assessments to work out how much the loss of data would cost
your organization and how likely it is that data loss might occur. The use of security controls should reduce both the impact and likelihood of losses,
justifying the investment made.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are some examples of security controls?

A

■ Backup—ensure that you maintain copies of your data and that these copies can be quickly and easily accessed when necessary.
■ Access control—your data might have a value to your business competitors. Therefore, it makes sense to try to control access to stored data. You can use the following technologies to control access:
● Permissions—most operating systems provide a number of methods with which you can assign permissions on data files to users and
groups of users.
● Usage restrictions—you can use rights management software to control what users can do with data files. For example, you can allow specified
users to read a file but not to copy or print a file.
● Data encryption—this means that data is encoded in some way that only a person with the correct key can read it. Even if someone obtained a copy of encrypted data, they would not be able to read it without the
key. This means that rather than try to protect the data, the security system only has to protect the key, which is smaller and easier to defend. Some operating systems offer the ability to encrypt data while it is at rest (when stored on a disk). You can also use technologies to
encrypt data when it is in transit between the nodes on a network.
● Firewalls—on a network, a firewall can control how hosts and network applications are accessible to one another.
■ High availability—it is often the case that temporary loss of access to data can lead to high costs for an organization. Consider a situation when financial transactions are not available to a banking institution. You can implement technologies that enable you to ensure your data is available in the event of one or several failures of hardware or software components
within your infrastructure. These technologies are referred to as fault tolerance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is Intellectual Property (IP)?

A

Often the most valuable information asset that an
organization owns. There are various different types of IP and different ways to protect them from theft.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is copyright?

A

Automatic legal protection granted to certain types of work indicating that the copyright holder owns the right to control the use of the work, including rights of publication, distribution, or sale.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is a trademark?

A

As copyright is not given to the selection of a name, if a company wants to promote its goods it will normally trademark its name and/or logo. A trademark
must be distinctive within the industry in which the company is selling goods and services. An ordinary trademark is indicated by the ™ symbol. A registered
trademark is indicated by ®.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is a patent?

A

A patent is legal protection for some kind of invention. Unlike copyright, a patent can apply to an idea so long as the idea is original (or novel), useful, and distinctive or non-trivial. If you have registered the patent, you do not actually have to have made a copy of the invention or put it into practice. A patent must be applied for and registered; however, there is no automatic protection, as there is for copyright. A patent infringement is where someone uses, makes, sells, or imports your invention without your permission. It does not matter whether the use was intentional or not.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is a digital product?

A

A digital product is one that is sold or distributed as binary computer data. Examples of digital products include software, computer games, ebooks, music
tracks, streaming video, video downloads, and so on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is Digital Rights Management (DRM)?

A

Digital Rights Management (DRM) systems have been invented to try to enforce “pay-per-use” for digital products. When you purchase a digital product, the vendor may license the file for use on a restricted number of devices. You generally need to use your account with the vendor to authorize and deauthorize devices when they change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are 2 examples of data-driven business decisions?

A

■ Production and fulfilment—analysis of things such as process flows, manufacturing and assembly, delivery and transportation networks, and ordering and billing systems provides the opportunity to make them more
productive (efficient). Better productivity reduces costs and can improve customer satisfaction.
■ Sales and marketing—information about individual consumers gleaned from web search and social media histories allows for personalized advertising. Large data sets of the same information aggregating the
activity of millions of consumers can be used to identify trends and develop products and services to meet changing demands and interests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What are the 3 main components of data analytics?

A

■ Data is the raw values collected by the system. The system must have some way of tagging or normalizing these values, similar to the way that data is defined with different types, so that they can be used for
comparisons. For example, a web server might log whenever a page is visited and record information about the visitor, such as the time, the location, the type of browser, how long they spent viewing the page, or any link from the page that was clicked. All these things are data points with distinct types and formats.
■ Information is some level of summarization of the individual data points. For example, you could use the logs of page visits to work out how many unique visitors there were (as opposed to the same visitor viewing the page more than once).
■ Insights are things that inform meaningful business decisions. For example, from the information provided by the analysis of unique visitors, you may devise a plan to increase unique visitor numbers through better
marketing or page design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What are the 3 main components of facilitating data-driven business decisions?

A

■ Data capture and collection—data points can be collected from many different sources. In the previous example, most of the data points come from web server log files. The Internet of Things facilitates the use of sensors attached to all kinds of components, packages, and appliances to capture huge amounts of raw data. As well as collecting the data, it must be stored and secured. A traditional way of storing data is a relational database, but such structured data stores are being replaced (or supplemented) by semi-structured data warehouses.
■ Data correlation—the information layer requires software to perform data correlation. This means analyzing the whole data set and finding connections and links between data points. For example, software may find a correlation between page visitors and the color schemes used on pages, with pages that are predominantly blue attracting more visitors than pages
that make more use of yellow. The ability of software to perform data correlation without much human intervention is being greatly boosted by the development of Artificial Intelligence (AI) and machine learning systems.
■ Meaningful reporting—to inform human decision making at the insights layer, the information identified by the analytics system must be presented in ways that humans can analyze and interpret. The system must support search and query tools plus charts and graphs and other ways to present information pictorially. There is also the security requirement; only authorized users should be able to query the information store.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What are applications?

A

Applications (or apps) are the software programs that let users do useful things with their computer, such as create and edit documents, browse websites, send email, watch videos, or play games.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What are the software installation best practices?

A

Read the accompanying documentation to verify:
■ That the software is compatible with your operating system.
■ That your computer hardware meets the application’s recommended system requirements.
■ Any special installation instructions or known issues.
■ That you have a valid agreement or license to install and use the product.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What is the End User License Agreement (EULA)?

A

The license governing the use of a software, often called the End User License Agreement (EULA). The terms of the license will vary according to the type of software, but the basic restriction is usually that the software may only be installed on one computer (single use license).
Usually, the software is activated using a product key, which will be a long string of characters and numbers printed on the box or disk case.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What are Client Access Licenses?

A

If a site has a large number of computers, these computers are often networked. This means that software bought under license can be installed
onto a network server so that all authorized users can access it without it being installed on each individual computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What are the 5 main types of purchasable licensing?

A

Historically, software licensing tended toward one-time purchases of licenses for a given number of devices or user seats. The one-time purchase price would give perpetual use of the software, though subsequent upgrades would normally involve a new license fee. This model is being replaced by subscription-based licensing, where organizations pay a per-user monthly
fee to get access to the software. In this model, upgrades are provided as part of the subscription.

Not all software is distributed using the commercial licensing or subscription models described above. Shareware, freeware, and open source licenses
represent some different ways of making applications available.
■ Shareware is software that you can install free of charge so that you can evaluate it for a limited period. If you decide to continue using the software after this period, you must register it, usually for a fee. When you register the software you often become entitled to extra features and support.
■ Freeware is software that is available free of charge.
■ Open source is software that also makes the program code used to design it available. The idea is that other programmers can investigate the program and make it more stable and useful. An open source license does not forbid commercial use of applications derived from the original, but it is likely to impose the same conditions on further redistributions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What is productivity software?

A

Productivity software refers to applications that help users complete typical office tasks. Such tasks might include writing a letter or report, making a sales
presentation, or processing orders.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What is a spreadsheet?

A

A spreadsheet consists of a table containing rows, columns, and cells. When values are entered into the cells, formulas can be applied to them, enabling
complex calculations to be carried out. Spreadsheet packages can be used for many tasks including tracking and analyzing sales data and working on
company accounts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What is visual diagramming software?

A

Diagrams are an important means of communicating or recording ideas or configurations clearly. Visual diagramming software assists the creation of
these by providing templates and shapes for different kinds of diagram. The user does not have to worry about creating icons or shapes; they can just drag
shapes from the template (or stencil) into the diagram and use the software tools to connect them appropriately.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is a Personal Information Manager (PIM)?

A

PIM software provides features for storing and organizing information, such as contacts and calendar events and appointments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is a online workspace?

A

An online workspace is one where a file is hosted on a network, and users can sign in to get access to it. Different users might be assigned different
permissions over the document.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What is a Remote Desktop?

A

Remote Desktop allows a user to connect to a computer over a network. The remote desktop server runs on the target computer. The user starts a remote
desktop client application and enters the connection information. When the connection is established, the user can operate the remote computer’s desktop
via a window on their local computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What is Instant Messaging (IM)?

A

Instant Messaging (IM) software allows users to communicate in real time. Unlike with email, there is (virtually) no delay between sending and receiving a
message. Basic IM software allows for the transfer of text messages and can also be used for file attachments. These days, all IM applications facilitate
voice and video calls too.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What is Voice over Internet Protocol (VoIP)?

A

Packages voice communications as data packets, transmits them over the network, then reassembles the packets to provide two-way, real-time voice communication.

To implement VoIP to make calls from a computer in a typical Peer-to-Peer configuration, you need software (such as Skype or Slack), an Internet connection, and usually a headset (more convenient than using PC
microphone and speakers).

40
Q

What is Video Teleconferencing (VTC)?

A

Allows users to configure virtual meeting rooms, with options for voice, video, and instant messaging. Other features often include screen sharing, presentation/whiteboard, file sharing, and polls and voting options.

Most conferencing suites also provide a fallback teleconference option, to be used in conjunction with the presentation features, in case some participants cannot get a good enough connection for an IP voice or video call.

41
Q

What is Telepresence?

A

A term used to refer to particularly sophisticated video
conferencing solutions. The idea is that the participants have a real sense of being in the same room. This can be achieved by a number of video technologies, including HD or 4K resolutions, large and/or curved flat-screens, and 3D. Emerging technologies might make use of virtual reality headsets, holograms, and robotics.

42
Q

What is Desktop Publishing (DTP)?

A

Similar to word processing but with more emphasis on the formatting and layout of documents than on editing the text.
DTP software also contains better tools for preparing a document to be printed professionally. DTP software combines text and images in the best possible layout for a wide variety of media, including books, magazines, posters, ebooks, and web pages.

43
Q

What are the main categories of graphic design applications?

A

■ Digital darkroom products such as Adobe Photoshop assist with the correction and manipulation of photographic images.
■ Digital paint products such as Corel Painter allow the creation of bitmap artwork on a computer.
■ Digital drawing products such as Adobe Illustrator allow the creation of vector-based line art.
■ 3D and animation packages allow the creation of digital films or creation of effects in motion pictures.

44
Q

What is a Computer Aided Design (CAD)?

A

Computer Aided Design (CAD) software makes technical drawings and schematics easier to produce and revise.
Drawings can be rotated or viewed in 3D and easily transmitted to a client for feedback.
CAD is often linked to Computer Aided Manufacturing (CAM) which enables the data produced in CAD drawings to be loaded into a machine which then manufactures the part.

45
Q

What is Project Management?

A

Project management involves breaking a project into a number of tasks and assigning responsibilities, resources, and timescales to ensure the completion of those tasks.
Project management also involves identifying dependencies between tasks.
Software such as Microsoft Project or Smartsheet assists with this process by visualizing task timelines and dependencies and recording information about task properties and progress.

46
Q

What is database software?

A

Database packages enable the user to store, organize, and retrieve information.
Databases can search through thousands of records very quickly and display data in a format specified by the user.
They can be used to store many different types of information, such as timetables, customer details, and
patient records.

47
Q

What are Line of Business (LOB) functions?

A

LOB applications would cover functions that cannot be performed by “off-the-shelf” software.
This might include product design and manufacturing, fulfilment and inventory control, plus marketing and sales.

48
Q

What is a program?

A

A program is just a sequence of instructions for your computer to perform.
For example, you might want to add two user-entered numbers together and display the sum on the screen.

49
Q

What are some of the features of a program (pseudocode)?

A

■ The main routine calls some subroutines. Each routine is completed by an “End Routine” statement. This means (for example) when the program reaches the last step of the main routine, it closes rather than flowing through to try to execute the first subroutine.
■ When a subroutine completes, it can return to the point in the main routine from where it was called, and the main routine continues execution. Note that when we use structures such as this, we have to be very careful not to create infinite loops in the code by mistake.
■ There is a conditional statement (IF) that means part of the code only executes when certain conditions are true or false.
■ There are variables to store data input by the user.
■ There are functions (such as “sum” and “write”) that we can assume are provided as features of the programming language. We don’t need to code how to add two numbers together or write output to the display screen.
■ There is a user interface that the program interacts with (prompting for input and displaying output).
■ It contains comments, preceded by the ‘ character. Comments are part of the programming code that are not executed by the computer but that help the developer read and maintain the code.

50
Q

What factors will influence the choice of programming code used?

A

■ What type of program you are writing.
■ How experienced you are as a programmer.
■ What type(s) of device(s) your users will be using.

51
Q

What are the most popular programming languages?

A

■ Java
■ Python
■ JavaScript
■ C++
■ C#
■ PHP
■ Perl
■ Ruby

52
Q

What is a compiled programming language?

A

Must transform the code to an executable binary before it can run.
Compiling converts the source code that you wrote to machine code.
Machine code is the instructions converted to strings of ones and zeros for the CPU to process.
A compiled program generally runs quickly (compared to interpreted code).
However, a compiled program tends to be platform (CPU) specific; to run on other platforms, you must recompile the source code for the new platform.

53
Q

Which programming languages are compiled?

A

■ C++
■ C#
■ COBOL
■ PASCAL

54
Q

What is an interpreted programming language?

A

When you write code with an interpreted language, you do not need to compile the program.
It runs within the context of an interpreter, which converts the code into machine code at runtime.
This means that the program probably runs more slowly but also means it is likely that you can run the program on any platform for which you have an interpreter.
Examples of interpreted languages include scripting languages, such as JavaScript, Perl, and Python.

55
Q

What is a query language?

A

Code written in a query language, such as Structured Query Language (SQL), is designed to retrieve specific records from a dataset.
The code does not need to be compiled.

56
Q

What is assembly language?

A

An assembly language represents machine code in human-readable text.
An assembly language is typically specific to a particular hardware architecture.
This is in contrast to compiled, interpreted, and query languages which you can use to write code that can be run on a number of platforms, assuming you have an appropriate compiler or interpreter.
Even though it is in human- readable text, assembly code is very difficult to follow and is only really used by
specialists trying to solve a very particular problem with an application.
You would not choose an assembly language to start your new development project.

57
Q

What is markup language?

A

A markup language is not a programming language but a means of making data in a document accessible to a program.
A markup language, such as the HyperText Markup Language (HTML) or eXtensible Markup Language (XML), defines a series of nested tags that describe the structure and/or meaning of the tag contents.

58
Q

In HTML markup as an example, how do the tags tell a client application to structure the document?

A

■ html—this top-level parent element identifies the type of document. All the other tags are nested within this one.
■ body—indicates the main part of the content as a page to show to the client. HTML files can also have head sections, which would not be shown as part of the page display.
■ h1—indicates that the content is a heading level.
■ p—indicates the content is a paragraph-level block.
■ a—indicates that the content links to another resource.
In the example, this is an email address, but it could be another section of the page or another file or a page on another web server.
Note that each tag has a start and close element.

59
Q

What is an identifier?

A

An identifier is used in a program to access a program element, such as a stored value, class, method, or interface.
For example, you might assign the identifier FirstName to a stored value that contains a user’s first name.
In essence, an identifier is a label for something within your program.
If your identifier stores data, then it will be either a variable or a constant.

60
Q

What is a variable?

A

A variable contains a value that can change during the execution of the program.
This value might be a text string, a number, or any other data type.
Using our example of a first name, it’s important to understand that although a person’s name might not change, if you use a programmatic technique to refer
to a user’s name without knowing which user you’re referring to, then, as far as the program is concerned, that is a variable.
You can assign a value to a variable using fairly simple code.

61
Q

What is a constant?

A

A constant is a specific identifier that contains a value that cannot be changed within the program.
For example, you might want to store the numerical value for the screen dimensions or resolution.

62
Q

What is a container?

A

Container can be used as a term for a special type of identifier that can reference multiple values (or elements).
One example of a container construct is a simple array.
For example, say that you want your program to store a list of user names who have logged on to the computer in the last 24 hours.
You would declare the array with the data type of the values it will contain and the number of elements or “rows” that the array can contain.
One of the limitations of the array container type is that it cannot be resized.
Most programming languages support container types called vectors that can grow or shrink in size as elements are added or removed.

63
Q

What is a branch?

A

Your program runs from the start to the end unless you instruct it to deviate from this path.
One way of doing so is to create a branch; this is an instruction to your computer to execute a different sequence of instructions.
You use branches to control the flow within your program.
For example, you might create a branch based on a condition.
We saw this in our earlier example when we verified a number had been entered correctly.
If it had, then something happened, and if it had not, then something else happened.
This is a conditional branch.

64
Q

What are loops?

A

Loops are similar to branches in as much as they deviate from the initial program path according to some sort of logic condition.
However, with a loop, you instruct your computer to perform, or repeat, a task until a condition is met.
For example, you might create a loop that continues until a certain amount of time has elapsed or until a counter reaches a certain level.
Then, a predetermined action might occur, depending upon what you want.

65
Q

What are operators?

A

Looping and branching structures depend on logical tests to determine whether to continue the loop or the branch to follow.
A logical test is one that resolves to a TRUE or FALSE value.
You need to be familiar with basic comparison operators:
■ == is equal to (returns TRUE if both conditions are the same).
■ != is not equal to.
■ < less than.
■ > greater than.
■ <= and >= less than or equal to and greater than or equal to.
You might also want to test more than one condition at the same time.
The logical operators are as follows:
■ AND—if both conditions are TRUE, then the whole statement is TRUE.
■ OR—if either condition is TRUE, then the whole statement is TRUE.
■ XOR—if either condition is TRUE but not both, then the whole statement is TRUE.
You can also use the negation operator NOT to reverse the truth value of any statement.

66
Q

What are procedures and functions?

A

Both procedures and functions enable you to create segments of code that you will reuse.
In our earlier example, we used a function to check that the user had entered a number.
The key difference, in programming terms, between a procedure and a function is that the latter can return a value to whatever called it, whereas a procedure cannot.

67
Q

What is object-oriented programming?

A

Object-Oriented Programming (OOP) is a popular way of designing code.
The idea is that creating recognizable things within the code and making them interact through defined methods makes the code easier to maintain and
update.
An object can have inner workings that other parts of the program cannot affect and outer or public values and things that the object can do that other parts of the program can read or ask the object to change or do.

68
Q

What are object attributes (fields), properties and methods?

A

■ Attributes are values and data types that define the object.
The attributes are stored within the object as fields or private variables.
Other programs cannot access or change the fields directly.
They must call a particular method (see below) to do that.
■ Methods define what you can do to an object.
For example, a Customer object might have a ChangeAddress method.
When another part of the program calls the ChangeAddress method, it also passes a string
(hopefully containing a well-formatted address) to the object because that is what the method expects.
The object’s code receives this string, checks that it can be used as a valid address, and updates its Address field.
The object might then have another method (PrintAddress) allowing another part of the program to find out what the current value of the Address field
is.
■ Properties represent an alternative way of accessing a field publicly.
Using a method might be regarded as quite a “heavyweight” means of doing this, so properties allow external code to ask the object to show or change the value of one of its fields.

69
Q

What are scripting languages?

A

We learned earlier that some of the interpreted programming languages are scripting languages.
You can also make a distinction between the general
purpose interpreted scripted languages, such as JavaScript or Perl, discussed above and scripting languages, such as Windows Command Prompt, Windows PowerShell, or Linux Bash.
These languages support the automation and
configuration of a particular operating system.
Whatever language is used to create it, a script is a smaller piece of code than a program.
A script is generally targeted at completing a specific task, whether that task is based within a web-based application or is used by a network administrator to perform a repetitive administrative task.
While a program usually provides some sort of unique functionality, anything a script does could usually be performed manually by a user.

70
Q

What are batch files?

A

Batch files are a collection of command-line instructions that you store in a .CMD file.
You can run the file by calling its name from the command line, or double-clicking the file in File Explorer.
Generally, batch file scripts run from end to end and are limited in terms of branching and user input.

71
Q

What is Windows Powershell?

A

Windows PowerShell enables you to perform management and administrative tasks in Windows 10 and Windows Server 2016 (and some earlier versions).
It is fully integrated with the operating system and supports both remote execution and scripting.
To help create and manage your Windows PowerShell
scripts, Microsoft provides the Windows PowerShell Integrated Scripting Environment (ISE).

72
Q

What is VBScript?

A

VBScript is a scripting language based on Microsoft’s Visual Basic programming language.
It provides similar functionality to JavaScript.
VBScript is often used by network administrators to perform repetitive administrative tasks.
With VBScript, you can run your scripts from either the command line or from the Windows graphical interface.
Scripts that you write must be run within a host environment.
Windows 10 provides Internet Explorer, IIS, and Windows Script Host (WSH) for this purpose.

73
Q

What is single-platform software?

A

Some software applications are written to run under a particular operating system (and sometimes a particular version or set of versions of an OS).
The software is written using a development environment suitable for that OS.
The developer writes the application in program code using a particular programming language.
When the application is compiled, it gets converted to
machine code that can run (or execute) in the target OS environment.
Because this model produces software that is optimized for a particular platform, it can perform better and be simpler to check for errors than cross-
platform software.
The drawback is that “porting” the software to a different platform (from Windows OS to Android for instance) can be very difficult.

74
Q

What is cross-platform software?

A

Software written for PCs and laptops (“desktop” applications) is being supplemented with software written for touch-based mobile devices and
operating systems.
These are often referred to as apps.
There is usually plenty of interoperability between desktop and mobile platforms.
Another trend is for applications to be accessed over the web, often using a “cloud” deployment model. When software is run from a web server as a web
application, it can usually support a wide range of different types of client operating systems and devices. Usually the only client required is a compatible
web browser.
This sort of cross-platform development is complicated by the different hardware interfaces for different computing devices.
The interfaces supported by keyboard and mouse input devices for PCs and laptops do not always work
well with the touchscreens used by smartphones.
The wide range of display sizes, orientations, and resolutions are another factor making cross-platform
design challenging.
There can be performance problems when software is
written for a “platform independent” environment, such as a Java virtual machine, rather than code run natively by the OS.
Compatibility issues can also affect web applications as different browser vendors can make slightly different interpretations of open standards that result in applications not working correctly in particular browsers or browser versions.

75
Q

What are the common application delivery methods?

A

A traditional PC-type software application is installed locally to the computer’s hard drive.
When launched it executes within the computer’s memory and is processed by the local CPU.
Any data files manipulated by the application can
also be stored on the local disk, though usually in a user folder rather than the application folder.
For security reasons ordinary users should not be able to modify application folders.
A locally installed application such as this does not need network access to run, though obviously the network has to be present if the application makes
use of network features.
For some enterprises, this locally installed model presents performance and security issues.
Another option is for the application to be installed to a
network server and executed on that server.
Client workstations access the application using a remote terminal or viewer.
The most successful example of this kind of application virtualization model is Citrix XenApp.
Locating the application and its data files on a server is easier to secure and easier to backup.
This model also does not require that client hosts be able to access the Internet.
The drawback is that if there is no local network connection or the local network is heavily congested, users will not be able to use the application.
A third option for deploying apps is the cloud hosted model.
This is very similar to the local network model except that clients connect to the application servers over the Internet.
This provides a lot of flexibility in terms of provisioning the app to clients located in different regions.
As with local network applications, user-generated data files would normally be saved in the cloud too, with the same benefits for creating security access controls and
backing up easily.
The drawback is that clients and cloud service must both have a reliable Internet connection.
Outages on either side can cause serious productivity problems.

76
Q

What is a database?

A

A database is an organized collection of information. The information is stored in a structured manner for easier access.
Typically, a database consists of tables of information, organized into columns and rows.
Each row represents a separate record in the database, while each column represents a single field within a record.

77
Q

What tools do database usage involve?

A

■ Creation—this step involves defining what information the database will store, where it will be hosted, and how it will be accessed by clients.
■ Import/input—once the database has been created, it must be populated with data records.
Records can either be input and updated manually,
usually using some type of form, or data might be imported from another source, or both.
■ Storage (data persistence)—databases are often used with applications.
While an application processes variables and other temporary data internally, this information is lost when the application is terminated.
A database represents a way for an application to store data persistently and securely.
■ Queries—it is possible in theory to read the information in each table manually, but in order to view information efficiently, a query is used to
extract it.
A query allows the user to specify criteria to match values in one or more fields and choose which fields to display in the results so that only information of interest is selected.
■ Reports—a query might return a large number of rows and be just as difficult to read as a table.
A report is a means of formatting and summarizing the records returned by a query so that the information is
easy to read and interpret.

78
Q

What are flat file systems?

A

One common question asked when users are considering a database is, “Why can’t I just use a spreadsheet such as Excel?”
It’s a fair question because Excel enables you to store your information in sheets, which are broadly analogous to tables, with rows and columns of data. This is an example of a flat file data storage and access system rather than a database.
Spreadsheets are not the only kind of flat file data store.
Another example is a plain text file with delimiters for each column.
A Comma Separated Values (CSV) file uses commas to identify the end of a column and a line feed for each row.
While flat file systems are easy to create they have many drawbacks compared to database systems.

79
Q

What are the main differences between flat file systems and databases?

A

A flat file system might be useful for tasks such as simple order or sales databases used by a single person or small workgroup.
A flat file is also a good way of exporting and importing information between systems.
Dedicated database software has many advantages over flat files though.
■ Databases can enforce data types for each column and validate information entered as fields and records. Spreadsheets can mimic some
of this functionality but not as robustly.
Databases consequently support a wider variety of data formats.
■ Databases can manage multiple tables and link the fields in different tables to create complex schemas.
In a flat file, all the information is stored within a single table.
■ Databases can support tens, hundreds or thousands, or even millions of users concurrently.
A single file-based data storage solution does not offer
high enough speed for the volumes of transactions (adding and updating records) on enterprise-level systems.
■ Databases are also more scalable.
Scalability means being able to expand usage without increasing costs at the same rate.
For example, in a non-scalable system, doubling the number of users would also double the costs of the system.
Database architecture means that extra capacity can be added later with much less investment.
■ Databases provide access controls to protect information from unauthorized disclosure and backup/replication tools to ensure that data can be recovered within seconds of it being committed.

80
Q

What is a relational database?

A

A relational database is a highly structured type of database.
Information is organized in tables (known as relations). A table is defined with a number of fields, represented by the table columns.
Each field can be a particular data type.
Each row entered into the table represents a data record.
Typically, Relational Database Management Systems (RDBMS) use Structured Query Language (SQL) to maintain and query data in the database.

81
Q

What are some examples of Relational Database Management Systems (RDBMS)?

A

■ Microsoft SQL Server.
■ Oracle Database.
■ MySQL.
■ Microsoft Office Access.

82
Q

What are primary and foreign keys?

A

Attempting to store a complex set of data within a single table is impractical.
In a relational database, you can have multiple linked tables.
For this to work, in any given table, each record has to be unique in at least one way.
This is usually accomplished by designating one column as a primary key.
Each row in the table must have a unique value in the primary key field.
This primary key is used to define the relationship between one table and another table in the database. When a primary key in one table is referenced in another table, then in the secondary table, that column is referred to as a foreign key.
The structure of the database in terms of the fields defined in each table and the relations between primary and foreign keys is referred to as the schema.

83
Q

What are constraints?

A

One of the functions of an RDBMS is to address the concept of Garbage In, Garbage Out (GIGO).
It is very important that the values entered into fields
conform and are consistent with what information the field is supposed to store.
When defining the properties of each field, as well as enforcing a data type, you can impose certain constraints on the values that can be input into each
field.
A primary key is an example of a constraint. The value entered or changed in a primary key field in any given record must not be the same as any other existing record.
Other types of constraints might perform validation
on the data that you can enter.
For example, you could add constraints to prevent a field from being left blank, to define the format of a telephone number, or to check that the value entered to choose an order delivery date is not in the past. Another example of a constraint is to enter a default value in a field if the user makes no selection.

84
Q

What are semi-structured and unstructured databases?

A

When you store your information in a relational database, it is stored in a structured way.
This structure enables you to more easily access the stored information and gives you flexibility over exactly what you access.
For example, you can access all fields or only certain fields.
Each field has a defined data type, meaning that software that understands the database language (SQL), can parse (interpret) the content of a field easily.
Unstructured data, on the other hand, provides no rigid formatting of the data.
Images and text files, Word documents and PowerPoint presentations are examples of unstructured data. Unstructured data is typically much easier to
create than structured data.
Documents can be added to a store simply and the data store can support a much larger variety of data types than a relational database can.
Sitting somewhere between these two is semi-structured data.
Strictly speaking, the data lacks the structure of formal database architecture.
But in addition to the raw unstructured data, there is associated information called metadata that helps identify the data.

85
Q

What is a document database?

A

A document database is an example of a semi-structured database.
Rather than define tables and fields, the database grows by adding documents to it.
The documents can use the same structure or be of different types.
The database’s query engine must be designed to parse each document type and extract information from it.
Documents would very commonly use markup language such as XML (eXtensible Markup Language) to provide structure.

86
Q

What is a key/value pair database?

A

A key/value pair database is a means of storing the properties of objects without predetermining the fields used to define an object.
One widely used key/value format is JavaScript Object Notation (JSON).
Document databases and key/value pair databases are non-relational because there are no formal structures to link the different data objects and files.
This does not mean that relationships between the data items cannot be found though.
Non-relational database systems use searches and queries to summarize and correlate data points.

87
Q

What are database interfaces?

A

Database interfaces are the processes used to add/update information to and extract (or view) information from the database.
In an RDBMS, the use of Structured Query Language (SQL) relational methods is critical to creating and updating the database.
These relational methods can be split into two types; those that define the database structure and those that manipulate information in the database.

88
Q

What is Data Definition Language (DDL)?

A

Data Definition Language (DDL) commands refer to SQL commands that add to or modify the structure of the database.
Some examples of data definition
commands are:
■ CREATE—this command can be used to add a new database on the RDBMS server (CREATE DATABASE) or to add a new table within an existing database (CREATE TABLE).
The primary key and foreign key can be specified as part of the table definition.
■ ALTER TABLE—this allows you to add, remove (drop), and modify table columns (fields), change a primary key and/or foreign key, and configure
other constraints.
There is also an ALTER DATABASE command, used for
modifying properties of the whole database, such as its character set.
■ DROP—this is the command used to delete a table (DROP TABLE) or database (DROP DATABASE). Obviously, this also deletes any records and
data stored in the object.
■ CREATE INDEX—specifying that a column (or combination of columns) is indexed speeds up queries on that column.
The tradeoff is that updates are slowed down slightly, or quite a lot if the column is not suitable for indexing.
The DROP INDEX command can be used to remove an index.
There are also SQL commands allowing permissions (access controls) to be configured.

89
Q

What is Data Manipulation Language (DML)?

A

Data Manipulation Language (DML) commands allow you to insert or update records and extract information from records for viewing (a query):
■ INSERT INTO TableName—adds a new row in a table in the database.
■ UPDATE TableName—changes the value of one or more table columns.
This can be used with a WHERE statement to filter the records that will be updated.
If no WHERE statement is specified, the command applies to all the records in the table.
■ DELETE FROM TableName—deletes records from the table.
As with UPDATE, this will delete all records unless a WHERE statement is specified.
■ SELECT—enables you to define a query to retrieve data from a database.

90
Q

What are permissions?

A

SQL supports a secure access control system where specific user accounts can be granted rights over different objects in the database (tables, columns,
and views for instance) and the database itself.
When an account creates an object, it becomes the owner of that object, with complete control over it.
The owner cannot be denied permission over the object.
The owner can be changed however, using the ALTER AUTHORIZATION statement.
Other accounts can be granted specific rights over an object using the statement.
Permission statements can be considered as Data Definition Language (DDL) commands, like CREATE and DROP.

91
Q

What are database access methods?

A

Database access methods are the processes by which a user might run SQL commands on the database server or update or extract information using a form or application that encapsulates the SQL commands as graphical controls or tools.

92
Q

What is direct/manual access?

A

Administrators might use an administrative tool, such as phpMyAdmin, to connect and sign in to an RDBMS database.
Once they have connected, they can run SQL commands to create new databases on the system and interact with stored data.
This can be described as direct or manual access.

93
Q

What is a query/report builder?

A

There are many users who may need to interact closely with the database but do not want to learn SQL syntax. A query or report builder provides a GUI for users to select actions to perform on the database and converts those selections to the SQL statements that will be executed.

94
Q

What is programmatic access?

A

A software application can interact with the database either using SQL commands or using SQL commands stored as procedures in the database.
Most programming languages include libraries to provide default code for connecting to a database and executing queries.

95
Q

What is user interface/utility access?

A

An application might use a database in the background without the user really being aware of its presence. Alternatively, the application might provide a specific Graphical User Interface (GUI) or form to allow ordinary users to add and search records.

96
Q

What are backups and data exportation?

A

As with any type of data, it is vital to make secure backups of databases.
Most RDBMS provide stored procedures that invoke the BACKUP and RESTORE commands at a database or table level.
It may also be necessary to export data from the database for use in another database or in another type of program, such as a spreadsheet.
A dump is a copy of the database or table schema along with the records expressed as SQL statements. These SQL statements can be executed on another
database to import the information.
Most database engines support exporting data in tables to other file formats, such as Comma Separated Values (.CSV) or native MS Excel (.XLS).

97
Q

What are application architecture models?

A

A database application can be designed for any sort of business function.
Customer Relationship Management (CRM) and accounting are typical examples.
If the application front-end and processing logic and the database engine are all hosted on the same computer, the application architecture can be described as one-tier or standalone.
A two-tier client-server application separates the database engine, or back- end or data layer, from the presentation layer and the application layer, or
business logic.
The application and presentation layers are part of the client application.
The database engine will run on one server (or more likely a cluster of servers), while the presentation and application layers run on the client.
In a three-tier application, the presentation and application layers are also split.
The presentation layer provides the client front-end and user interface and runs on the client machine.
The application layer runs on a server or server cluster that the client connects to.
When the client makes a request, it is checked by the application layer, and if it conforms to whatever access rules have been set up, the application layer executes the query on the data layer which resides on a third tier and returns the result to the client.
The client should have no direct communications with the data tier.
An n-tier application architecture can be used to mean either a two-tier or three-tier application, but another use is an application with a more complex architecture still.
For example, the application may use separate access control or monitoring services.