201 Flashcards

1
Q

What are the stages of developing a piece of software? (8 steps)

A
  1. Initial planning
  2. Cycle of steps:
      1. Planning
      1. Design
      1. Implement code
      1. Test
      1. Evaluate
      1. Debug
  3. Deploy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How is software development divided?

A

Small time coding

Most of the time is fixing code

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

What is the level of computer language?

A

This is the amount of abstraction from the computers instruction set archetecture

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

What is the lowest level of computer language?

A

Machine code

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

What is machine code? is it easy to use?

A

Lowest level computing language
Binary
Hard to read

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

What is assembly language?

A

Symbolic notation of machine code
Uses mnemonics
Hard to program

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

What is a high level language? (5)

A
Large abstraction
Natural language
Some processes are automated
Easier to code
Compiler is used to convert to machine code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is an assembler?

A

Converts between mnemonics and machine code

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

What is portability with regards to the level of code?

A

Portability is the ability for code to be ran on different computer systems.
Machine code is not portable

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

How can high level code be run on different computers?

A

Compilers convert high level code to the machine code specific for a type of computer

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

What is C++ with regards to C?

A

C++ is an extension of C code

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

What is the file extension for C?

A

.c

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

What is the file extension for C++?

A

.cpp

.cc

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

What is the file extension for a header?

A

.h

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

What is a compiler?

A

Convert high level code to the machine code specific for a type of computer.
Compilation usually has a few steps.

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

What are the steps of compilation?

A

Pre-process
Compilation
Assembly
Linking

17
Q

What is the pre-process step?

A

This involves the source code being expanded to include all files and macros

18
Q

What is the compilation step?

A

Expanded code is converted into assembly code made from mneumonics

19
Q

What is the assembly step?

A

The assembly code is converted into binary machine code

20
Q

What is the linking step?

A

This is combining the object code with any library code to make an executable file

21
Q

What simplest command used to compile a C file?

A

g++ -0 HelloWorld.exe main.cpp

22
Q

What is the command to execute code?

A

./HelloWorld.exe

23
Q

What is the use of flags during compilation?

A

They are able to edit or stop the compilation at a certain step?

24
Q

What does the -0 flag do?

A

This names executable the file to the name specified rather than naming it with a letter.
g++ -0 HelloWorld.exe main.cpp

25
Q

What does the -E flag do?

A

This stops the compilation after pre-processing

26
Q

What does the -S flag do?

A

This stops the compilation after the compilation process

27
Q

What does the -c flag do?

A

This stops the compilation after the assembly process.

This creates an object file (.o extension)

28
Q

What does the -o flag do?

A

This allows the object code to be linked in the final step:

g++ -o HelloWorld.exe main.o

29
Q

What does the -Wall flag do?

A

Outputs any warnings from the code.

30
Q

What does the -O flag do?

A

This optimises the code automatically. The level of optimisation can be set with:

  • O1
  • O2
  • O3
31
Q

What is Mbed?

A

This is a platform to develop embedded applications. It is cloud based