Generics are a facility of generic programming that were added to the Java programming language in 2004 within the official version J2SE 5.0. They extend Java's type system to allow “a type or method to operate on objects of various types while providing compile-time type safety.” In particular, the Java collections framework supports generics to specify the type of objects stored in a collection instance.
This mini-course is designed as a supplemental materials for the Java Object-Oriented Programming: AP Computer Science B. In this mini-course, we will be based on Java 8 SE.
This course is a mini-course, it is not designed to be a complete educational course. It is focused on a single topic: Java Generics.
Overview of Generic Programming.
Java compiler installation guide.
Installation Guide for Eclipse (Neon) and plugins. (The same method can be used for all other versions of Eclipse)
Show the internet resources available for eC Learning Channel by Dr. Eric Chou to support this course.
My Udemy: https://www.udemy.com/user/eric-chou/
Youtube channel: https://www.youtube.com/c/EricChouPHD
eC Channel: http://ec.teachable.com
Introduction to Generics: Java Parametric Polymorphism.
Discuss the Universal Reference Type (Object). Compare it to generic (since Java JDK 1.5).
This lecture presents a program example for the previous lecture.
Basic definition for Java Generics
Discuss the Generic Static Methods
Quiz 1 on general idea about polymorphism.
Use Bounded Generic Type definition to limit parametric polymorphism on classes that can be applied with proper polymorphic methods.
Using a Selection Sort program to demonstrate how to design a generic sorting method.
Backward Compatibility of Java 8 and 9 about Raw Type
Identify the need for the wild card symbol for generic type variables.
Unbounded and Bounded Wildcard Demo
Discuss Super wildcard and its relationship with unbounded wildcard and extend-wildcard.
Discuss type erasure and implementation issues for Generics.
Use Integer Matrix and Rational Matrix as example to demonstrate the power of Wildcard Generics
Test on the mechanism and programming using Java Generics.
Demonstrate how to install Java Development Kit (JDK 8) and Integrated Development Environment (Eclipse and BlueJ). We use BlueJ as our default tool. Please also download the PeaZip program if you do not have proper compression/de-compression program. (In this course, we use BlueJ as the main development IDE.) If you want to use Eclipse, please download
You may also find PeaZip tool to be useful when you need to download a zipped source code file (.zip).
Demonstrate the advantages of BlueJ as the first Integrated IDE for beginning students.
Listing for reasons to use BlueJ.
I love computational research and its application to real world. i have involved in many large-scale computer/communication product research development in many world-leading company such as HP, Micrel, and many startups. I also involved in founding a startup company. I also enjoy sharing my ideas through teaching. I hold many US and international patents in technical fields such as software development, mobile computing, IC design and communication receiver design. I am also a certified coach in Taekwondo in both UAST and AAU.
I also serve as an adjunct faculty for on-line M.S. program in Computer Science/Data Science at Lewis University, IL, USA.