The module covers a lot of technical content and this is split over 10 weekly labs. Make sure you complete all lab exercises.
The assessment for this module is split into two parts:
- A phase test that covers the foundation materials (the first 5 lectures and labs).
- A report that covers the building and testing of your website. Both the assignment brief and grading rubric can be found on CUMoodle.
The module is split into 10 lectures and labs.
- The first 5 should be considered foundation and cover the core skills and knowledge. These will be assessed in the phase test which takes place on week 6.
- The remainder of the lectures and labs cover the skills needed to build and test a dynamic website and this will be assessed in the practical assessment.
In this first lab you will learn how to set up your development environment and will also learn about the HTTP Protocol that powers the Internet.
- Setup
- Codeanywhere
- Cloning lab materials
- Organising the IDE
- The HTTP protocol
- Request/response
- Using the POST method
- Metadata
- Syntax
- Lists
- Hypermedia
- Routes
- Hyperlinks
- Images
- Media
- Tables
- Forms
- POST vs GET
- Form controls
- Labelling forms
- Form validation
- Introduction to CSS3
- CSS Basics
- Selector
- Fine-tuning your CSS
- Using CSS for page layout
- CSS box model
- Positioning elements
- Navigation
- Working with NodeJS
- Executing NodeJS files
- Installing packages
- Listing and uninstalling packages
- Useful modules
- Variables and Scope
- Variables and Scope
- Strict mode
- Importing a package or module
- Conditionals and loops
- Strings
- Arrays
- Data types
- Errors and exceptions
- Functions
- Function syntax
- The spread operator
- The Arguments object
- The rest parameter
- Default parameters
- Function expressions
- Callbacks
- Objects
- Creating object literals
- Retrieving object properties
- Modifying objects
- Undefined values
- Phase test
- Using Git locally
- Using Git remotes
- Package manifests
- Routing
- Templating
- Modular code
- The Filesystem
- SQLite
- Document databases
- Relational databases
- Graph databases
- Unit testing
- Code coverage
- Testing async code
- Building a web server
- Raspberry Pi
- Cloud using Heroku
- Transferring files
- File transfer protocol
- Directory synchronisation
- Git
This Github repository is a collaborative work between Coventry University and Helsinki Metropolia University of Applied Sciences. The repository was initially set up by Mark Tyers who contributed initial drafts of most exercises. During the 1st semester of the 15-16 academic year, this set of material was used by Erja, Vesa and colleagues, who made substantial improvements.
Additions were made by Jianhua Yang between 2016-17 after which the module was taken over by Mark Tyers for the 2018 delivery.
Tagged releases have been created at the end of each semester of delivery to act as snapshots of the materials. These can be accessed in GitHub under the Releases tab.
$ git tag -a 1415OCTMAY 582f65c -m '1415OCTMAY'
$ git push origin 1415OCTMAY
Deleting tags (local then remote).
$ git tag --delete 582f65c
$ git push -delete origin 582f65c
Notes:
Express vs Koa vs Hapi: https://www.sitepoint.com/express-koa-hapi/
Good article on Koa covering useful bits such as global error handling: https://scotch.io/tutorials/introduction-to-koa-the-future-of-express