80 likes | 185 Views
This module provides an in-depth introduction to web programming using PHP, covering essential topics such as functions, sessions, forms processing, and database integration. Emphasizing both individual work and collaboration during workshops, students are required to prepare through recommended readings weekly. Assessment methods include individual design and programming coursework weighting 50%, alongside a compulsory examination. Additional resources are provided to deepen understanding of web technologies, database theory, and key software development methodologies.
E N D
UFCEUS-20-2 Web Programming Lecture 1Module Introduction & Outline
Teaching and learning: • 1 hour lecture • 1hour workshop sessions • emphasis on both individual & working with others in workshop sessions • Preparation will be required – readings and other material listed for each week (in the Resources column of the module contents & outline page) should be done at home in preparation for the following week Assessment: • Coursework - 1 piece – weighting 50% - will be an individual design and programming task. After hand-in, you will also be required to do a 15 minute presentation to your tutor illustrating and explaining your application. • Examination – weighting 50% - 3 hours - compulsory part 40% - selective part 60%.
Course materials: No specific set textbook is required – all course materials, lecture notes, workshop notes, readings and other resources are pointed to and made available via the module contents & outline page. However it is strongly recommend that you acquire one of the following texts for help with the assignment: Nixon, Robin : Learning PHP, MySQL, JavaScript and CSS: A Step-by-Step Guide to Creating Dynamic Websites : O'Reilly Media, 2nd ed., 2012 Ullman, Larry : PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide : Peachpit Press, 4th ed., 2011 McLaughlin, Brett : PHP & MySQL: The Missing Manual : Pogue Press, 2011
Course Content Outline: • PHP programming (including functions, sessions, forms processing, database integration & xml processing) • XML, XPATH, XSLT & XML Schema • Relational Database Theory • Structured Query Language (SQL) • E-R modelling • Data Normalization • Javascript & JQuery • Document Object Model (DOM) & AJAX • Tiered Architectures & MVC • Software Development Methodologies (Waterfall, Prototyping, Spiral, RAD etc.)
Presumed (prior) knowledge: • The practical (programming) part of the module will largely be focused on teaching Web Development (using PHP) and Database Theory / Practice. • However, we will not be focused on teaching HTML5/XHTML or CSS as it is presumed that students already have some knowledge of these technologies. • If this is NOT the case for you – you will need to use the on-line resources pointed to by the module contents & outline page and quickly learn these technologies in your own time.
Assignment (coursework) pre-amble: • Accounts for 50% of the overall mark. • A design and programming task using and refactoring a basic PHP based framework. • 6-8 weeks allowed to complete task (tutor will notify about specific hand-in date) • 15 minute presentation to tutors after hand-in. • Learning objectives: • Use a range of web oriented software architecture and design principles. • Refactor a lightweight PHP-based web framework. • Understand and implement both static & dynamic software patterns. • Model and implement persistence and transactions via sessions, cookies & DBMS. • Understand & apply some security and integrity principles.
Sample exam question (from 2010/11 paper): Question 4 a) Describe and explain why HTTP is described as a stateless protocol and the possible advantages of using such a protocol. 8 marks b) What are the mechanisms, techniques and technologies used to maintain state in a HTTP based application? 12 marks c) Explain how sessions are managed in a PHP based web application. 10 marks