electiveHQ UCD Module API Documentation
Introduction
This documentation is a comprehensive description of this unofficial UCD module API.
DISCLAIMER: This API is not made nor endorsed by UCD, it is a student project to allow the chance for others to create projects to help the UCD student community. All data belongs to UCD and is sourced from their public website.
The base URL to send all API requests is https://electives.ie/api/ . HTTPS is required for all API requests, with all operations performed by GET and POST requests. Responses to API requests are encoded in JSON. Code samples are shown for each request type using cURL and python. You may also choose any other language or library that allows you to make HTTP requests.
Retrieve Module
https://electives.ie/api/module/module_code GET*module_code : Unique code for the module (ie: EEEN20050)
Retrieves any UCD module from its module code.
Returns the following data elements about the module: code , name , description , module coordinator , term , credits and level as a JSON object.
Errors: if no module with that code is found, it will return the error: Module not found
# Python sample
import requests
response = requests.get(
print(response.json())
# cURL sample
curl 'https://electives.ie/api/module/EEEN20020'
{
'code': 'EEEN20020',
'name': 'Electrical and Electronic Circuits',
'level': 2,
'topic': 'Electronic & Electrical Eng',
'module_coordinator': 'Professor Peter Kennedy',
'module_term': 'Autumn',
'module_credits': 5,
'description': '
This is an intermediate level module on the subject of electrical and electronic circuits. Topics to be covered include:
(i) building blocks of electronic systems, including amplifiers, filters, data converters and rectifiers
(ii) elementary circuit elements that can be used to process electrical signals
(iii) methods that can be used to understand, analyse and design circuits made up of these elements
(iv) appropriate laboratory exercises'
}
Retrieve a Set of Modules
https://electives.ie/api/modules/ POSTHeaders: module_level, module_topic (optional) :
*module level (0-5):
0 - Foundation/ Access
1 - Introductory
2 - Intermediate
3 - Degree
4 - Masters
*module_topic : Module code prefix for the school that the module is from
(the letter part of the module code)
Example: COMP for School of Computer Science
This request will retrieve the set of modules from electiveHQ that fit the parameters specified.
Note that for the time being, this feature only returns modules that have already been reviewed or manually added by users on electives.ie which is a fairly limited subset of the entire module list.
Returns the following data elements about each of the modules: code , name , description , module coordinator , term , credits and level as a JSON object.
Errors: if no modules matching the header parameters are found, it will return the error "No electiveHQ modules found matching this query"
# Python sample
import requests
headers = {
'level' : '1',
'topic' : 'MATH'
}
response = requests.post('http://127.0.0.1:8000/api/modules', headers=headers)
print(response.json())
# cURL sample
curl -XPOST -H 'level: 1' -H 'topic: MATH' 'http://127.0.0.1:8000/api/modules'
[
{
"code" : "MATH10250",
"name" : "Introduction to Calculus for Engineers",
"level" : 1,
"topic" : "Mathematics",
"module_coordinator" : "Assoc Professor Christopher Boyd",
"module_term" : "Autumn",
"module_credits" : 5,
"description" : "This is a mathematics module designed for engineering students. It provides an introduction to differential and integral calculus of functions of one variable, and to differential equations. Course Outline:
1. Review: Functions.
2. Limits: Notion of a limit, statements of basic limit theorems.
3. Differentiation: Notion of derivative, product and quotient rules, derivatives of polynomial functions, review of trigonometry, derivatives of trigonometric functions and their inverses, chain rule, implicit and logarithmic differentiation, higher order derivatives.
4. Hyperbolic functions and their inverses
5. Applications of differentiation: maxima and minima, second order derivative test.
6.Indefinite and definite integrals, the fundamental theorem of calculus, integration by parts, integration by substitution and the method of partial fractions.
7. Applications of integration: area under the curve, volume of a solid, length of a graph, surface area. 8. Series. Geometric series, Ratio Test, Harmonic series. Power series. MacLaurin and Taylor series of a function of one variable. 9. Differential equations: first order linear equations with constant coefficients."
},
{
"code" : "MATH10260",
"name" : "Linear Algebra for Engineers",
"level" : 1,
"topic" : "Mathematics",
"module_coordinator" : "Dr Marcus Greferath",
"module_term" : "Spring",
"module_credits" : 5,
"description" : "1. Complex numbers: Algebra of complex numbers, modulus and argument, polar form, complex roots of real polynomials occur in complex conjugate pairs, exponential with complex argument, Euler's formulae for elementary trigonometric function. 2. Systems of linear equations. 3. Matrices and determinants: Addition and multiplication of matrices, rank of a matrix, inverse of a matrix, determinants by row and column methods. 4. Eigenstructure: Eigenvalues and eigenvectors; linear independence; diagonalisation of a matrix 5. Vectors and three-dimensional geometry; Vectors in three-dimensional space, scalar/dot and vector/cross product, lines and planes in three-dimensional space. 6. Vector spaces"
}
]