The University of Southampton
Courses

COMP6205 Web Development

Module Overview

The aims of the module are: To provide students with the opportunity to improve their understanding of web development, and their judgement of the effectiveness of different development techniques, both in theory and in practice. To cover important techniques and issues in designing and building large scale web systems. To consider development methods and patterns which enhance maintainabilty and testability, such as web components, MVC, ORM, and HTML template engines. To familiarise students with relevant web development frameworks such as ASP.NET, and compare this with alternatives such as Object-Oriented PHP, Enterprise Java, and server-side JavaScript. Pre-requisite knowledge: Professional web sites are constructed using standards such as HTML5 and CSS3. They typically connect to a back-end database, either directly or using an API. In addition, you should have some understanding of networking and security, for example familiarity with HTTPS. Web development also involves the use of modern object oriented languages such as C#, Java, JavaScript and PHP (OO from version 5 onwards). It is expected you will be comfortable with using language features such as inheritance and interfaces as associative arrays and iterators. You will, moreover, be comfortable with the language of design patterns, including the classic Model-View- Controller (MVC). There will be a diagnostic test at the start of this module. Students who have some minor gaps in their background knowledge will be given directed reading to help them catch up. Students with more significant gaps will be advised to reconsider their choice of this option.

Aims and Objectives

Module Aims

To provide an overview of web development techniques

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Modern web standards, content management systems, and responsive web design
  • The ASP.NET web development framework, including web controls, web parts, web forms and MVC
  • Similarities and differences with alternatives such as Enterprise Java, OO PHP, and Python/Django
  • Techniques for deploying and testing web sites, and for enhancing their performance and scalability
Subject Specific Practical Skills

Having successfully completed this module you will be able to:

  • Design and build ASP.NET web sites using professional web development tools such as IDEs, HTML template engines, test automation, and Object-Relational Mapping software
Subject Specific Intellectual and Research Skills

Having successfully completed this module you will be able to:

  • Evaluate alternative server-side frameworks, client-side and server-side web programming
  • Model and manage web performance using a range of methods
  • Explain the limitations of partitioning and parallelism in improving web performance

Syllabus

Review of modern web standards such as HTML5 and CSS3 - web templates and template engines - responsive web design Web Information Architecture and Content Management Systems o intranet search techniques, use of metadata - examples of CMS/Portals such as Sharepoint and Drupal Web Development using ASP.NET - underlying .NET technologies such as C#, ASP, and LINQ - ASP.NET web pages and web forms - ASP.NET Razor and MVC - comparison with other approaches such as: Java Enterprise (JSP, JDBC), Python/Django, Object Oriented PHP - comparison of client-side versus server-side programming Patterns and methods to enhance maintainability and testability - dependability injection and inversion of control - Model-View-Controller (MVC) and variants (MV*) - object relational mapping (ORM) Business Logic - maintaining web state (page, session, and application lifetime and scope) - persistence using Entity Framework and LINQ - techniques for validating input data in each tier and their benefits Testing, deployment and configuration - private, test and public builds - web site hosting - classification and management of detected errors o range and use of web test automation tools Performance modelling and management - partitioning and parallelism, Amdahl’s law - performance modelling and benchmarking - graceful degradation (admission control, disabling recommendations)

Learning and Teaching

TypeHours
Wider reading or practice43.5
Preparation for scheduled sessions18
Follow-up work18
Lecture36
Completion of assessment task24.5
Revision10
Total study time150

Resources & Reading list

Imar Spaanjaars (2012). Beginning ASP.NET in C# and VB. 

Adam Freeman (2013). Pro ASP.NET MVC 4. 

Cal Henderson (2006). Building Scalable Web Sites. 

Assessment

Summative

MethodPercentage contribution
Exam  (2 hours) 60%
Web Site Prototype and Demonstrator 40%

Referral

MethodPercentage contribution
Exam  (2.5 hours) 100%

Repeat Information

Repeat type: Internal & External

Share this module Facebook Google+ Twitter Weibo

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×