Core Module Information
Module title: Foundations of Software Design and Development

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

Module code: SET07110
Module leader: Kevin Sim
School School of Computing, Engineering and the Built Environment
Subject area group: Computer Science
Prerequisites

n/a

Description of module content:

This is an introduction to software development, of which the module assumes no prior experience. Students will develop, run and debug programs. The first half of the module focuses on the foundational algorithmic constructs of sequence, selection, and iteration, through the use of flowcharts/pseudocode and their implementation in the Java language. Fundamental data structures such as arrays are introduced. Students are introduced to the idea of choosing a data structure appropriate for purpose. The second half of the module introduces the principles of object-oriented software development, including objects, classes, properties, methods, and inheritance. Best practice is covered throughout the module, including strategies to make code readable, and to facilitate code reuse.

Learning Outcomes for module:

Upon completion of this module you will be able to
LO1: Design algorithms to solve simple problems.
LO2: Implement simple algorithms in Java.
LO3: Identify the key concepts of object-oriented programming.
LO4: Implement simple object-oriented designs in Java.
LO5: Identify key computing structures and concepts (sequence, selection and iteration).

Full Details of Teaching and Assessment
2022/3, Trimester 1, Face-to-Face, Edinburgh Napier University
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: Face-to-Face
Location of delivery: MERCHISTON
Partner: Edinburgh Napier University
Member of staff responsible for delivering module: Kevin Sim
Module Organiser:


Learning, Teaching and Assessment (LTA) Approach:
The module is presented via a combination of lectures (covering LOs 1- 5) and supporting practical/tutorial sessions (also covering LOs 1-5). A “hands-on” approach is taken in the practical and tutorial sessions, with students writing programs from the start. The lectures support this by covering the underlying concepts, both in Java and more generally.
Students will receive formative feedback on their progress throughout the module via the practical sessions.


Formative Assessment:
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:
Assessment is by submission of source code or by demonstration of working programs. Students are given a range of problems to solve; they can choose to attempt simple problem that attract a minimum pass mark or they can attempt more difficult problems and aim for a high grade. This approach recognises the wide ability range that is typical at undergraduate level, it allows the enthusiasts to excel and show off their superior skills; it allows the weaker students to obtain an honest pass by showing off their more modest abilities.



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


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Class Test 25 5 6 HOURS= 10, WORDS= 0
Practical Skills Assessment 60 1,2,3,4, 5 13 HOURS= 60, WORDS= 0
Project - Practical 15 3,4,5 14 HOURS= 20, WORDS= 0
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

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