Jinquan Tan’ 750-Word Expanded Definition of Application Programming Interface

TO: Professor Ellis

FROM: Jinquan Tan

DATE: 10/20/2020

SUBJECT: Expanded Definition of Application Programming Interface

Introduction

The purpose of this document is giving the definition of API(Application programming interface).I will describe the definitions and context of API in the next two paragraphs.

Definition

“An Application Programming Interface (API) is a set of functionalities provided by a third-party component (e.g., library and framework) that is made available to software developers. APIs are extremely popular as they promote reuse of existing software systems (Johnson and Foote 1988)”(Sawant,2016,p.1349).This definition said API set of functionalities provided by a third-party component that is made available to software developers. APIs and is popular since the late 19 century.“The HITRAN Application Programming Interface (HAPI, [15,16]) represents a code library that was made in an attempt to combine a unified data and code approach to work with the spectroscopic data”(Kochanov,2016,p.16).This definition said API of their own(The HITRAN) is code the combine together and work with data. “We describe the Materials Application Programming Interface (API), a simple, flexible and efficient interface to programmatically query and interact with the Materials Project database based on REpresentational State Transfer (REST) principles”(Ong,2015,p.210). This definition said API is a simple interface that interacts with the database.Of all these definitions the similarity between them are they all said is component interaction. And the differences between them are they all have their own different API.

Context

“More than 50 companies, including I.B.M., Hewlett-Packard and Sun Microsystems, will announce tomorrow the single specification for application programming interfaces, or A.P.I.’s, which link a software operating system to applications like spreadsheet, data base and graphics programs. An operating system is the set of basic internal commands that enable a computer to function”(Lohr,1993,p.4).New York Time writer said that application programming interfaces were used by more than 50 companies which use applications like spreadsheet, data base and graphics programs. “In fact, there are examples of companies sharing and collaborating all over the internet, in order to be able to compete. For example, Facebook, Twitter and LinkedIn have opened up their platforms with APIs (application programming interfaces)”(Leboff,2011,p.151).This quote saying application programming interfaces enables others to build online businesses and applications that integrate with these companies. This approach helps to keep these social networks relevant, as they are constantly able to offer their users new tools and functionality through third parties. It also helps them to widen their reach, as every business that chooses to integrate with them becomes a de facto referral and free piece of marketing. “application programming interface  n. Computing a set of routines, protocols, and tools designed to allow the development of applications that can utilize or operate in conjunction with a given item of software, set of data, website, etc.; abbreviated API.” The Oxford dictionary giving the definition of application programming interface said that is something designed to allow the development of applications that can utilize or operate in conjunction.

Working Definition

Based on the definitions that I quoted and discussed, and the contextual uses of the term that I quoted and discussed, application programming interfaces are very related to my career major since I’m majoring in Computer Science Technology- Software development. My own definition of application programming interface is, API is a computing interface for interactions between multiple software intermediaries.

References

“application, n.”. OED Online. September 2020. Oxford University Press. https://www-oed-com.citytech.ezproxy.cuny.edu/view/Entry/9705?redirectedFrom=application+programming+interface (accessed October 19, 2020).

Kochanov, R., Gordon, I., Rothman, L., Wcisło, P., Hill, C., & Wilzewski, J. (2016). HITRAN Application Programming Interface (HAPI): A comprehensive approach to working with spectroscopic data. Journal of Quantitative Spectroscopy & Radiative Transfer, 177, 15–30. https://doi.org/10.1016/j.jqsrt.2016.03.005

Leboff, G. (2011). Controlling to Sharing. In Sticky Marketing: Why everything in marketing has changed and what to do about it (pp. 145-160). Kogan Page. https://link.gale.com/apps/doc/CX2387000023/GVRL?u=cuny_nytc&sid=GVRL&xid=979c9472

Lohr, S. (1993, August 31). Standard Set For Unix Interface. The New York Times. https://www.nytimes.com/1993/08/31/business/company-news-standard-set-for-unix-interface.html?searchResultPosition=1. 

Ong, S., Cholia, S., Jain, A., Brafman, M., Gunter, D., Ceder, G., & Persson, K. (2015). The Materials Application Programming Interface (API): A simple, flexible and efficient API for materials data based on REpresentational State Transfer (REST) principles. Computational Materials Science, 97(C), 209–215. https://doi.org/10.1016/j.commatsci.2014.10.037

Sawant, A., & Bacchelli, A. (2016). fine-GRAPE: fine-grained APi usage extractor – an approach and dataset to investigate API usage. Empirical Software Engineering : an International Journal, 22(3), 1348–1371. https://doi.org/10.1007/s10664-016-9444-6

Summary of Yuana, R. A., Leonardo, I. A., & Budiyanto, C. W. “Remote interpreter API model for supporting computer programming adaptive learning”

TO: Professor Ellis

FROM: Jinquan Tan

DATE: 9/20/2020

SUBJECT: 500-Word Summary Draft

This memo is a 500-word summary of the article, “Remote interpreter API model for supporting computer programming adaptive learning,” by Yuana, R. A., Leonardo, I. A., & Budiyanto, C. W.

Software engineering  at this time is very necessary, the preparation of skilled human resources is essential. Efforts that can be done is to develop effective learning methods, and adaptive learning is one of them. Adaptive learning technologies provide an environment that can intelligently adapt to the needs of individual learners through the presentation of appropriate information, comprehensible instructional materials, scaffolding, feedback, and recommendations based on participant characteristics and on specific situations or conditions. Adaptive learning can consist of several characteristics, namely: analytics, local, dispositional, macro, and micro. Yuana said, “computer programming learning is indispensable for many exercises and needs extra supervision from the teacher”(Yuana,2019,p.154). Students that have difficulty in making program algorithms can be solved. a teacher can guide students to learn programming by monitoring them. There are many adaptive learning models for programming learning. E-learning facilitated students’ psychomotor ability requires a capability that enables students to write program code directly into and evaluated by a particular module in the electronic learning. The adaptive learning concept to improve students psychomotor ability during online learning/teaching using commercial off-the-shelf LMS. The psychomotor interaction between students and LMS will be demonstrated by the use of adaptive learning in computer programming courses. The Proposed Model Works: “The transactions processes that occur in the web API model started from LMS server. In the LMS, the user writes program code using a code editor. Subsequently, a POST method sends the program code, together with the input-output value, and also the function name of the program code to an API caller”(Yuana,2019,p.154). How JSON structure of web API response : “ code file for later use by the interpreter along with standard input using pipe technique. Once the interpreter executes the program code the output is read by the API module”(Yuana,2019,p.155).Research method Remote interpreter web API model. : The first step is to create a web API model and the second step is to Testing the performance of the web API model. The developed web API model can be implemented with system topology by letting few clients connect to one LMS Server and then let the LMS Server connect to Web API Server. Clients need to run the program code created by them in order to work. Web API model Performance Analysis : “Once the web API model is implemented it is ready for a performance test. The test scenario was to send the program code containing a large number of looping using Python and PHP from client to web API server”(Yuana,2019,p.158).

In conclusion, web API model that serves to run the interpreter based-program code has been developed. It can support computer programming adaptive learning. Both input and response structure has been adapted to suit students’ psychomotor ability assessment in learning program code writing. It is evident that the web API module demonstrated its performance during the test.

References:

Yuana, R. A., Leonardo, I. A., & Budiyanto, C. W. (2019). Remote interpreter API model for supporting computer programming adaptive learning. Telkomnika, 17(1), 153–160. https://doi.org/10.12928/TELKOMNIKA.v17i1.11585