DIM3 - ITECH Introduction

The main aim of this course is to provide students with an overview of the different stages and components of web application development. It will provide students with the skills to design and develop distributed web applications in a disciplined manner, and strengthen their understanding of the context and rationale of distributed systems.

The aims of this course are:

  • To provide an overview of the ongoing developments in web application development
  • To promote the disciplined design and development of distributed web applications
  • To strengthen their understanding of the context and rationale of distributed systems
  • To understand the messaging and protocols used as a communication mechanisms in web applications
  • To develop the ability to implement and deploy distributed web applications

The Intended Learning Outcomes of this course are: Upon completion of the course, students will have the ability to: * Illustrate and describe the n-tier client-server architecture of web applications * Explain the role of messaging and protocols within the design of web applications * Critique and evaluate the information architecture of web applications * Explain the opportunities, challenges and problems of developing web applications in a distributed environment * Identify and critically analyze the requirements of a web application * Design and specify the architecture of a web application * Evaluate and assess specifications and designs of web applications * Construct, build and deploy a web application

The main Languages and Frameworks that you will be required to use within this course:

Note / Warning: Since this course tries to cover the entire process of web application development, it will not be possible to teach any of the languages in detail. During the course and through the labs we shall touch upon each of these languages and frameworks but it will be your responsibility to learn each in sufficient detail to use them to build your own web application.

Other Skills required/desired:

  • Entity Relationship Diagrams (and database modeling and SQL skills)
  • Dataflow Diagrams
  • Sequence Diagrams
  • UML and architectural diagrams

Again, these will not be taught explicitly in this course and are assumed knowledge for this course. If you do not understand how to create or interpret such diagrams you should research each of these.

Course Text Book and Recommended Reading

  • Web Design: a complete introduction, by Nigel Chapman and Jenny Chapman

Recommended Reading

  • Peter Morville and Louis Rosenfeld; Information Architecture for the World Wide Web; O’Reilly, Third Edition, Nov 2006.
  • Marti Hearst, Search User Interfaces, http://searchuserinterfaces.com/

Technical Recommended Reading

Lecture Series Overview

L1. Quick Course Overview L2. Information Architecture (pt1) L3. System Architectures L4. Web Application Framework L5. Django – Setting up and creating a simple view L6. Information Architecture (pt2) L7. Django - Detailed Design: URL Mappings, MTV, L8. Messaging and Protocols L9. Client-Side Environment/Ecosystem L10. Presentations L11. Django – User Authentication / Cookies and Sessions L12. Cascading Style Sheets L13. Client Side Scripting - Javascript L14. Client Side Scripting - JQuery L15. XML – Introduction L16. AJAX with JQuery L17. Processing XML – DOM and SAX L18. Web Accessibility L19. Ambient Findability L20. Summary – Class Test (LA)

Previous topic

Deploying the Project/Application

Next topic

Lecture Series

This Page