๐ -> 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
| Module | Topic | Lectures | Weightage |
|---|---|---|---|
| Building components | 10 | 36% | |
| Composing systems | 12 | 44% | |
| Validating components | 6 | 18% | |
| 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?)
๐ -> Links
Resources
- Put useful links here
Connections
- Link all related words