CSC2035 : Software Systems Design and Implementation
CSC2035 : Software Systems Design and Implementation
- Offered for Year: 2023/24
- Module Leader(s): Dr Rouaa Yassin Kassab
- Lecturer: Dr Fareed Arif
- Owning School: Computing
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 1 Credit Value: | 30 |
ECTS Credits: | 15.0 |
European Credit Transfer System | |
Pre-requisite
Modules you must have done previously to study this module
Pre Requisite Comment
N/A
Co-Requisite
Modules you need to take at the same time
Co Requisite Comment
N/A
Aims
To introduce the design and implementation of software systems.
There are factors that we must take into account when designing and implementing software systems that either do not arise in application development or are less critical in application development. These include the longevity of systems compared to applications, agreement on shared abstractions that are often codified in interfaces and standards, and the conservation of resources to maximise their availability to applications. This module gives students an appreciation of such factors and their implications for good design and software development in general.
Operating systems and their extension to networks of systems are used as exemplars. The lessons drawn from their design and implementation are applicable not only to other systems but also to good applications design. The appreciation of their general applicability and the trade-offs involved will inform any future software development students undertake.
The module is directly related to and builds on the Stage 1 module CSC1032 on Computer Systems Design and Architectures.
Outline Of Syllabus
The module is organised into three strands: operating systems, networks of systems and practical systems development work that complements and exemplifies the other two strands.
In operating systems, the focus will be on processes and memory management, scheduling and the need for, and mechanisms to achieve, inter-process communication and concurrency control. In networks we cover the fundamental abstractions presented by the Internet, with a particular focus on achieving reliable communication over an unreliable network of networks.
Specific topics covered in the theoretical strands include:
- the process model and process lifecycle
- process address space and isolation and virtual memory
- process implementation
- scheduling requirements and algorithms
- concurrent execution and mechanisms for data sharing
- the mutual exclusion problem and the implementation of solutions
- network topologies
- network protocols
- network layers and their realisation in TCP/IP
- internetworking and reliable communication
Learning Outcomes
Intended Knowledge Outcomes
To be able to:
• apply the principles and practice of systems design and development
• review and apply the principles and practice of resource sharing and management
• identify, analyse and resolve concurrency problems in practice
• analyse, review and discuss how the Internet works
• distinguish between the various components of a network system and its layers
Intended Skill Outcomes
To be able to:
• formulate problems and identify suitable approaches to solving them
• reason abstractly about the structure and behaviour of software systems
• program at the systems level
• apply concurrency control mechanisms
• analyse the requirements for a network system
• think critically about the layers of abstraction of a software system
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 50 | 1:00 | 50:00 | Coursework 2 |
Guided Independent Study | Assessment preparation and completion | 50 | 1:00 | 50:00 | Coursework 1 |
Scheduled Learning And Teaching Activities | Lecture | 44 | 1:00 | 44:00 | Present in Person (PiP) lectures preferably in lecture theatre or scheduled online seminar. |
Guided Independent Study | Assessment preparation and completion | 26 | 1:00 | 26:00 | Revision for exam |
Structured Guided Learning | Lecture materials | 11 | 1:00 | 11:00 | Non-synchronous online lectures and related material. |
Guided Independent Study | Assessment preparation and completion | 1 | 2:00 | 2:00 | Exam |
Scheduled Learning And Teaching Activities | Practical | 11 | 2:00 | 22:00 | PiP supervised practical labs, in flat floor labs. |
Guided Independent Study | Directed research and reading | 33 | 1:00 | 33:00 | Lecture preparation and follow-up |
Scheduled Learning And Teaching Activities | Practical | 11 | 1:00 | 11:00 | PiP supervised practical labs, in flat floor labs. |
Scheduled Learning And Teaching Activities | Workshops | 11 | 1:00 | 11:00 | PiP practical demonstration/exemplification of lecture material, in flat floor lab. |
Guided Independent Study | Independent study | 40 | 1:00 | 40:00 | Background reading, technical investigation and programming practice |
Total | 300:00 |
Teaching Rationale And Relationship
Techniques and theory are presented in lectures and related material and cover core concepts. Additional reading and technical background facilitates systems programming and development. Practical activities and workshops provide students with application experience of the techniques and theories taught, assessed through systems implementation in their project work.
Reading Lists
Assessment Methods
The format of resits will be determined by the Board of Examiners
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
Digital Examination | 120 | 1 | A | 66 | N/A |
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Practical/lab report | 1 | M | 17 | Software implementation |
Practical/lab report | 1 | M | 17 | Software implementation |
Formative Assessments
Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.
Description | Semester | When Set | Comment |
---|---|---|---|
Lab exercise | 1 | M | Exercises and quizzes to support learning and summative assessments |
Assessment Rationale And Relationship
Coursework will assess systems programming and the application of good systems design principles. Formative assessment exercises and quizzes will support learning. Examination will assess understanding of theoretical concepts. Present-in-Person assessment.
N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 35%, the maximum mark returned for the module will normally be 35%.
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC2035's Timetable
Past Exam Papers
- Exam Papers Online : www.ncl.ac.uk/exam.papers/
- CSC2035's past Exam Papers
General Notes
N/A
Welcome to Newcastle University Module Catalogue
This is where you will be able to find all key information about modules on your programme of study. It will help you make an informed decision on the options available to you within your programme.
You may have some queries about the modules available to you. Your school office will be able to signpost you to someone who will support you with any queries.
Disclaimer
The information contained within the Module Catalogue relates to the 2023 academic year.
In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described.
Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, and student feedback. Module information for the 2024/25 entry will be published here in early-April 2024. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.