COMP07180 2018 Web Programming 2

General Details

Full Title
Web Programming 2
Transcript Title
Web Programming 2
N/A %
Subject Area
COMP - Computing
COEL - Computing & Electronic Eng
07 - NFQ Level 7
05 - 05 Credits
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Colm Davey, Shane Banks
Programme Membership
SG_KSMAR_B07 201800 Bachelor of Science in Computing in Smart Technologies SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KCMPU_B07 202100 Bachelor of Science in Computing in Computing SG_KSMAR_H08 202100 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing

In this module learners will be required to develop a fully functional n‑tier application using JavaScript frameworks and libraries that is cloud hosted and makes use of RESTful APIs. Authentication, authorisation and security are key elements. The student will evaluate and apply relevant design patterns within the application.

Learning Outcomes

On completion of this module the learner will/should be able to;


Design and create n-tier applications using modern JavaScript frameworks and libraries.


Explain authorisation, authentication, and security and apply to a web application


Construct and make use of RESTful APIs.


Evaluate and apply appropriate design patterns.

Teaching and Learning Strategies

A practical approach to teaching and learning will be used. Problem-based learning will be used where possible. The one hour lecture will be used to introduce core concepts. The lab practicals will be used to learn key concepts by developing web applications. Flipped learning will be employed as required. Screencasting by learners of project work will be used to develop presentation skills.

Virtual Machines will be used to allow flexibility and enhance learning.

Module Assessment Strategies

100% continuous assessment. Assessment for of and as learning will be carried out. Students participate in a project (70%) and have to complete lab work and a number of formative and summative activities such as quizzes and lab work (30%). The in-class summative quizzes will take place in weeks 3, 6 and 9. Students will be required to peer review and provide feedback to each other

Repeat Assessments

Repeat project to cover all learning outcomes.

Indicative Syllabus

Design and create n-tier applications using modern JavaScript frameworks and libraries.

  • Use a JavaScript framework to build n-tier applications.
  • Examine the various language features employed in the framework.
  • Evaluate the web server options used to host the application.
  • Consider how unit testing is carried on the framework.

Explain authorisation, authentication, and security and apply to a web application

  • Examine authorisation and authentications and the roles they both play
  • Examine authentication options from self-developed to serverless alternatives such as Firebase
  • Implement authorisation and authentication in the application.
  • Implement appropriate levels of security.
  • Examine HTTPS and the role of certificates

Construct and make use of RESTful APIs.

  • Know how to build an API in JavaScript using Express for the REST operations of GET/POST/PUT/DELETE 
  • Consider API design strategies to determine what data is exposed and how best to expose the data
  • Determine how to access a SQL/NoSQL database from a REST API

Evaluate and apply appropriate design patterns.

  • Examine the RxJS library and how it implements the Observable pattern
  • Know MVC and MV* and the role they play
  • Examine Redux for state management

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
100 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Quizzes and Lab Work Continuous Assessment Assessment 30 % OnGoing 1,2,3,4
2 Project - Implement a fully functional n tier application Project Project 70 % OnGoing 1,2,3,4

Full Time Mode Workload

Type Location Description Hours Frequency Avg Workload
Lecture Lecture Theatre Theory 1 Weekly 1.00
Laboratory Practical Computer Laboratory Practical exercises 3 Weekly 3.00
Independent Learning Not Specified Independent learning 3 Weekly 3.00
Total Full Time Average Weekly Learner Contact Time 4.00 Hours

Required & Recommended Book List

Recommended Reading
2016-03-12 Modern Web Development: Understanding domains, technologies, and user experience (Developer Reference) Microsoft Press
ISBN 1509300015 ISBN-13 9781509300013

Master powerful new approaches to web architecture, design, and user experience
This book presents a pragmatic, problem-driven, user-focused approach to planning, designing, and building dynamic web solutions. Youll learn how to gain maximum value from Domain-Driven Design (DDD), define optimal supporting architecture, and succeed with modern UX-first design approaches. The author guides you through choosing and implementing specific technologies and addresses key user-experience topics, including mobile-friendly and responsive design. Youll learn how to gain more value from existing Microsoft technologies such as ASP.NET MVC and SignalR by using them alongside other technologies such as Bootstrap, AJAX, JSON, and JQuery. By using these techniques and understanding the new ASP.NET Core 1.0, you can quickly build advanced web solutions that solve todays problems and deliver an outstanding user experience.

Microsoft MVP Dino Esposito shows you how to:

  • Plan websites and web apps to mirror real-world social and business processes
  • Use DDD to dissect and master the complexity of business domains
  • Use UX-Driven Design to reduce costs and give customers what they want
  • Realistically compare server-side and client-side web paradigms
  • Get started with the new ASP.NET Core 1.0
  • Simplify modern visual webpage construction with Bootstrap
  • Master practical, efficient techniques for running ASP.NET MVC projects
  • Consider new options for implementing persistence and working with data models
  • Understand Responsive Web Designs pros, cons, and tradeoffs
  • Build truly mobile-friendly, mobile-optimized websites

About This Book
  • For experienced developers and solution architects who want to plan and develop web solutions more effectively
  • Assumes basic familiarity with the Microsoft web development stack

Recommended Reading
2016-12-30 Angular 2 Development with TypeScript Manning Publications
ISBN 1617293121 ISBN-13 9781617293122


Angular 2 Development with Typescript teaches you what you need to start using Angular, while you also learn TypeScript and how to take advantage of its benefits.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Whether you're building web clients or full-featured SPAs, using the Angular 2 web framework is a liberating experience. Its declarative style makes it easy to define and add features without a lot of manually written boilerplate, and the fully integrated TypeScript language gives you the benefits of a statically typed language within the JavaScript ecosystem. Not to mention that adding Angular 2 and TypeScript to your skill set makes you a hot commodity.

About the Book

Angular 2 Development with Typescript introduces Angular 2 to developers comfortable using AngularJS v1 or other web frameworks. You'll start by exploring how Angular 2 works in an online auction application. Along the way, you'll learn to use TypeScript to write type-aware classes, interfaces, and generics. This is a practical book that covers real-world development concerns like data and views, user interaction with forms, and communicating with servers, as well as testing and deploying your Angular 2 applications.

What's Inside

  • Design and build modular applications
  • Transpile TypeScript into today's JavaScript
  • Use modern JavaScript workflow tools like npm, Karma, and Webpack

About the Reader

This book is for intermediate web developers with a working knowledge of JavaScript. No TypeScript or AngularJS experience needed.

About the Author

Yakov Fain and Anton Moiseev are experienced web application developers. Yakov has written several books on software development.

Table of Contents

  1. Introducing Angular 2
  2. Getting started with Angular
  3. Navigation with the Angular router
  4. Dependency injection
  5. Bindings, observables, and pipes
  6. Implementing component communications
  7. Working with forms
  8. Interacting with servers using HTTP and WebSockets
  9. Unit-testing Angular applications
  10. Bundling and deploying applications with Webpack

Recommended Reading
2017-09-28 Learning Angular: A Hands-On Guide to Angular 2 and Angular 4 Addison Wesley
ISBN 0134576977 ISBN-13 9780134576978
Recommended Reading
2017-04-27 ng-book: The Complete Guide to Angular 4 CreateSpace Independent Publishing Platform
ISBN 1546376232 ISBN-13 9781546376231

Module Resources

URL Resources


Other Resources

IT Sligo Virtual Machines

Additional Information