**THIS IS THE HOME PAGE FOR THE NOTES AS THEY WERE WHEN THEY WERE LAST UP TO MAY 2011. I AM LEAVING THEM HERE FOR BACKGROUND READING. THE NEW VERSION OF THE CONTENTS PAGE FOR THIS COURSE WILL EVENTUALLY BE FOUND [[eg-259:home-2012|HERE]].** ====== EG-259 Web Applications Technology ====== Welcome to the on-line lecture pages for EG-259 Web Applications Technology. The content of each lecture is a [[wiki:DokuWiki]] [[wp>Wiki]] page which can be viewed, printed as a portable handout [and edited!]. The same materials can also be presented as a slide show (this feature uses the [[http://wiki.splitbrain.org/plugin:s5|s5 plugin]]). The review problems and homework problems for each lecture are stored on the [[https://blackboard.swan.ac.uk/webapps/portal/frameset.jsp?tab=courses&url=/bin/common/course.pl?course_id=_5910_1|Blackboard site]]. The notes for a week's lectures will normally be available on the preceding Friday. I strongly recommend that you print a copy of the pages and bring it to the lecture with you so that you can add your own additional notes. If you are enrolled on the module, you can discuss the course at the [[http://oremi.swan.ac.uk/eg259|Oremi community site]] to which you will have been registered. ===== The Practical Experiences ===== Most of these are expected to be done as Self Directed Learning activities outside the formal contact hours. * Week 1: [[eg-259:practicals:0|Gathering Your Web Development Toolkit]] * Contact Hour 6: Installing an Ubuntu Web Server Appliance as a Hosted Virtual Machine + Installing Drupal * Case Study: [[eg-259:case-studies:1| CSS for Layout]] - Not Examined. ===== The Lectures ===== * Contact Hour 1: [[eg-259:lecture0|Module Introduction]] ==== Part 1: Foundations of Web Applications Technology ==== The fundamentals of Web technology are the Internet networking protocols (TCP/IP), the Uniform Resource Identifier (URI), the HTTP protocol, the markup language XHTML and the style definition language CSS. Although it will probably be revision, we still need to go over these topics in order to lay a good foundation for the client- and server-side programming issues that will come later. * Contact Hour 2: [[eg-259:lecture1|Fundamentals of Web Applications Technology]] * Contact Hour 3: **Notes**: [[eg-259:lecture2|The Structural and Presentation Layers]] **Tutorial** [[http://abduzeedo.com/tutorial-case-study-html5-css3|Case Study with HTML5 and CSS3]] * Contact Hour 4: [[eg-259:lecture3|Forms and Web User Interfaces]] * Contact Hour 5: [[eg-259:lecture4|Web Applications]] ==== Part 2: Client-side Programming ==== The client-server model of computation has one major flaw: every time the client needs to pass data to a server, there will be a network delay. To reduce this delay and give the user the illusion that his or her web application has similar performance to a natively executing desktop program, we need to give the client user interface (usually an XHTML form displayed in a browser) some intelligence so that can perform some operations locally inside the browser without involving the server. On the Web, the standard way to do this is by writing scripts in the JavaScript language. In this part of the module we will examine in some detail how JavaScript can be used to program the client. * Contact Hour 7: [[eg-259:lecture5|Getting Started with JavaScript]] * Contact Hour 8: [[eg-259:lecture6|Programming in JavaScript]] * Contact Hour 10: [[eg-259:lecture7|Text Processing with Regular Expressions]] * Contact Hour 11: [[eg-259:lecture8|JavaScript and HTML Documents: Part 1]] * Contact Hour 13: [[eg-259:lecture9|JavaScript and HTML Documents: Part 2]] * Contact Hour 14: [[eg-259:ch14|JavaScript Libraries]] * Contact Hour 15: [[eg-259:ch15|The Rest of HTML5]] * Contact Hour 16: [[eg-259:lecture9|An Introduction to AJAX]] * Contact Hour 17: [[eg-259:ch17|Loose Ends]] ==== Part 3: Server-Side Programming ==== * Contact Hour 17: [[eg-259:lecture14|Basic Web Server Operation]] * Contact Hour 18: [[eg-259:lecture15|Interactive Services]] * Practical 3: [[eg-259:practicals:3|Running the Interactive Services Examples]] * Contact Hour 19: [[eg-259:lecture16|Introduction to PHP (Part 1)]] * Contact Hour 20: [[eg-259:lecture17|Introduction to PHP (Part 2)]] * Contact Hour 22: [[eg-259:lecture18|PHP for Web Applications]] * Contact Hour 23: [[eg-259:lecture19|Database Access through the Web]] * Contact Hour 25: [[eg-259:lecture20|Web Application Frameworks]] * Practical 4: [[[eg-259:practicals:4|Web Applications Development with Ruby on Rails]] * Contact Hour 26: [[eg-259:lecture21|On the Radar]] === Record of Courses Pre-2012 === I am retaining the original lecture notes as an historical record, but the topics to be covered changed in 2012. * Lecture 10: [[eg-259:lecture10|Dynamic Documents with JavaScript]] * Lecture 11: [[eg-259:lecture13|JavaScript Libraries]] * Lecture 12: [[eg-259:lecture11|HTML Forms — the Next Generation]] ===== Lecture Reviews and Homework Exercises ===== * [[eg-259:review:home|Review Questions]] * [[eg-259:homework:home|Homework Exercises]] ===== Other Module Resources ===== * The [[https://blackboard.swan.ac.uk/webapps/portal/frameset.jsp?tab=courses&url=/bin/common/course.pl?course_id=_5910_1|Blackboard course site]] * The [[http://oremi.swan.ac.uk/eg259|Oremi Community Pages]] * [[http://grazr.com|Grazr]] RSS Feed Aggregator Widget
**Powered by**: Open Grazr