CS1SE20-Software Engineering: Fundamentals and Professional Development

Module Provider: Computer Science
Number of credits: 20 [10 ECTS credits]
Level:4
Terms in which taught: Autumn / Spring term module
Pre-requisites:
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2020/1

Module Convenor: Dr Pat Parslow

Email: p.parslow@reading.ac.uk

Type of module:

Summary module description:

This module introduces students to the concepts, practice and management of software engineering and the professional development to support it.. It addresses the lifecycle activities associated with developing software as part of a system as well as the management activities required to ensure that the software is developed on time, within budget and is fit for purpose. The module also incorporates case studies and examples to show the application of the concepts and principles to real-world systems.



A learning approach is adopted which reflects software engineering theory and practice. Students are given course material to read/view prior to the lectures, and are required to produce a number of assessments in teams.


Aims:

This module will provide an understanding of the concepts, practice and management of software engineering and how it relates to the wider context of systems engineering.



This module also encourages students to develop a set of professional skills, such as problem solving, end-user awareness, organisation and time management, creativity, self-reflection, software design and development, technical report writing, team working, initiative and self-motivation, action planning and decision making, effective use of commercial (and non-commercial) software, personal development planning, commercial awareness, appreciation of multiple perspectives and values of diversity.


Assessable learning outcomes:


  • By the end of the module, it is expected that the student will be able to:

  • Describe how software engineering fits within the wider context of systems engineering;

  • Articulate the business and ethical drivers for promoting quality products and practices;

  • Describe the software life cycle and the activities associated with each phase of it (feasibility, requirements, design, implementation, testing, handover, maintenance, evolution and decommissioning);

  • Describe the essential concepts of project planning, risk analysis, configuration management and testing;

  • Distinguish the difference between plan-based and agile-based approaches to software development;

  • Appreciate the importance of software engineering to real-world projects;

  • Apply software lifecycle activities and project management concepts to a given specification (linked to the assignment);

  • App ly software engineering principles to their learning approaches;

  • Work with others in a group project and understanding a team approach to projects;

  • Explain why planning is important in their own work;

  • Appreciating the need for back-ups and contingency plans;

  • Demonstrate innovative and creative thinking;

  • Demonstrate importance of communication and documentation;

  • Critically evaluate technical matters, a nd team and individual performance.


Additional outcomes:

The module also aims to encourage the development of the following skills:




  • Questioning and clarifying problem specifications.


Outline content:

The module draws on the IEEE’s articulation of knowledge on the topic, as presented in the Software Engineering Book of Knowledge v3 (SWEBOK).



Introduction:




  • Introduction to the module, Learning as an engineering process;

  • Introduction to software engineering and assignments.



Foundations:



Introduction to Engineering, Mathematical and C omputing foundations of Software Engineering;




  •  Research skills, report writing, referencing, time management, reflection and retrospectives



Quality drivers:




  • Software Engineering Economics, Professional Practice and Software Quality;

  • Life Cycle, Risk and Uncertainty, Capability Maturity;

  • Professionalism, Ethics, Complexity;

  • Value, Models, Safety, Verification and Validation.



Software Engineering Models and Methods:




  • Modelling, Analysis, Methods.



Processes and Management:




  • Process Definition, Life Cycles, Process Assessment, Measurement;

  • Project initiation, Planning, Enactment, Measurement, Review, and Closure;

  • Software Configura tion Management.



Software Requirements;




  • Fundamentals, Process, Elicitation, Analysis, Specification, Validation, Practical considerations.



Software Testing:




  • Fundamentals, Test Techniques, Measures, Processes.



Software Design:




  • Fundamentals, Key Issues, Structure and Architecture, User Interface Design, Quality, Notations, Strategies.



Software Construction:




  • Fundamentals, Managing Construction, Practical Considerations, Technologies.



Software Maintenance and Decommissioning:




  • Fundamentals, Key Issues, Processes, Techniques, Quality and Legal.


Brief description of teaching and learning methods:

Two hours of lectures each week. The lectures provide theory and space for team discussions and topic exploration. 


Contact hours:
  Autumn Spring Summer
Lectures 20 11
Seminars 2 9
Guided independent study:      
    Wider reading (independent) 15 15
    Wider reading (directed) 4 4
    Exam revision/preparation 10 10
    Advance preparation for classes 10 10
    Group study tasks 15 15
    Essay preparation 15 15
    Reflection 10 10
       
Total hours by term 91 99 10
       
Total hours for module 200

Summative Assessment Methods:
Method Percentage
Written exam 30
Set exercise 70

Summative assessment- Examinations:

One 2-hour examination paper in May/June.


Summative assessment- Coursework and in-class tests:

The coursework comprisesset exercises as follows:




  • Team work throughout the Autumn and Spring terms (total 45%);

  • Individual project plan in Autumn term assessing professional skills (15%);

  • Individual reflections in Spring term (10%).



 


Formative assessment methods:

Formative feedback occurs throughout the set exercises, and in class discussion in the module


Penalties for late submission:

The Module Convenor will apply the following penalties for work submitted late:

  • where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day[1] (or part thereof) following the deadline up to a total of five working days;
  • where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.
The University policy statement on penalties for late submission can be found at: http://www.reading.ac.uk/web/FILES/qualitysupport/penaltiesforlatesubmission.pdf
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

Assessment requirements for a pass:

A mark of 40% overall


Reassessment arrangements:

One 3-hour examination paper in August/September.  Note that the resit module mark will be the higher of (a) the mark from this resit exam and (b) an average of this resit exam mark and previous coursework marks, weighted as per the first attempt (30% exam, 70% coursework).


Additional Costs (specified where applicable):

Last updated: 16 April 2020

THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.

Things to do now