80 likes | 179 Views
UFCEUS-20-2 Web Programming. Lecture 1 Module Introduction & Outline. Teaching and learning:. 1 hour lecture 1 hour workshop sessions emphasis on both individual & working with others in workshop sessions
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