Skip to content
On this page

Class Search API

The Class Search application is an example of a client-server architecture. One of the advantages of using this model is that you can easily make multiple clients, all connected to the same server. For example, JHU has another course search available at https://e-catalogue.jhu.edu/course-search/.

Another advantage of the client-server model is that you can easily make your API (or part of it) available to the public (or select clients) to build other applications. For example, Hopkins has made its Course Search API publicly available here: https://sis.jhu.edu/api and applications such as ucredit.me and semester.ly make use of this API. I encourage you to explore the Hopkins Course Search API.

Application Programming Interface

Application Programming Interface or API is what allows one software application to "talk" to another application. Most modern software applications and almost the entire Web is made up of APIs.

Slack and GitHub both have public APIs that allow programmers to build a multitude of applications and integrate it with them. On the other hand, Gradescope and Piazza don't have public APIs. If I want to create a service so that when a new GitHub issue is opened, a message is sent to the corresponding developer's slack channel, I can do that through GitHub and Slack APIs. (In fact, such integration already exists!) On the other hand, I cannot build an integration between Piazza and Gradescope so a post is made in a related thread in Piazza when a student makes a regrade request because Gradescope and Piazza don't have a public API.

TIP

It is recommended that you create a public and well-documented API for your OOSE project.

If this is the first time you are learning about APIs, I suggest the following resources:

Released under the MIT License.