School of Computer Science BCS accreditation 2021 - 2026
[Home]
Artificial Intelligence MEng (Hons) - COMP26020 Programming Languages & Paradigms
Return to programme overview.
2.1.1 Knowledge and understanding of facts, concepts, principles & theories
The course unit covers essential knowledge, concepts, principles in relation to different aspects of programming languages, including different paradigms (eg, imperative vs declarative) as well as compilation techniques and current trends.
Assesement : Examination, Individual coursework, Lab work
Assesement : Examination, Individual coursework, Lab work
2.1.2 Use of such knowledge in modelling and design
This is partly addressed through lectures and lab work where different paradigms are used to illustrate trade-offs between different programming languages
Assesement : Examination, Lab work
Assesement : Examination, Lab work
2.1.3 Problem solving strategies
The unit makes use of problems where the solutions require problem-solving skills to apply different programming principles
Assesement : Examination, Individual coursework, Lab work
Assesement : Examination, Individual coursework, Lab work
2.1.4 Analyse if/how a system meets current and future requirements
There is one part of the course unit, which is dedicated to future trends in programming languages.
Assesement : Examination, Individual coursework
Assesement : Examination, Individual coursework
2.2.1 Specify, design or construct computer-based systems
There is a set of exercises where specification is provided and different compute-based systems have to be implemented using different programming languages
Assesement : Examination, Lab work
Assesement : Examination, Lab work
2.2.2 Evaluate systems in terms of quality and trade-offs
A range of trade-offs in terms of designing, building, compiling programs are discussed throughout the course unit
Assesement : Examination, Individual coursework
Assesement : Examination, Individual coursework
2.3.2 Development of general transferable skills
Problem solving is exercised throughout the course unit, time management is necessary when dealing with lab work.
Assesement : Examination, Lab work
Assesement : Examination, Lab work
3.1.3 Knowledge of systems architecture
The course unit requires a good understanding of the software stack as it deals with programming languages and compilers
Assesement : Lab work
Assesement : Lab work
3.1.4 Knowledge and understanding of mathematical and/or statistical principles
Some mathematical formalism in relation to languages and compilers is introduced to illustrate key concepts
Assesement : Examination
Assesement : Examination
4.1.1 Knowledge and understanding of scientific and engineering principles
Scientific and Engineering principles are deployed throughout the course unit to solve practical problems.
Assesement : Examination, Lab work
Assesement : Examination, Lab work
4.1.2 Knowledge and understanding of mathematical principles
There is some light use of mathematical notation in relation to programming, compilation, concurrency
Assesement : Examination
Assesement : Examination