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.