Module 1: Intro to Core Programming Concepts Flashcards

1
Q

What are the computer data storage and processing concepts.

A

Numbering Systems and Binary, Hexadecimal, ASCII Table, Computer Memory, Memory Size, Memory Addressing, CPUs and Registers.

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

What are the application types.

A

Command Line Applications, Describe Windows and Other GUI Applications, Web- Based Applications.

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

What are the components of the lifecycle of an application.

A

Envisioning and Planning, Developing and Testing,

Release and Maintenance.

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

What are the two code compilations?

A

Native Code Compiling, Intermediate Code Compiling.

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

Describe computer number systems.

A

Numbering Systems and Binary- numbering system based on 10 values and therefore the term base 10 (0-9) binary system number is base 2(only two possible values 0 or 1).

Hexadecimal- numbering system that is known as base 16—uses 16 values to represent values(0-9 then A-F after)

ASCII Chart- decimal and hexadecimal values that are used to represent the characters allow us to see how they are represented as codes in the computer, 256 values.

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

Describe computer memory concepts.

A

Computer memory is an area that is used to store and retrieve information (data). Computer memory is a hardware component that is in the form of electronic circuits that store voltage.

Categorize computer memory as volatile (requires electricity to store memory) and non-volatile(does not).

To store data into computer memory, the operating system, along with the CPU and the computer hardware, work with a memory address system. This address system permits the operating system and the CPU to access the data stored in a memory chip.

Computer memory is known as Random Access Memory or RAM. This term indicates that you can access the contents of the memory randomly.

Memory Size- Bytes. One byte is equal to 8 bits, which is enough to store one letter, number, or symbol, megabytes Mega is short for million and is equal to 1,048,576 bytes, Gigabytes (GB). A thousand megabytes, or more precisely, 1,073,741,824 bytes, Terabytes (TB). A thousand gigabytes, or a really large number, 1,099,511,627,776 bytes,

Memory addressing- Computer memory is addressable in hexadecimal. Computer memory addresses start at zero and go all the way up to the maximum size of memory in the computer. Using hexadecimal addressing, your program requests the data stored at address 0x3FD. The computer knows how to gain access to that memory location and it will return the data that is found there.

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

Describe how a CPU operates.

A

CPU is the heart of the computer. The CPU determines the architecture of the computer system. CPU determines the instruction set that a computer recognizes. The CPU contains many components, most importantly are the actual processor, the math co-processing components, control components, and some internal memory known as registers. When a program executes, instructions are evaluated by the CPU and an action is taken based on the instruction. When the comparison is done, the result is stored in another CPU register. When the instruction completes, the code moves to the next instruction and the data is either discarded or saved, based on what the program is doing.

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

Describe the most common types of applications.

A

Command-Line Applications, Windows and Other GUI Applications, Web-Based Applications.

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

Describe native code compilation.

A

Native code compiling refers to the process of compiling code to execute on a specific CPU. The code is converted into the native instructions that the CPU understands. This is the fastest code execution model because no translation is necessary. Native code doesn’t always mean that the code is compiled for a specific CPU.

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

Describe Command Line Applications.

A

Command-Line Applications- A command-line application does not use graphical elements that are mouse or touch-enabled. Command-line applications are sometime called MS-DOS applications or MS-DOS prompt applications. Command-line applications require a user to type commands by using the keyboard and to read output on the screen in the textual format. EX Command Prompt Window.

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

Describe Windows and Other GUI Applications.

A

Windows and Other GUI Applications- GUI-based applications have well-designed graphics and user interface elements that users interact with as the application executes. These elements include window elements that provide a frame for the application along with buttons, images, and other controls such as sliders and lists. To interact with GUI-based applications, you require a mouse although they also accept input from keyboards for entering text and touch input by using a finger or a stylus.

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

Describe Web-Based Applications.

A

Web-Based Applications- Web-based refers to the World Wide Web and the applications that run on the Internet as a whole but more commonly within Web browsers on the user’s computer. You can classify Web-based applications as client-side or server-side.

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

Describe Client-side applications.

A

Client-side applications are webpages that load in the browser and have functionality that is incorporated through the use of a client-side scripting language, such as JavaScript or Visual Basic Scripting Edition (VBScript). These scripting languages are interpreted by the browser and all the functionality happens within the browser and on the local computer, with certain restrictions such as local file system access.

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

Describe Server-side applications.

A

Server-side applications are webpages that rely on a Web server to provide the functionality. Typical Web servers are Microsoft’s Internet Information Server (IIS) and Apache. These Web servers host the pages that make up the Web-based application and send the HTML down to the user’s computer for display by the browser. The user interacts with the application by filling out fields on a form or interacting with the page in some other way. The difference between client and server is that the user’s actions and supplied data are sent to the server where the server processes the data and returns results or other pages based on the code.

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

Describe the Envisioning and Planning step of the application life-cycle.

A

Envisioning and Planning- concept created with high- level ideas, vision documents created, purpose application is intended to solve, planning begins and creating functional specifications begin, involves identifying request for proposals, project cost estimates.

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

Describe the Development and Testing step of the application lifecycle.

A

Developing and Testing- functional specs are first transformed into technical specifications or aspects of the features that will be used to create the requested functionality, unit testing by other programmers, test teams test functionality prior to release to ensure there are no bugs, Beta testing makes app available for users in real world scenario provides feedback and identifies bugs.

17
Q

Describe the Release and Maintenance step of the application lifecycle.

A

Release and Maintenance- Decision to release app is made. Testing code removed from final product, sent to manufacturing if needed. May need to fix bugs discovered later by end-users, apply security patches, or consider product updates. AKA maintenance.