The course is mandatory for International Master's Programme in Computer Science and Engineering and Master's Programme in Computer Science and Engineering. It is optional for other degree and master programmes.
5 ECTS cr
|Language of instruction
Spring, periods 3-4.
Upon completion of this course, students:
- understand what a Web API is and learn different Web API architectures.
- understand the concept of hypermedia and how it is used to build Web APIs.
- are able to design and implement a Web API following REST architectural style principles using existing web frameworks.
- are able to write unit and functional tests to inspect their APIS.
- are able to document their Web APIs using adequate software tools.
- are able to implement simple software applications that make use of the APIs.
RESTful Web APIs, Hypermedia and HATEOAS, RESTful Clients
|Mode of delivery
Web-based teaching and face-to-face teaching.
|Learning activities and teaching methods
Lectures 4 h, guided laboratory exercise 15 h, the rest as self-study and group work. Each group implements software and writes a report. Students present their work at least twice in meetings with the course staff.
M.Sc. level students of Computer Science and Engineering; other students of the university of Oulu are accepted if there is enough space in the classes.
|Prerequisites and co-requisites
Elementary programming (521141P) or equivalent Python programming
skills. Applied computing project I is recommended.
|Recommended optional programme components
The course is an independent entity and does not require additional studies carried out at the same time.
|Recommended or required reading
Mainly course slides and links to different Web resources announced during the first lecture. Course books: * Leonard Richardson, Mike Amundsen & Sam Ruby. RESTful Web APIs. O'Reilly Media 2013. ISBN: 978-1-4493-5806-8. * Leonard Richardson & Sam Ruby,RESTful Web Services. O’Reilly Media 2007. ISBN: 978-0-596-52926-0.
|Assessment methods and criteria
Course will be assessed based on project work assignment (functional working software prototype, content of the report…) and the exercises results. More detailed information on assessment will be provided with the course material.
The course unit utilizes a numerical grading scale 1-5. In the numerical scale zero stands for a fail.
Ivan Sanchez Milara
|Working life cooperation
Course material can be found at Lovelace: https://lovelace.oulu.fi/. We will use also Moodle to communicate to students and provide links to the working tools.