WEB APPLICATIONS DEVELOPMENT - 2022/3
Module code: COM2025
Module Overview
This module will demonstrate some of the latest technologies for building interactive web applications. The students will learn how to choose the appropriate tools and the foundations of how to develop such applications. Although there is a focus on one framework for the server side computing, a range of different technologies will be explored.
Module provider
Computer Science and Electronic Eng
Module Leader
CROSSAN Andrew (CS & EE)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 5
Module cap (Maximum number of students): N/A
Overall student workload
Independent Learning Hours: 100
Lecture Hours: 22
Laboratory Hours: 22
Captured Content: 6
Module Availability
Semester 1
Prerequisites / Co-requisites
None
Module content
Indicative content includes:
Week 1 - 2: RESTful Architectures
* Introduction to web frameworks providing an overview of the main web frameworks and their role in developing and executing web applications
* The request-response cycle
* Distributed architectures for web applications focusing on 3-Tier architectures and the MVC design pattern
Week 3 - 9: Web Application Development
* Illustrate how web frameworks respond to a client request by dynamically constructing a web page incorporating data from a DBMS
* The specific components of a web application and how they relate to architectural design patterns such as MVC and 3-Tier
* RESTful Routing
* An overview of prevalent web technologies drawn from a selection of HTML5, CSS (including SASS or LESS), JavaScript (including jQuery), PHP, Bootstrap, boilerplate.
* Server side processing and managing data from backend databases systems including CRUD operations, ORM, migrations, validations, associations and scopes
* Moving beyond request/response to applications that employ real time two-way communication between client and server
Week 10 - 11: Scalable Distributed Architectures
* Considerations for and technologies that allow Responsive Design of a web application
* Challenges when deploying a large scale system (such as Load Balancing)
Week 12: Revision
Assessment pattern
Assessment type | Unit of assessment | Weighting |
---|---|---|
Coursework | COURSEWORK | 50 |
Examination Online | 4 HOUR ONLINE EXAM | 50 |
Alternative Assessment
N/A
Assessment Strategy
The assessment strategy is designed to provide students with the opportunity to demonstrate
· Ability to design and develop a client-server based interactive web application
· Ability to use the MVC design pattern for developing an interactive web application
· Ability to use, and in depth technical understanding of client side technologies such as JavaScript and its jQuery library
· Ability to use, and in depth technical understanding, of a framework for web development such as the Ruby on Rails development framework
· Understanding of the best practice incorporated into modern web application frameworks
· Ability to develop web applications using best software engineering practice.
Thus, the summative assessment for this module consists of:
· An individual project in which the students will need to demonstrate both technical understanding and good engineering practice – submission deadline: beginning of week 11. This addresses LO1 through to LO5 and LO7
· A formal examination in which students will be required to demonstrate strong technical understanding of all the technical elements of the course. This addresses all LOs.
Formative assessment and feedback
Self-assessment exercises will be provided in SurreyLearn.
Module aims
- Provide an overview of the technologies that support the development of client-server systems and interactive web applications
- Bring students up to a sufficient level of development skill to be able to develop a basic interactive web application
- Familiarise students with standards-based design of web applications.
- To familiarise students with the challenges of building scalable web applications
Learning outcomes
Attributes Developed | ||
002 | Be able to explain the concepts of client and server, and how a 3-tier architecture supports the development of client-server based applications and apply this knowledge to build web applications | KPT |
003 | Be able to explain the Model View Controller (MVC) design pattern in the context of developing web applications, compare and contrast it with the 3-tier architecture, and apply knowledge of MVC to build web applications | KCPT |
004 | Demonstrate proficiency in the basics of some chosen client side web technologies | KCP |
005 | Demonstrate proficiency in the use of a web framework for server-side technologies | KCP |
006 | Be able to identify main MVC-based frameworks (Spring, Rails and Django) and outline their underlying technologies | KT |
007 | Be able to describe and demonstrate best practice for web application development | KCPT |
001 | Recognise and describe challenges of building a scalable and responsive web application | KCT |
Attributes Developed
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
Methods of Teaching / Learning
The learning and teaching strategy is designed to:
Develop a critical understanding of best practice in developing state of the art web applications through directed learning and facilitated self-directed learning. The skills learned in this module will be transferable to other software-engineering modules in the programme and the wider software engineering profession.
The learning and teaching methods include:
- Weekly lectures with class discussion
- Weekly lab classes
- Use of an online forum for facilitated discussion
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Reading list
https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: COM2025
Other information
Digital Capabilities
This module builds on the digital skills taught in COM1025 (Web and Database). Students will learn the theory behind web applications and use a development framework to learn how to build a web application with complex front end and back-end components using a professional development approach. The knowledge gained in this module feeds through to COM2027 (Software Development Project) where students work in groups to build large scale web applications.
Employability
This module follows through a software development approach that follows industry standard best practice in the development process. It builds on first year modules such as COM1025 to teach skills web development skills and software development best practice that are widely used in industry.
Global and Cultural Skills
Computer Science is a global language and the tools and languages used on this module can be used internationally. This teaches students practical skills that will allow them to develop web applications with global reach and collaborate with their peers around the world.
Resourcefulness and Resilience
This module involves practical problem-solving skills that teach a student how to start with a problem scenario and design and architect a solution. The practical lab sessions provide a range of tools and techniques that can be applied to wider problems and students are encouraged to explore a range of techniques or technologies to solve to a problem.
Programmes this module appears in
Programme | Semester | Classification | Qualifying conditions |
---|---|---|---|
Computer and Internet Engineering BEng (Hons) | 1 | Optional | A weighted aggregate mark of 40% is required to pass the module |
Computer and Internet Engineering MEng | 1 | Optional | A weighted aggregate mark of 40% is required to pass the module |
Computer Science BSc (Hons) | 1 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
Computing and Information Technology BSc (Hons) | 1 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2022/3 academic year.