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:
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:
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
Recommended Reading
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)