Programming Techniques Flashcards

1
Q

Name the three programming constructs

A

Sequence, branching and iteration.

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

Which two categories of loop is iteration split up
into?

A
  • Count-controlled
  • Condition-controlled
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe how the branching programming construct
works

A

A certain block of code is run if a specific condition is met, using IF statements.

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

What is recursion?

A

A programming construct in which a subroutine calls itself during its execution until the stopping condition is met.

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

What is the base case in recursion?

A

A condition that must be met in order for the recursion to end.

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

State two advantages of recursion

A

● Can be represented in fewer lines of
code

● Easier to express some functions
recursively than using iteration

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

State a disadvantage of recursion

A
  • Inefficient use of memory
  • Danger of stack overflow
  • Difficult to trace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Give two pieces of information that are stored on the
call stack.

A
  • Parameters
  • Return addresses
  • Local variables
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define scope

A

The section of the program in which a variable
is accessible

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

Give two advantages of using local variables over
global variables

A
  • Less memory is used
  • Self-contained so unaffected by code outside
    of the subroutine
  • Take precedence over global variables with
    the same name
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is top-down design?

A

A technique used to modularise programs in which
the problem is continually broken down into
sub-problems, until each can be represented as an
individual, self-contained module which performs a
certain task.

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

State two advantages of a modular design

A
  • Makes a problem easier to understand and approach
  • Simpler to divide tasks between a team
  • Easier to manage project
  • Self-contained modules simplify testing and maintenance
  • Greater reusability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Give another name for top-down design

A

Stepwise refinement

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

What is the difference between procedures and
functions?

A

Functions must always return a single value while a procedure does not always have to return a value.

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

What does it mean to pass a parameter to a subroutine by reference?

A

The address in memory of the parameter is passed to the subroutine so its value outside of the subroutine will be updated.

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

State two features of IDEs.

A
  • Stepping
  • Variable watch
  • Breakpoint
  • Source code editor
  • Debugging tools
17
Q

What does IDE stand for?

A

Integrated Development Environment

18
Q

What is encapsulation in object-oriented programming?

A

When attributes are declared as private so can only be accessed and edited by public methods.

19
Q

Describe the purpose of encapsulation in object-oriented programming

A

Program complexity is reduced by protecting data from being accidentally edited by other parts of the program.

20
Q

State two features of IDEs (Developing).

A
  • Auto-Complete
  • Auto-Indent
21
Q

State two features of IDEs (Debugging).

A
  • Stepping
  • Breakpoint
22
Q

What is a constructor?

A

special method of a class

23
Q

Discuss the benefits of using an IDE to write and test a program rather than using a text editor. (Knowledge)

A

IDE is software that has function such as: an editor, compiler

24
Q

Discuss the benefits of using an IDE to write and test a program rather than using a text editor. (Application)

A

Writing
Auto-Indent would automatically indent for the programmer when needed lowering the possibility for errors and improving the code quality.

Auto-complete would automatically complete keywords lowering the chance for error through spelling mistakes etc.

Testing
Stepping would run the code line by line which would make it easier to find an error in a program which in the long-run improves the quality of the code and helps reduce errors/

25
Q

Discuss the benefits of using an IDE to write and test a program rather than using a text editor. (Evaluation)

A

IDES improve quality of code as there is a less likely chance for human error which also reduces the amount of time a program takes to be made as less time is spent on debugging.