1/12
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
When doing serious, large-scale scientific computing or computational science, what operating system environment is this carried out on and what type of programming language is used to carry it out?
Serious large-scale scientific computing or computational science is done only with compiled languages in a Unix or Linux environment.
Name two examples of both compiled and interpreted languages
Compiled languages: Fortran, C, C++
Interpreted languages: Python, R, Matlab
Explain what a ‘low level’ programming language is and give two examples of them
A low-level programming language has no or little abstraction from the processor’s instruction set, and thus is close to the hardware. It deals with registers, memory addresses and call stacks, is optimised for a given system architecture and thus is not well portable.
The first generation is machine code, which runs directly on the processor without a compiler or interpreter. The second generation is assembly language, which provides one abstraction level over machine code and is transformed into the latter by an assembler.
Explain what a ‘high level’ programming language is and give two examples of them
A high-level programming language has a strong abstraction from the hardware details of a particular computer. It deals with variables, arrays, objects, control structures, functions, and focuses on usability by a human programmer rather than on runtime optimisation, at the cost of an abstraction penalty. These languages are portable across a variety of computers.
List an example of each of the four generations of programming languages
First generation: Machine code
Second generation: Assembly code
Third generation: Python
Fourth generation: SQL
What is a Turing machine and a Turing-complete programming language?
A Turing machine is an abstract computer that can implement any computer algorithm. A programming language is Turing-complete if it can simulate a Turing machine. Turing-complete languages have the features and constructs necessary to perform general-purpose computations, although they are not all equally good at it.
Name and explain the three flow-control structures in structured programming
e.g. C++, Python

Define structured programming
Structured programming uses only three flow-control structures (sequential, conditional and iterated execution), with sequential or nested but not intertwined go tos. This helps writing code that is easy to read and maintain. e.g. C++, Python.
Explain what procedural programming is
Procedural programming is a subset of structured programming which splits the code into separate procedures, also called functions, (sub)routines or methods, which call each other through clearly defined interfaces. e.g. C++, Fortran, Java and Python.
Explain what modular programming is
Modular programming is an extension of the “divide et impera” approach of procedural programming in order to manage large software projects. It groups procedures into namespaced files or modules so that a variable or procedure does not conflict with an identifier that shares the same name, but is in another file or module.
Explain Object-Oriented programming
Object-Oriented Programming (OOP) is a paradigm that organizes software design around data, or "objects," rather than functions and logic. In this approach, an object is a self-contained unit that bundles together attributes (what it is) and behaviours (what it can do).
What is array prgramming?
Array programming avoids iterated execution over array elements by exploiting operations on whole arrays. The result is more compact, readable and efficient code. Matlab, Fortran and Julia natively support arrays, C++ and Python do not but they can be used with libraries.
Name and explain the two types of numerical errors
