Tech Talk Notes

This contains my individual notes and plans for each tech talk we have this trimester. It is nicely organized and easy to read and understand.

Tech Talk 1 - Linked Lists

Important Notes and Takeaways:

  • Linked Lists are the foundation for Stacks and Queues (two important data stuctures that are used in Java)
  • Java Generic T is a variable type often used which is easy because it can adapt to different variable types and is not fixated into being one specifically
  • For merge sorting, it is important to look at the queue before the queuing starts and then dequeue at the end for simplicity purposes
  • Linked list example: Screen Shot 2022-03-20 at 10 37 22 PM
  • Screen Shot 2022-03-20 at 10 37 54 PM
  • Pay attention to getters and setters and ensure that knowledge is all updated and well-versed because it can come in handy at many points
  • Queues and Stacks are the main focus, so it is important to learn to use them and manipulate them as well.

Tech Talk 0 - Data Structures

Important Notes and Takeaways:

  • Data structures are used to organize data which are more sequences or tables of values rather than a single value
  • An example of this is a list of numbers
  • There are different types of data structures which are primitive and non-primitive
  • Primitive data structures are Integer, Floats, Strings, Booleans
  • Non-Primitive are Arrays, Lists (different types: linear, non-linear, stacks, graphs, queues, trees), Tuple, Dictionary, Set, File
  • Algorithms interact with data structures to create optimized code
  • Imperative programming uses statements to change a program’s states
  • Objected Oriented Programming uses classes and objects to create objects and instances of them -> constructors, encapsulation, abstraction, polymorphism
  • Common Data Structures are Arrays/Lists, Dictionaries/Hashmaps
  • Hashmap Example: Screen Shot 2022-03-13 at 9 41 05 PM
  • Algorithms always accompany data structures

Plans: Incorporate Challenges in Project and Correctly Implement them

  1. Create an alternative menu in Java with a data structure and try and catch which is dynamic, rather than simply having switch statements that are hardcoded. This will likely use abstraction because subclasses are needed.
  2. Create a java class that can swap two numbers based on value. It prints the numbers first in the order given, then switches them and organizes them by value -> prints this out.
  3. Use 2D arrays in Jaca to print a formatted matrix; this has a toString method to format and output a String and properly accessing values in the 2D Array