Ptt14 Assignment1


1. Pick a Web API. (See some candidate APIs for inspiration below.)
2. Implement an API usage scenario. (Be creative. See a sketch below.)
3. Describe your scenario, the involved API, and the implementation. (Especially, for the lab presentation.)

Please note: the scenario should involve essentially some sort of analysis of data available through the Web API, followed by some sort of data processing in your program. You should pick a Web API that uses REST (HTTP GET et al.) in combination with XML or JSON as exchange format.

Consider the following example. Let's assume a Web API for stocks which allows you to retrieve stock prices of your favorite stocks over the last week with one opening and one closing price per day. You could then compute the daily and the total price change, thereby allowing you to compare the performance and volatility of the stocks. The results could be visualized in a graph or simply dumped in a file using XML, JSON, or CSV format.

Since this assignment is underconstrained in terms of APIs and platforms and scenarios to be used, you need to make an extra effort to help others with understanding and reproducing your development setup, your scenario, the underlying API, and your implementation. To this end, your project should run as a test case. Also, your lab presentation should be prepared to contain enough details and illustrations. For instance, describe the essence of the API; also, describe a step-by-step procedure for setting up a system for your development and for running your code and assessing the results. You may use screenshots or even a screencast, if you like.


If you use existing code or other resource, make sure to cite them in a transparent way. There is nothing wrong with reusing code and other resources for this assignment, but you must cite them properly.

Candidate APIs

You may use any other Web API of your liking. Please understand that any API may come with specific challenges such as authentication or specific response formats.

Related 101 contributions

These contributions demonstrate XML and JSON processing. They also demonstrate simple HTTP-based access (i.e., HTTP GET in the terminology of HTTP/REST).