Module Descriptors
SOFTWARE DEVELOPMENT
COMP40053
Key Facts
Digital, Technology, Innovation and Business
Level 4
20 credits
Contact
Leader: Dhuha Al-Shaikhli
Hours of Study
Scheduled Learning and Teaching Activities: 65
Independent Study Hours: 135
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 2
  • Occurrence B, Digital Institute London, UG Semester 2
  • Occurrence C, British University Vietnam, UG Semester 2
  • Occurrence G, British University Vietnam, UG Semester 3
Sites
  • British University Vietnam
  • Digital Institute London
  • Stoke Campus
Assessment
  • Practical Assessment - 10 min demonstation weighted at 30%
  • Written Report - 1000 words weighted at 10%
  • Practical Assessment - 15 min demonstation weighted at 60%
Module Details
INDICATIVE CONTENT
This module covers the following topics -



Programming Topics

Classes and objects

Designing applications with UML

Inheritance & polymorphism

Association & aggregation

Abstract classes

Accessing external data

REST API that outputs data in JSON format



Interface Topics

Web standards

Design of interfaces

HTML & CSS

Best practices in Web development

Event-driven programming in an appropriate language to consume data from an API (e.g. JSON)



Quality Assurance

Testing

Debugging

Application Deployment



Practical Content

Students will be given a range of practical tasks to complete to help gain mastery of the module’s topics through hands-on practical experience.



SPECIFICALLY IN RELATION TO THE EMPLOYABILITY FRAMEWORK, this module covers:



Personal Development Reflection (Personal Development Planning)

Professional CV development and presentation

Personal skills of evaluation and reflection

Determining life goals and developing a career plan.

Career Planning – students to book in with a career advisor for 1-2-1 to discuss their career plan and skills audit

The need for skills currency. Students will self-assess themselves to produce a skills audit to provide a foundation for growth. Identifying skills deficits and action planning.

Understanding personal strengths

Identification of an organisation’s ethos, working, and expectations, and how an individual learns and adapts to these

The need for professional competencies

Identification of potential barriers and organisational restrictions to career paths



Coaching and mentoring approaches

Strategies, efficiencies, and lifelong planning. Students will be introduced to the University Peer and Professional Mentoring Scheme

University Life Mentor – new students have the opportunity to receive a peer mentor to support them in settling into university life.

Giving back to place and society - Continuing students can sign up to become a Life Mentor to support new students.

Professional Mentor - Continuing students have the opportunity to receive a professional mentor from the industry of their choice to support them in their career journey

Working in teams / becoming a team player

Shining a highlight to personal attributes



The University Careers team will input directly to provide sessions on:

Start Where You Are Workshop – assists students in completing self-analysis and reflects on their current position

Career Planning Workshop – students will learn how to create an effective career plan and generate SMART Targets

ADDITIONAL ASSESSMENT DETAILS
Practical Assessment - You will be given a problem description for which you will design, implement and test a software application (Learning Outcomes 1 and 3).

Written Report – A supporting document to the first practical assessment that documents design and testing (Learning Outcomes 1 and 3).

Practical Assessment - You will be given a problem description for which you will design, create, test and deploy a web application, using current standards and practices, following your test-and-deploy strategy (Learning Outcomes 2 and 3).
LEARNING OUTCOMES
1. Design and develop solutions to problems using appropriate programming paradigms and programming languages.

Application,
Problem Solving,
Analysis

2. Design and implement an application with an appropriate interface and interactions using current web standards and practices

Problem Solving,
Application

3. Plan a test-and-deploy strategy, and apply it to an application to assess its quality.

Learning,
Application,
Enquiry
LEARNING STRATEGIES
All teaching sessions will blend theory and practical learning. Students will be introduced to curriculum concepts and ideas and will then be able to apply theory to practical examples within the same sessions. In addition, students will be provided with a range of resources for independent study such as case studies, academic papers and industry stories. There will be a mixture of practical and theoretical formative (mock or practice) exercises which will help students build knowledge and confidence in preparation for summative (formal) assessment.

RESOURCES
Java SE Developers Kit

Java IDE (e.g. IntelliJ IDEA Ultimate)

UML diagrammer (e.g. Microsoft Visio)

Modern web browsers

Web IDE (e.g. Visual Studio code)

REFERENCE TEXTS
Liang, Y.D, (2018), Introduction to Java programming and data structures, Pearson
Farley, D. (2021), Modern Software Engineering: Doing What Works to Build Better Software Faster, Addison-Wesley Professional; 1st edition¿

Wiegers, K. (2021), Software Development Pearls: Lessons from Fifty Years of Software Experience, Addison-Wesley Professional; 1st edition

Woods, A. (2021), Rules for Software Development: A Book About Professionalism, Andrew Woods

MDN Web Docs (2022)¿Learn Web Development. Available at:¿https://developer.mozilla.org/en-US/docs/Learn¿(Accessed:02/01/23)
WEB DESCRIPTOR
In this module, you will continue your journey to build your software development skills by learning more about programming in languages such as Java, as well as designing and developing web applications with HTML, CSS and JavaScript. You will also look at how APIs are created and how they can be consumed by web applications. As part of the whole process, you will create and follow a test-and-deploy strategy to ensure the quality of your application.