In database terminology primary key refers to the column in a table that's intended to be the primary way of identifying rows. Each table must have exactly one, and it needs to be unique. This is usually some kind of a unique identifier associated with objects presented by the table, or if such an identifier doesn't exist simply a running ID number (which is incremented automatically).
Course description¶
This is a eminently practical course which aims to provide adequate knowledge to design, implement test and document a Web API.
During the course students will design and implement a RESTful Web API as well as a client for such API.
This is the online version of the course, so attendance to exercises or lectures is not required. This version is available for students with adequate study rights all around Finland
Learning Outcomes¶
- Students understand what a Web API is and learn different Web API architectures.
- Students understand the concept of hypermedia and how it can be used to build Web APIs.
- Students are able to design and implement a Web API following REST architectural style principles using existing web frameworks.
- Students are able to write unit and functional tests to inspect their APIS.
- Students are able to document their Web APIs using adequate software tools.
- Students are able to implement simple software applications that make use of the APIs.
Course implementation¶
This is the online version of the course.
The course starts with 4h lecture that provides the theoretical background of RESTful APIs, followed by four mandatory guided exercises. The lectures will be recorded from the local version of the course and will be available online.
Students need to complete 4 guided exercises. The exercises will help students to understand programming frameworks and understand the processes that will use during the project work.
In the project work, students design, implement, test and document a RESTful API and a client application that consumes such API. Students will have at least two meetings with the staff via videoconference: one intermediate meeting and one final meeting. In the intermediate meeting students will receive feedback from the assistants. In the final meeting course staff will evaluate students' work.
Course schedule¶
The online version of the course do not have intermediate deadlines.
- Online version of the course starts: 14.01.19
- Lectures uploaded to the course material page : week 3
- Project work assignment published: week 3
- Registering the project work using the registration form by 03.02.2019
- Exercise 1 published: week 4
- Exercise 2 published: week 7
- Exercise 3 published: week 11
- Exercise 4 published: week 14
- Final deadline:10.05.2019
IMPORTANT NOTE: We will follow the same schedule as in the local course taught at University of Oulu. Exercises and lectures won't be available till they are available in the local version.
Assessment¶
There is no exam for the course. The final grade is mainly based on the Project work (report and software generated by the students). Exercises results, students' initiative and degree of participation will also be considered. Students can increase the final grade implementing some extra work.
Why this course?¶
This course serves as an introductory course to FULL STACK DEVELOPMENT,a profile needed more and more in IT companies
During the course students will have to go through the different steps of application development, namely: design, implementation, documentation and test. In addition, students will have to do several iterations based on customer (course staff) feedback. This work resembles quite a lot the way of working in IT companies.
Finally students need to develop team work skills, such as role assignment and time management.
Course Registration¶
- Register in the course using your own institution system.
- For this course you need to have an account in one GIT cloud service. You can choose among Github, Gitlab or Bitbucket.
- Register your team and topic using this form. Note that you should provide a link to the repo which is going to contain your server and client.
Contact¶
Mail: pwp-course@lists.oulu.fi. Use the [Online] identifies in the subject
Mattermost: Online communication channel. Instructions to join PWP channel will be available soon.
Course staff¶
- Iván Sánchez Milara (ivan.sanchez.at.oulu.fi)
- Mika Oja (mika.oja.at.oulu.fi)
- Marta Cortés Orduña (marta.cortes.at.oulu.fi)