Last CB Topic - ArrayList
This weeks Tech Talk will conclude the introduction to the 10 College Board Units.
Plans Week 7
Focus PBL approval - Focus on Databases, Queries (Lists) and Front-end to Back-end
- Monday: Introductions and Scheduling for CB presentations, Live Review
- Tuesday: Live Review, Tech Talk Part 1 - Backend, POJOS, and Lists
- Wednesday: Live Review, Tech Talk Part 2 - Frontend to Backend
- Thursday: Human Prep - GitHub
- Friday: Code, Code, Code
List and ArrayLists (Pair)
Show usage of Lists interfaces in a Jupyter Notebook example. Try using List interface and making a ArrayList object. Consider using an example that will be part of interest or final projects. This will probably become your favorite Data Structure in Java.
- add(int index, element) This method is used to add an element at a particular index in the list. When a single parameter is passed, it simply adds the element at the end of the list.
- addAll(int index, Collection collection) This method is used to add all the elements in the given collection to the list. When a single parameter is passed, it adds all the elements of the given collection at the end of the list.
- size() This method is used to return the size of the list.
- clear() This method is used to remove all the elements in the list. However, the reference of the list created is still stored.
- remove(int index) This method removes an element from the specified index. It shifts subsequent elements(if any) to left and decreases their indexes by 1.
- remove(element) This method is used to remove the first occurrence of the given element in the list.
- get(int index) This method returns elements at the specified index.
- set(int index, element) This method replaces elements at a given index with the new element. This function returns the element which was just replaced by a new element.
- indexOf(element) This method returns the first occurrence of the given element or -1 if the element is not present in the list.
- lastIndexOf(element) This method returns the last occurrence of the given element or -1 if the element is not present in the list.
- equals(element) This method is used to compare the equality of the given element with the elements of the list.
- hashCode() This method is used to return the hashcode value of the given list.
- isEmpty() This method is used to check if the list is empty or not. It returns true if the list is empty, else false.
- contains(element) This method is used to check if the list contains the given element or not. It returns true if the list contains the element.
- containsAll(Collection collection) This method is used to check if the list contains all the collection of elements.
- sort(Comparator comp) This method is used to sort the elements of the list on the basis of the given comparator.
Try to get a Front-end to Back-end example working (Team)
I am very excited about accessing data from one Web Application to Another. This is the basis of modern computing ‘microservice architecture’.
- Highly maintainable and testable (learn to use Postman for APIs testing, learn to use Jupyter notebook for testing)
- Loosely coupled (frontend and backend can be developed independently)
- Independently deployable (frontend and backend are not in same GitHub project)
- Owned by distinct and small teams (frontend and backend )
Live Grading Presentation.
Two teams at a time in review. The review meeting would consist of 4 x 1.5 minute presentations on Notebooks and 2 x 3 minute presentations on FE to BE. Optimization is encouraged!!!
- 5 meetings per class, 20 minutes per meeting. Meetings will be cutoff and 20 minutes.
- Scoring .9x1 on Notebook, .9x1 on Team, .9x1 on Presentation and packing everything into 20 minutes.
- The review may be more interesting is if you learn how to share microservice capabilities across teams. That would be impressive.