1. ACM/IEEE-CS: Computer science curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013)
2. Barnes, D.J., Kölling, M.: Objects First with Java, a Practical Introduction using BlueJ. Prentice Hall (2012)
3. Ortin, F., Labrador, M., Redondo, J.M.: A hybrid class- and prototype-based object model to support language-neutral structural intercession. Information and Software Technology 56(2), pp. 199-219 (2014)
4. Oracle. Restrictions on Java generics,
https://docs.oracle.com/javase/tutorial/java/generics/restrictions.html
(2015)
5. Bracha, G., Odersky, M., Stoutamire, D., Wadler, P. Making the future safe for the past: adding genericity to the Java programming language. In: ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications (OOPSLA), pp. 183-200. Vancouver, British Columbia, Canada (1998).