๐Ÿ“— -> 01/05/26: ECS160-L1


Course overview
Java design patterns

๐ŸŽค Vocab

โ— Unit and Larger Context

Modern Software Engineering

  • Distributed
  • Systems eng
  • Rapidly evolving
  • Competition with LLMs and automation

Part 2: Java design patterns

โœ’๏ธ -> Scratch Notes

Evolving software dev:

Traditional

Monolithic, maybe 3 layers:

  • UI / Service / Persistence
    • Service -
    • Persistence - DB
Modern

Non monolithic, decomposed into microservices

  • Also hetergenous, now that everything is seperate they can be implemented in different languages (python, java, rust, etc)
  • Also distributed, ran on various machines (some might have hardware constraints, use different hardwares (intel/arm/etc))
  • Data is decentralized
Challenges:
  • How to decompose software?
  • How to handle distributed state?
  • Ideal communication patterns?
  • Orchistrate different machines?
  • Handling failure?

Modules in 160

  • Building components
    • Patterns, tech, etc.
  • Composing systems
    • How to compose systems together into an app
  • Validating components
    • Testing components, not systems

OPEN PROBLEM:

  • No good ways of validating distributed systems
ModuleTopicLecturesWeightage
Building components1036%
Composing systems1244%
Validating components618%
28

Principles:

  • Technologies change
    • Kafka might not exist in 10 yrs
  • Principles dont
    • Why is kafka effective, what is it optimizing?

Java + OO overview

Java is an object oriented language

OO:

  • Encapsulation - internal details are hidden and abstracted, access is controlled
    • Encapsulation enforces abstraction, and forces CORRECT use of software

๐Ÿงช -> Refresh the Info

Did you generally find the overall content understandable or compelling or relevant or not, and why, or which aspects of the content were most novel or challenging for you and which aspects were most familiar or straightforward?)

Did a specific aspect of the content raise questions for you or relate to other ideas and findings youโ€™ve encountered, or are there other related issues you wish had been covered?)

Resources

  • Put useful links here

Connections

  • Link all related words