====== Homework Exercises ====== One of the learning outcomes for this module is that you will become familiar with the various client- and server-side programming languages discussed in the module. For this reason it is vital that you attempt at least the programming exercises that will be given in the lectures. There are many more examples provided in the module text-books, and where appropriate, I will make these available to you as well. We will mostly work through the solutions to these exercises during examples classes, and occasionally in the laboratory. For the client-side programming examples (parts 1 and 2) you will need access only to a text editor and web browser. We recommend use of either [[http://brackets.io/|Brackets]] or [[http://www.sublimetext.com/|Sublime Text 2]] as your text editor and [[https://www.google.com/intl/en/chrome/browser/|Google Chrome]] as your browser. When we move on to examine server-side programming, you will need access to an Apache Web Server with CGI Perl, PHP and MySQL installed. These facilities are provided on the [[https://github.com/cpjobling/eg-259-vm|EG-259 Virtual Machine]] which is distributed via GitHub. ===== Part 1: The Foundations of Web Applications Technology ===== * [[eg-259:homework:1|Fundamentals of Web Applications Technology]] * [[eg-259:homework:2|Revision of XHTML and CSS]] * [[eg-259:homework:3|Forms and Web User Interfaces]] * [[eg-259:homework:4|Web Applications]] * [[eg-259:homework:5|Installing XAMPP and WordPress]] * [[eg-259:homework:6|CSS for Layout]] ===== Part 2: Client-side Programming ===== * [[eg-259:homework:7|Getting Started with JavaScript]] * [[eg-259:homework:8|Programming in JavaScript]] * [[eg-259:homework:9|Text Processing with Regular Expressions]] * [[eg-259:homework:10|JavaScript and HTML Documents: Part 1]] * [[eg-259:homework:11|JavaScript and HTML Documents: Part 2]] * [[eg-259:homework:12|Dynamic Documents with JavaScript]] * [[eg-259:homework:15|JavaScript Libraries]] * HTML Forms - the Next Generation * [[eg-259:homework:14|AJAX]] ===== Part 3: Server-side Programming ===== * [[eg-259:homework:16|Files on a Web Server]] * [[eg-259:homework:17|Introduction to PHP]] * [[eg-259:homework:18|PHP for Web Applications]] * [[eg-259:homework:19|Database Access through the Web]] * [[eg-259:homework:20|Web Applications Frameworks]]