An object-oriented programming language that is commonly used to explain programming concepts in colleges