Run by School of Computer Science and Electronic Engineering
10 Credits or 5 ECTS Credits
Organiser: Mr Andy Harbach
Overall aims and purpose
To introduce a variety of technologies underpinning web programming, to explore the use of the three tier model, and to familiarise students with the principles of server side scripting.
• The Internet and World Wide Web; Client-Server Architectures; Web Browsers and Servers; Three Tier Model; Web Protocols; Addressing;
• Embedding PHP in web pages; Variables and control structures; Arrays; Strings;Functions; Object oriented features.
• Client-Server Database Interaction; Using PHP for Database Access; Database Specific Extensions vs Generic Interfaces;Advanced database techniques.
• Contemporary e-commerce; Product catalogs; Item ordering and shopping carts; Payment systems; Order management and tracking; Session management;
• Types of Security Threat; Security Policies; Principles of Authentication; Encryption Techniques; Implementing Authentication and Secure Transactions.
• Practical implementation of a web based application
Learning outcomes mapped to assessment criteria
Use PHP for server side processing.
|Can use advanced features of PHP including:object oriented techniques; error handling; regular expressions.||Can use PHP to implement a range of simple web applications.||Can research and utilise a range of PHP techniques including file system management, network and protocol functions, date-time functions, graphical images.|
Develop web applications to access and manipulate data using a Relational Database Management System
|Can connect to, query and manipulate a database using PHP scripts.||Can use advanced features of PHP to interact with a database including: prepared queries; transactions; metadata;||Can perform a variety of DBMS administration tasks; can use advanced database programming techniques, including storage engines, transactions, stored procedures.|
Understand the need for security and implement appropriate levels of system protection.
|Can implement systems of access control;can store and encrypt passwords; can protect multiple pages; can use PHP and Apache authentication technologies.||Can describe a range of security threats and outline appropriate security policies; can describe authentication techniques.||Can accurately describe and make effective use of a range of security technologies including SSL; Encryption; Digital Certificates\Signatures.|
Design and build a realistic e-commerce system.
|Can construct a simple e-commerce site with limited security; can describe a variety of payment services.||Can construct a small scale but realistic e-commerce site with substantial security and authentication policies; Can implement and integrate a dummy payment system.||Can independently research and utilise technologies associated with e-commerce sites e.g. payment systems, web-based email services, web services e.g. SOAP.|
Use appropriate techniques for session control and management of visitor data.
Appreciate how web applications are developed and distributed using the the Internet and World Wide Web
|Can describe how a browser interacts with a web server; can use a browser to access a variety of resources; can use a variety of web protocols.||Can describe the architecture of a web application; can describe the three-tier model; can describe and make effective use of the TCP/IP model.||Can demonstrate extensive and in-depth knowledge of Internet technologies; can research technologies independently and apply them in the development of web applications.|
Teaching and Learning Strategy
Tutorial sessions going over real-world software development.
Labs to develop an e-commerce system
Work on e-commerce system outside of labs sessions, and personal study
Formal lectures on PHP programming with opportunities to write code in a lab
- Computer Literacy - Proficiency in using a varied range of computer software
- Exploring - Able to investigate, research and consider alternatives
- Information retrieval - Able to access different and multiple sources of information
- Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
Subject specific skills
- Knowledge and understanding of facts, concepts, principles & theories
- Problem solving strategies
- Analyse if/how a system meets current and future requirements
- Deploy theory in design, implementation and evaluation of systems
- Recognise legal, social, ethical & professional issues
- Deploy tools effectively
- System Design
- Specify, deploy, verify and maintain computer-based systems
- Principles of appropriate supporting engineering and scientific disciplines
Talis Reading listhttp://readinglists.bangor.ac.uk/modules/icp-3046.html
Pre- and Co-requisite Modules
Courses including this module
Compulsory in courses:
- I110: BSc Computer Information Systems year 3 (BSC/CIS)
- I11B: BSc Computer Information Systems (4 year with Incorp Found) year 3 (BSC/CIS1)
- IN00: BSc Computer Information Systems for Business year 3 (BSC/CISB)
- IN0B: BSc Computer Information Sys for Bus (4 year w Incorp Found) year 3 (BSC/CISB1)
- GN41: BSC Computer Science for Business year 3 (BSC/CSFB)
- GN4B: BSc Computer Science for Business (4 year with Incorp Found) year 3 (BSC/CSFB1)