Skip to main content

Notes: 39 Wrap Up

··2 mins

Next time: Sample Final

Remember:

To encourage more responses, each class has the chance to earn a 1% bonus to everyone’s final grade. This bonus applies if at least 75% of the students complete their evaluations by 10am on the Monday of finals week.

Quick Topic: Networking & Internet

  • Every computer on the internet has an IP address
  • The Internet Protocol delivers packets to IP addresses
  • IPv4 packets are limited to 64kB
  • In practice, they are frequently limited to ~1.2kB because that’s the limit on Ethernet
  • IP packets are unreliable - they may or may not actually get to their destitionation
  • Transmission Control Protocol builds reliable streams on top of IP packets
    • You open a connection
    • Either side can send and recieve arbitrary sized chunks of data
    • Data is delivered reliably and in order.
  • How?
    • Send a packet, reply with a confirmation, resend or send the next packet
    • That’s too slow
    • Window:
      • Send the next 10 packets
      • Send an array of 10 confirmations
      • Resend any missed packets, send any new packets in the shifted 10 packet window
  • HTTP builds sending “files” on top of TCP
    • GET /index.html HTTP/1.0
    • 200 OK/n/n<html …
    • GET /logo.png HTTP/1.0
    • 200 OK/n/nPNG bytes…
  • Websockets tunnels streams “on top” of HTTP…

Semester Review: #

  • Very basics of Java language:
    • Types
    • Classes
    • Methods
  • Design Recipe
  • Records
  • Interfaces
  • Linked Lists (ConsList)
  • Generics
  • Lambda
  • List#map, List#filter
  • Asymptotic Complexity
  • Arrays
  • ArrayList
  • Stacks
  • Queues
  • Deques
  • Sets
  • Binary Trees
  • Iterable, Comparable
  • Binary Search Trees
  • Balancing a BST
  • TreeMap, TreeSet
  • Hash tables
  • HashMap, HashSet
  • Graphs
  • Threads, Parallel Speedup
  • Data structures in the Java stdlib
    • ArrayList, LinkedList, ArrayDeque, HashSet, HashMap, TreeSet, TreeMap
  • Strings, characters, character encoding
  • Networking

How many bits do you need to store a single number between 1 and 10,000?