Imperative Programming Foundations
Imperative Programming Foundations 2022-23
School Of Computer Science And Electronic Engineering
Module - Semester 1
David Edward Perkins
Indicative content includes:
Types of programming languages and their features; interpretation and compilation; applications; programming environment and library use.
Use of variables; variable names; primitive data types; arithmetic operators; relational operators; boolean operators; evaluation of arithmetic and boolean expressions; assignment of values to variables; strings; arrays; array algorithms.
Concept of an algorithm; basic control structures - sequencing, selection and iteration; code blocks; if and switch statements; use of for, do and while loops; loop conditions; nested loops; basic input/output facilities pseudo-code as a design and documentation aid.
White box and black box view of program modules; method components header and body; method signatures; parameters; solving problems using stepwise refinement; block structure and variable scope; recursion and recursive methods.
Permanent and volatile storage; the concept of a file; structure of a text file; methods for file I/O; binary data and files; formatting output.
Correct use of code indentation; use of comments; choice of variable, class and method names; capitalization.
-threshold -Equivalent to 40%.Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.
-good -Equivalent to the range 60%-69%.Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.
-excellent -Equivalent to the range 70%+.Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.
- Design algorithms to solve a range of computational problems; use standard control structures together with I/O facilities to implement algorithms.
- Design and build application/s using a range of programming techniques, including iteration.
- Use the basic structure and features of a programming language
- Write programs which adhere to style and documentation guidelines.
A series of lab based practice exercises building to assessed programs.
Multiple choice quizzes x 4