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

There are no pre-requisites for this module to be added

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
2024/5, Trimester 1, In Person,
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: In Person
Location of delivery: MERCHISTON
Partner:
Member of staff responsible for delivering module: Kevin Sim
Module Organiser:


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)NESH Description
Face To Face Lecture 20 Lectures cover the following ten topics. The first hour presents underlying theoretical principles follwed by a second hour where practical examples are demonstrated Introduction Data Types; Conditions & Loops; Java Collections Framework; Introduction to Objects; Class Specifications & Associations; Object Inheritance; Abstract Data Types & Polymorphism; Testing; Putting together a complete system;
Face To Face Practical classes and workshops 20 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.
Online Guided independent study 144 Additional exercises are provided in the practical material each week that students should complete in their own time. The practical material and additional exercises mirror the topics introduced in the lectures each week.
Face To Face GROUPSCHEDULED 16 The Group Project is introduced during week 13 and students work in groups during week 14 over the course of a week culminating in a presentation of the project at the end of the week.
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words Description
Class Test 25 3~5 Week 6 HOURS= 75 minutes The class test takes place in the practical session during week 6. Students are asked to answer 25 short answer questions on Moodle. Questions ask students to identify what the output of different code snippets will be and enter this on Moodle. The questions are automatically marked and students receive their grades and feedback after all students have taken the test.
Practical Skills Assessment 60 1~2~3~4~5 Week 12 HOURS= 60 hours Practical Skills Assessment that requires students to complete a coding exercice in Java and present their work during the practical lab sessions in either week 12 or 13. Their are three levels of assessment to allow students with little prior programming knowledge to successfully complete the coursework and harder levels that challenge more advanced students.
Project - Practical 15 1~3~4 Exam Period HOURS= 16 Project - Practical. Students work on a small project during week 14 that requires them to design a simple software system. A number of choices are given including simple inventory systems and games. No coding is required and the assessment focusses on design skills, project management and team work.
Component 1 subtotal: 100
Component 2 subtotal: 0
Module subtotal: 100

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