Skip to content

LS4203/CourseTS2080

 
 

Repository files navigation

Course content for Software Modelling and Architectures.

Download the following before 26th of August, 2022 (Do not install - we will do it in class)

1. Download Anaconda Navigator

2. Download Python 3.10.5

3. Download DrawIO

4. Create Github account

  1. Create Here
  2. Fork this project

Reading List:

Short .pdfs

Books

The course plan is as follows:

  1. Object oriented basics
    • Encapsulation
    • Abstraction
    • Inheritance
    • Polymorphism
  2. OO Analysis and Design
  3. UML
  4. Use case diagrams
  5. Class diagrams
  6. Sequence diagrams
  7. Activity diagrams
  8. Object-oriented design case studies
  9. System design basics
  10. System design fundamentals
    • Client Server Model
    • Network Protocols
    • Storage
    • Types of databases
    • Replication and Sharding
    • Latency and Throughput
    • Availability
    • Caching
    • Proxies
    • Local balancers
    • Logging and monitoring
    • Hashing
    • Leader election
    • Peer-to-peer networks
    • Configuration file
    • Rate limiter
    • Publish/Subscribe patterns
    • Mapreduce
    • Security and HTTPS
    • CAP Theorem
    • API Design
  11. A framework for System Design
  12. Back-of-the-envelope Estimation

How to take notes during the course using MarkDown language?

H2

H3

Bold bold text

Italic italicized text

Blockquote > blockquote

Ordered List

  1. First item
  2. Second item
  3. Third item

Unordered List

  • First item
  • Second item
  • Third item

Code code

Link title

Releases

No releases published

Packages

No packages published