Moment 0 - Chapter 1 Flashcards

1
Q

Computers process data under the control of sequences of instructions called?

A

computer programs.

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

Software programs guide the computer through ordered actions specified by people called?

A

computer programmers

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

A computer consists of various devices referred to as hardware, example?

A
the keyboard
screen 
mouse 
hard disk 
memory 
DVD drives
processing units
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Moore’s Law?

A

Every year or two, the capacities of computers have approximately doubled inexpensively.

Moore’s Law and related observations apply especially to the amount of memory that computers have for programs, the amount of secondary storage (such as solid-state drive storage) they have to hold programs and data over longer periods of time, and their processor speeds—the speeds at which they execute their programs (i.e., do their work).

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

What are Input unit?

A

This “receiving” section obtains information (data and computer programs) from input devices and places it at the disposal of the other units for processing.

Most user input is entered into computers through keyboards, touch screens and mouse devices. Other forms of input include receiving voice commands, scanning images and bar codes.

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

What are Output unit?

A

This “shipping” section takes information the computer has processed and places it on various output devices to make it available for use outside the computer.

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

What are Memory unit?

A

This rapid-access, relatively low-capacity “warehouse” section retains information that has been entered through the input unit, making it immediately available for processing when needed. The memory unit also retains processed information until it can be placed on output devices by the output unit. Information in the memory unit is volatile—it’s typically lost when the computer’s power is turned off.

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

What are Arithmetic and logic unit (ALU)?

A

This “manufacturing” section performs calculations, such as addition, subtraction, multiplication and division. It also contains the decision mechanisms that allow the computer, for example, to compare two items from the memory unit to determine whether they’re equal. In today’s systems, the ALU is implemented as part of the next logical unit, the CPU.

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

What are Central processing unit (CPU)?

A

This “administrative” section coordinates and supervises the operation of the other sections. The CPU tells the input unit when information should be read into the memory unit, tells the ALU when information from the memory unit should be used in calculations and tells the output unit when to send information from the memory unit to certain output devices.

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

What are Secondary storage unit?

A

This is the long-term, high-capacity “warehousing” section. Programs or data not actively being used by the other units normally are placed on secondary storage devices (e.g., your hard drive) until they’re again needed, possibly hours, days, months or even years later. Information on secondary storage devices is persistent—it’s preserved even when the computer’s power is turned off.

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

Example of Secondary storage unit?

A

solid-state drives (SSDs)
hard drives
DVD drives
USB flash drives

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

What are Bits?

A

The smallest data item in a computer can assume the value 0 or the value 1.

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

What is Bits short for?

A

binary digit — a digit that can assume one of two values.

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

Digits, letters and special symbols are known as?

A

Characters

Computers process only 1s and 0s, so a computer’s character set represents every character as a pattern of 1s and 0s.

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

What dose ASCII stand for?

A

American Standard Code for Information Interchange

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

What is a Field?

A

A field is a group of characters or bytes that conveys meaning. For example, a field consisting of uppercase and lowercase letters can be used to represent a person’s name, and a field consisting of decimal digits could represent a person’s age.

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

Just as characters are composed of bits, fields are composed of?

A

characters or bytes

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

Several related fields can be used to compose a?

A

record (implemented as a class in Java).

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

Give an example of a record.

A
  • Employee identification number (a whole number)
  • Name (a string of characters)
  • Address (a string of characters)
  • Hourly pay rate (a number with a decimal point)
  • Year-to-date earnings (a number with a decimal point)
  • Amount of taxes withheld (a number with a decimal point)

Thus, a record is a group of related fields. In the preceding example, all the fields belong to the same employee.

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

A file is a group of?

A

related records

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

A database is a collection of?

A

Data organized for easy access and manipulation. The most popular model is the relational database, in which data is stored in simple tables. A table includes records and fields.

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

Big data applications deal with?

A

Massive amounts of data and this field is growing quickly, creating lots of opportunity for software developers. Millions of IT jobs globally already are supporting big data applications.

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

Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Hundreds of such languages are in use today. These may be divided into three general types:

A
  1. Machine languages
  2. Assembly languages
  3. High-level languages
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are Machine Languages?

A

Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time.

Any computer can directly understand only its own machine language, defined by its hardware design.

Machine languages are machine dependent (a particular machine language can be used on only one type of computer).

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

Translator programs called assemblers were developed to?

A

Convert early assembly-language programs to machine language at computer speeds.

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

What are Assembly Languages and Assemblers?

A

Instead of using the strings of numbers that computers could directly understand, programmers began using English-like abbreviations to represent elementary operations. These abbreviations formed the basis of assembly languages.

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

Why was high-level languages developed?

A

To speed the programming process, high-level languages were developed in which single statements could be written to accomplish substantial tasks. Translator programs called compilers convert high-level language programs into machine language.

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

High-level languages allow you to write instructions that look …

A

… almost like everyday English and contain commonly used mathematical notations.

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

What are Objects?

A

more precisely, the classes objects come from, are essentially reusable software components. There are date objects, time objects, audio objects, video objects, automobile objects, people objects, etc.

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

Performing a task in a program requires a?

A

Metod

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

The method houses the?

A

program statements that perform its tasks. The method hides these statements from its user; just as the accelerator pedal of a car hides from the driver the mechanisms of making the car go faster.

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

In Java, we create a program unit called a class to house the?

A

set of methods that perform the class’s tasks. For example, a bank-account class might contain one method to deposit money to an account, another to withdraw money from an account and a third to inquire what the account’s current balance is.

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

What is Instantiation?

A

Just as someone has to build a car from its engineering drawings before you can actually drive a car, you must build an object of a class before a program can perform the tasks that the class’s methods define.

The process of doing this is called instantiation.

An object is then referred to as an instance of its class.

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

Why reuse classes?

A

it saves time and effort. Reuse also helps you build more reliable and effective systems, because existing classes and components often have undergone extensive testing, debugging and performance tuning.

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

What is a Metod call?

A

When you drive a car, pressing its gas pedal sends a message to the car to perform a task— that is, to go faster. Similarly, you send messages to an object. Each message is implemented as a method call that tells a method of the object to perform its task.

36
Q

What are attributes?

A

An object has attributes that it carries along as it’s used in a program. These attributes are specified as part of the object’s class. For example, a bank-account object has a balance attribute that represents the amount of money in the account. Each bankaccount object knows the balance in the account it represents, but not the balances of the other accounts in the bank. Attributes are specified by the class’s instance variables.

37
Q

What are Encapsulation and Information Hiding?

A

Classes (and their objects) encapsulate, i.e., encase, their attributes and methods. A class’s (and its object’s) attributes and methods are intimately related.

Objects may communicate with one another, but they’re normally not allowed to know how other objects are implemented— implementation details can be hidden within the objects themselves. This information hiding, as we’ll see, is crucial to good software engineering.

38
Q

What is inheritance?

A

A new class of objects can be created conveniently by Inheritance—the new class (called the subclass) starts with the characteristics of an existing class (called the superclass), possibly customizing them and adding unique characteristics of its own.

39
Q

What is Interfaces?

A

Collections of related methods that typically enable you to tell objects what to do, but not how to do it.

40
Q

What is Object-Oriented Analysis and Design (OOAD)?

A

It is to follow a detailed analysis process for determining your project’s requirements (i.e., defining what the system is supposed to do) and developing a design that satisfies them (i.e., specifying how the system should do it). Ideally, you’d go through this process and carefully review the design (and have your design reviewed by other software professionals) before writing any code.

41
Q

What are the UML (Unified Modeling Language)?

A

Although many different OOAD processes exist, a single graphical language for communicating the results of any OOAD process has come into wide use. The Unified Modeling Language (UML) is now the most widely used graphical scheme for modeling objectoriented systems.

42
Q

What are Operating systems?

A

They provide services that allow each application to execute safely, efficiently and concurrently (i.e., in parallel) with other applications.

Operating systems are software systems that make using computers more convenient for users, application developers and system administrators.

43
Q

What is a kernel with regards to a Operating systems?

A

It contains the core software components of the operating system.

44
Q

Example of Operating systems?

A

Linux - An Open-Source Operating System
Windows - A Proprietary Operating System
MacOS (formerly called OS X) - A Proprietary Operating System

The most popular mobile operating systems used in smartphones and tablets are Google’s Android and Apple’s iOS (for iPhone, iPad and iPod Touch devices).

45
Q

What are the advatages of an open source Operating system?

A

Open-source code is often scrutinized by a much larger audience than proprietary software, so errors often get removed faster. Open source also encourages innovation.

46
Q

When was C developed?

A

C was developed in the early 1970s by Dennis Ritchie at Bell Laboratories.

47
Q

When was C++ developed?

A

C++, which is based on C, was developed by Bjarne Stroustrup in the early 1980s at Bell Laboratories. C++ provides several features that “spruce up” the C language, but more important, it provides capabilities for object-oriented programming.

48
Q

When was Basic developed and for what purpos?

A

Basic was developed in the 1960s at Dartmouth College to familiarize novices with programming techniques. Many of its latest versions are object oriented.

49
Q

Why was C# developed and by whom?

A

C# was developed to integrate the web into computer applications, and is now widely used to develop enterprise applications and for mobile application development.

It was developed by Microsoft and is one of three primary object-oriented programming languages.

  • C# (based on C++ and Java)
  • Visual C++ (based on C++)
  • Visual Basic (based on the original Basic).
50
Q

Why and when was Fortran developed?

A

Fortran (FORmula TRANslator) was developed by IBM Corporation in the mid- 1950s to be used for scientific and engineering applications that require complex mathematical computations. It’s still widely used, and its latest versions support object-oriented programming.

51
Q

What is JavaScript primarily used for?

A

JavaScript is the most widely used scripting language. It’s primarily used to add programmability to web pages—for example, animations and interactivity with the user. All major web browsers support it.

52
Q

Example of Programming Languages

A
Ada
Basic
C
C++
C#
COBOL
Fortran
Java
JavaScript
Objective-C
Pascal
PHP
Python
Ruby on Rails
Scala
Swift
Visual Basic
53
Q

When was Python developed?

A

Python, another object-oriented scripting language, was released publicly in 1991. Developed by Guido van Rossum of the National Research Institute for Mathematics and Computer Science in Amsterdam.

Python is “extensible”—it can be extended through classes and programming interfaces.

54
Q

What is an advantage to Scala and what other programming language can it used with?

A

Scala uses both the object-oriented programming and functional programming paradigms and is designed to integrate with Java. Programming in Scala can reduce the amount of code in your applications significantly.

Designed by Martin Odersky, a professor at École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland.

Released in 2003,

55
Q

When and by whom was Swift developed?

A

Swift, which was introduced in 2014, is Apple’s programming language of the future for developing iOS and OS X applications (apps). Swift is a contemporary language that includes popular programming-language features from languages such as Objective-C, Java, C#, Ruby, Python and others.

Swift is now open source, so it can be used on non-Apple platforms as well.

56
Q

What other programming Languag is Java based on?

A

C++

57
Q

When was Java developted? And by whom?

A

Sun Microsystems, in 1991, funded an internal corporate research project led by James Gosling.

58
Q

What is Java used for?

A

It’s now used to:

  • develop large-scale enterprise applications,
  • to enhance the functionality of web servers (the computers that provide the content we see in our web browsers),
  • to provide applications for consumer devices (cell phones, smartphones, television set-top boxes and more),
  • to develop robotics software and for many other purposes.

It’s also the key language for developing Android smartphone and tablet apps.

Java has become the most widely used general-purpose programming language with more than 10 million developers.

59
Q

What is Java APIs (Application Programming Interfaces).

A

also known Java class libraries. A rich collections of existing classes and methods.

60
Q

What is an editor program? example?

A

Using the editor, you type a Java program (typically referred to as source code)

Example:
Notepad (Windows)
TextEdit (macOS)

freeware and shareware editors:
Notepad++
Editplus
TextPad
jEdit
61
Q

What are Integrated development environments (IDEs)?

A

They provide tools that support the software development process, such as editors, debuggers for locating logic errors that cause programs to execute incorrectly and more. The most popular Java IDEs are:

  • Eclipse (http://www.eclipse.org)
  • IntelliJ IDEA (http://www.jetbrains.com)
  • NetBeans (http://www.netbeans.org)
62
Q

What are the 5 phases to create a Java application?

A
  1. edit
  2. compile
  3. load
  4. verify
  5. execute
63
Q

What dose Phase 1: Creating a Program, consists of?

A

Phase 1 consists of editing a file with an editor program, normally known simply as an editor. Using the editor, you type a Java program (typically referred to as source code), make any necessary corrections and save it on a secondary storage device, such as your hard drive.

64
Q

What dose Phase 2: Compiling a Java Program into Bytecodes, consists of?

A

In Phase 2, you use the command javac (the Java compiler) to compile a program.

The Java compiler translates Java source code into bytecodes that represent the tasks to execute in the execution phase (Phase 5).

The Java Virtual Machine (JVM)—a part of the JDK and the foundation of the Java platform—executes bytecodes.

65
Q

What dose Java Virtual Machine (JVM) do?

A

It executes bytecodes. A virtual machine (VM) is a software application that simulates a computer but hides the underlying operating system and hardware from the programs that interact with it.

66
Q

What dose Phase 3: Loading a Program into Memory, consists of?

A

In Phase 3, the JVM places the program in memory to execute it—this is known as loading. The JVM’s class loader takes the .class files containing the program’s bytejavac codes and transfers them to primary memory. It also loads any of the .class files provided by Java that your program uses.

67
Q

What dose Phase 4: Bytecode Verification, consists of?

A

In Phase 4, as the classes are loaded, the bytecode verifier examines their bytecodes to ensure that they’re valid and do not violate Java’s security restrictions.

68
Q

What dose Phase 5: Execution, consists of?

A

In Phase 5, the JVM executes the bytecodes to perform the program’s specified actions.

Today’s JVMs typically execute bytecodes using a combination of interpretation and just-intime (JIT) compilation. In this process, the JVM analyzes the bytecodes as they’re interpreted, searching for hot spots—bytecodes that execute frequently.

69
Q

What dose a just-in-time (JIT) compiler do?

A

translates the bytecodes into the computer’s machine language. When the JVM encounters these compiled parts again, the
faster machine-language code executes.

Thus programs actually go through two compilation phases—one in which Java code is translated into bytecodes (for portability across JVMs on different computer platforms) and a second in which, during execution, the bytecodes are translated into machine language for the computer on which the program executes.

70
Q

What was a early version of the internet and who developed it?

A

ARPA implement, what quickly became known as the ARPANET, the precursor to today’s
Internet.

ARPA—the Advanced Research Projects Agency of the United States Department of Defense—rolled out plans for networking the main computer systems of approximately a dozen ARPA-funded universities and research institutions.

71
Q

What are TCP/IP?

A

ARPA accomplished this by developing the Internet Protocol (IP), which created a true “network of networks,” the current architecture of the Internet. The combined set of protocols is now called TCP/IP. Each Internet connected device has an IP address—a unique numerical identifier used by devices communicating via TCP/IP to locate one another on the Internet.

72
Q

What is the World Wide Web?

A

The World Wide Web (simply called “the web”) is a collection of hardware and software associated with the Internet that allows computer users to locate and view documents (with various combinations of text, graphics, animations, audios and videos) on almost any subject.

73
Q

What is Agile software development?

A

Agile software development is a set of methodologies that try to get software implemented faster and using fewer resources.

74
Q

What is Refactoring?

A

Refactoring involves reworking programs to make them clearer and easier to maintain while preserving their correctness and functionality. It’s widely employed with agile development methodologies.

75
Q

What are Design patterns?

A

Design patterns are proven architectures for constructing flexible and maintainable object-oriented software. The field of design patterns tries to enumerate those recurring patterns, encouraging software designers to reuse them to develop better-quality software using less time, money and effort.

76
Q

What is LAMP?

A

LAMP is an acronym for the open-source technologies that many developers use to build web applications inexpensively
it stands for Linux, Apache, MySQL and PHP (or Perl or Python—two other popular scripting languages).

77
Q

What is Software as a Service (SaaS)?

A

With Software as a Service (SaaS), the software runs on servers elsewhere on the Internet. When that server is updated, all clients worldwide see the new capabilities—no local installation is needed. You access the service through a browser.

78
Q

What is Platform as a Service (PaaS)?

A

Platform as a Service (PaaS) provides a computing platform for developing and running applications as a service over the web, rather than installing the tools on your computer.

79
Q

What is Cloud computing?

A

SaaS and PaaS are examples of cloud computing. You can use software and data stored in the “cloud”—i.e., accessed on remote computers (or servers) via the Internet and available on demand—rather than having it stored locally on your desktop, notebook computer or mobile device.

80
Q

What is Software Development Kit (SDK)?

A

Software Development Kits (SDKs) include the tools and documentation developers use to program applications.

81
Q

What is a Alpha version?

A

Alpha software is the earliest release of a software product that’s still under active development. Alpha versions are often buggy, incomplete and unstable and are released to a relatively small number of developers for testing new features, getting early feedback, etc.

82
Q

What is a Beta version?

A

Beta versions are released to a larger number of developers later in the development process after most major bugs have been fixed and new features are nearly complete.

83
Q

What is a Release candidate?

A

Release candidates are generally feature complete, (mostly) bug free and ready for use by the community, which provides a diverse testing environment— the software is used on different systems, with varying constraints and for a variety of purposes.

84
Q

What is a Final release?

A

Any bugs that appear in the release candidate are corrected, and eventually the final product is released to the general public.

85
Q

What is a Continuous beta?

A

Software that’s developed using this approach (for example, Google search or Gmail) generally does not have version numbers. It’s hosted in the cloud (not installed on your computer) and is constantly evolving so that users always have the latest version.