Module Descriptors
APPLICATION PROGRAMMING INTERFACE DEVELOPMENT
COMP50086
Key Facts
Digital, Technology, Innovation and Business
Level 5
20 credits
Contact
Leader: Janet Francis
Hours of Study
Scheduled Learning and Teaching Activities: 65
Independent Study Hours: 135
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Digital Institute London, UG Semester 1
Sites
  • Digital Institute London
Assessment
  • WRITTEN ASSIGNMENT - 1500 WORDS weighted at 50%
  • PRESENTATION - 10 MINUTES weighted at 50%
Module Details
INDICATIVE CONTENT
Re-usable class library

Designing re-usable class libraries

Building and distributing class libraries (e.g. Java packages, Java class libraries, C# class libraries, C# Nuget packages)

Testing re-usable class libraries (e.g. unit tests)



REST API

HTTP methods, headers and status codes

Producing and consuming JSON

REST architectural style

Designing REST APIs

Testing REST APIs (e.g. with Postman)

Token-based authentication
ADDITIONAL ASSESSMENT DETAILS
WRITTEN: Assignment 1: Create designs for both a re-usable class library, and REST API, including a test procedure - Learning Outcomes 1 and 2

PRESENTATION: Assignment 2: Take the created designs for Assignment 1 and implement these into two prototypes to present - Learning Outcomes 1 and 2
LEARNING STRATEGIES
65 hours of tutor-supported learning: lectures (to introduce key topics and concepts) and tutor-assisted practical sessions (to get hands-on practical experience of the principles taught in the lectures).

135 hours of independent learning: complete the practical work, explore the subject area, work on the assessments, and undertake formative, self-directed exercises.
LEARNING OUTCOMES

1. Design, implement and test an API in the form of a re-usable class library

Communication

Application

Reflection


2. Design, implement and test a REST API

Communication

Application

Reflection

RESOURCES
A suitable IDE (e.g. Visual Studio Professional; NetBeans)

A suitable web server (e.g. Apache, GlassFish, IIS)

A web browser
TEXTS
Amundsen, M. (2020) “Design and Build Great Web APIs: Robust, Reliable, and Resilient”. O'Reilly Media, Inc. ISBN: 978-1680506808

Biehl, M. (2015) “API Architecture: The Big Picture for Building APIs: Volume 2”. CreateSpace Independent Publishing Platform. ISBN: 978-1508676645.

Biehl, M. (2016) “RESTful API Design: 3”. CreateSpace Independent Publishing Platform. ISBN: 978-1514735169

Kocer, J. (2020) “ASP.NET Web API Core 5 - .NET 5.0: Develop Cloud Ready Web Applications by Example 2020”, Kindle edition. Amazon KDP.
Subramaniam, H. and Raj, P. (2019) “Hands-On RESTful API Design Patterns and Best Practices”. Packt Publishing.

Troelsen, A. and Japikse, P. (2017) “Pro C# 7”, 8th ed. Apress. ISBN: 978-1-4842-3017-6



An annually updated keylinks online resource bank will be made available
WEB DESCRIPTOR
In this module you will learn how to design, write and test two forms of Application Programming Interface: a re-usable class library and a RESTful Web service. The approaches and learning that you do will aid you by feeding into your other programming related modules.