1.nounSomething that is not compulsory, especially part of an academic course.
2.noun(sometimes capitalized) In various programming languages, a kind of variable that is assigned a specific data type but may or may not hold an actual value.
3.adjectiveNot compulsory; left to personal choice; elective.