INDICATIVE CONTENT
This module will cover the following topics:
Programming:
Problem solving
Scenarios, case studies and artefacts
Variables & data types
Input & Output
Lists and other data structures
Control structures (Sequence, selection & iteration)
Functions
Testing
Debugging
Effective programming to address full design, implementation, testing, and evaluation of solutions
Data validation, error handling and exceptions
Sustainability issues
Economic issues in design
Design using notations such as pseudocode and Structured English
Basic Algorithms
Design of interfaces:
Web standards
HTML & CSS
Best practices in Web development
Event-driven programming in an appropriate language to consume data from an API (e.g. JSON)
Accessibility
Legal, social, ethical and professional issues of the web
Quality Assurance:
Testing
Debugging
Evaluation of code
Application Deployment
BCS / TechSkills / Employability:
Evaluation of systems: Designing metrics, robustness tests and analyses for complex models.
System modelling: drawing out requirements for programming concepts.
Problem solving & management/planning: Designing solutions to practical problems.
ADDITIONAL ASSESSMENT DETAILS
TEST - Class-test - Throughout the module you will build an electronic portfolio of solutions to practical tasks (including web interfaces, user interactions, and domain specific data entry interfaces), and these will be assessed through a class-test where you will discuss your designs, users, scripting, aesthetics, and testing approaches applied. The test will consist of approximately 50% of questions based on topics covered in the lectures and 50% of questions based on an electronic portfolio.
PRACTICAL - Practical Assessment - You will be given a problem description for which you will create a web application, using current standards and practices, following your test strategy. Your test strategy will require you to engage and communicate with a user test group.
LEARNING STRATEGIES
All teaching sessions will blend theory and practical learning. You 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, you 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 you build knowledge and confidence in preparation for summative (formal) assessment.
LEARNING OUTCOMES
1. Develop solutions to problems using appropriate programming paradigms and programming languages.
Application & Problem-Solving
Communication
2. Design and implement an application with an appropriate interface and interactions using current web standards and practices.
Knowledge & Understanding
Application & Problem-Solving
3. Plan a test strategy to share with users and apply it to an application to assess its quality.
Application & Problem-Solving
Communication
4. Evaluate existing code to establish its quality against industry benchmarks.
Digital Literacy
RESOURCES
Python programming language
Python development environment (e.g. PyCharm, IDLE, Visual Studio Code)
Java SE Developers Kit
Java IDE (e.g. IntelliJ IDEA Ultimate)
Modern web browsers
Web IDE (e.g. Visual Studio code)
TEXTS
Holloway, A. (2025), Python Simplified: A Crash Course in Practical Programming for Beginners: Master Essential Python Skills and Start Coding Right Away, Insight Edge Publishing
Brieund, F. (2025), Python Programming 2025 Guide for Beginners: A Step-by-Step Beginner's Guide to Python Programming in 2025, Independently Published
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 (2026) Learn Web Development. Available at: https://developer.mozilla.org/en-US/docs/Learn(Accessed:10/02/26)
WEB DESCRIPTOR
In this module, you will begin an exciting journey of discovery that will lay the programming foundation for both your academic and professional career. You will focus on designing and developing programs in a current language, such as Java or Python, and web applications in HTML, CSS and JavaScript. On the way, you will also learn about analysing problems, modelling solutions, and testing programs. You will also experience industry-standard methods, and tools to develop applications.