Programming Flashcards
IDE
Integrated development environment
Provide a large range of tools to help develop programs eg text editor, autocomplete, automatic line numbering, syntax checking, runtime environment, debugging
Text editor
The window in an IDE that allows you to write code. Program code is plain text which is then translated to machine code by an interpreter or compiler.
Syntax checking
A feature built into most IDEs to spot potential syntax errors as soon as you make them.
Without this you would have to debug after running the program.
Runtime environment
When code has been compiled, the IDE will allow for some form of interpretation so that there can be some development without having to compile the whole code again.
Debugging tools
Break point - adds a pause to the program to stop the flow of execution.
Memory inspector - shows the contents of memory so you can see how it’s being used by the program. Can help to identify a memory leak.
Threading - multiple sequences of code being executed concurrently. Can be difficult to spot errors so some IDEs have a thread inspector.
Function
Executes a set of instructions and returns a value
Procedure
Execute a set of instructions. No value is returned.
Problem recognition
Identify the nature and parameters
Analyse the current situation
Specify requirements
Identify if it can be classified as a certain type of problem
Passing by value
If changed in subroutine, original variable is unchanged.
Parameter has local scope.
Data is held in a separate memory location and is only available in the subroutine.
Passing by reference
Creates a pointer that contains the memory address of the original variable.
Any change to the parameter affects the original variable.
Features that make a problem solvable by computational methods
Clearly defined
Computable - what type of calculations
Examine data requirements
Determine if decomposition or abstraction can be used
Backtracking
Often uses recursion.
Can be used with graphs where the algorithm must check a number of different solutions.
Heuristics
Approaches to problems that don’t necessarily provide the optimal solution but will always provide a good solution in a reasonable time frame.
Performance modelling
Evaluating if a system or program works as expected before it is released, and using g this knowledge to make it more effective.