Core Module Information
Module title: Programming Fundamentals

SCQF level: 07:
SCQF credit value: 20.00
ECTS credit value: 10

Module code: SET07109
Module leader: Simon Powers
School School of Computing
Subject area group: Computer Science

You are expected to have previous experience of a high level programming language such as Java or C# to undertake this module.

Description of module content:

This module covers areas of software development that are related to low level systems and machine programming. The individual units will focus on particular aspectsaspects and considerations when compiling and linking programs that produce native code. The following subjects will be covered:
• Compiling and linking programs
• Data sizes and data representation on different architecture targets
• Inline assembly
• Includes and declaration order
• Call conventions – pass by value, reference and pointer
• Memory management – stack and heap
• Low level debugging
• Object orientation
• Virtual function calls and function tables
• Operator overloading
• Data structures using pointers
• Secure coding practices

Learning Outcomes for module:

Upon completion of this module you will be able to
LO1: Design, develop and test computer programs in a suitable systems programming language
LO2: Develop applications that utilise low-level machine programming techniques
LO3: Understand the concepts required to undertake low-level systems programming
LO4: Develop problem solving skills involving low-level machine considerations
LO5: Knowledge of secure coding standards as specified by appropriate certificating body

Full Details of Teaching and Assessment
2022/3, Trimester 2, BLENDED, Edinburgh Napier University
Occurrence: 001
Primary mode of delivery: BLENDED
Location of delivery: MERCHISTON
Partner: Edinburgh Napier University
Member of staff responsible for delivering module: Simon Powers
Module Organiser:

Learning, Teaching and Assessment (LTA) Approach:
The module is presented via a combination of lectures (covering LOs 1- 5) and supporting practical sessions (also covering LOs 1-5). The practical sessions are “hands-on” which is reflected throughout the teaching of the module. The lectures will therefore cover both the theory and implementation of systems programming concepts. Tutorial sessions (LO1, LO4) will support understanding of design concepts.

Formative Assessment:
All learning outcomes will be covered in the coursework, which will include several parts and code demonstrations. Students will receive formative feedback on their progress throughout the module via the practical sessions and tutorial sessions.

To support formative feedback, the Software Engineering subject group utilise a lab based teaching approach across their provision. During these lab sessions, staff will discuss and evaluate student progress and provide feedback on how well they are progressing with their work. All modules in the subject group also require students to demonstrate their coursework on submission to provide further formative feedback on how the work could be improved.

Summative Assessment:
The module has three assessments. The first two are project based and require the students to undertake the development of significant pieces of software using a systems programming language. This forms a formative assessment built up during the module, covering LOs 1, 2 and 4. Students will receive feedback via face-to-face demo sessions and electronically at the end of the module.

The third assessment is a formal exam which will assess the students’ understanding of the concepts and concerns when undertaking systems programming. The exam is a summative assessment covering LOs 3-5.

Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Lecture 12
Face To Face Practical classes and workshops 24
Independent Learning Guided independent study 150
Face To Face Guided independent study 2
Face To Face Tutorial 12
Total Study Hours200
Expected Total Study Hours for Module200

Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Practical Skills Assessment 24 1,2,4 8 HOURS= 24, WORDS= 0
Centrally Time Tabled Examination 40 3,4, 5 14/15 HOURS= 2, WORDS= 0
Practical Skills Assessment 36 1, 2, 4 12 HOURS= 36, WORDS= 0
Component 1 subtotal: 60
Component 2 subtotal: 40
Module subtotal: 100

Indicative References and Reading List - URL:
Contact your module leader