Skip to content

Commit

Permalink
Update schedule.md
Browse files Browse the repository at this point in the history
  • Loading branch information
aregm authored Sep 3, 2024
1 parent 64f99f4 commit b51c515
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/schedule.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Course schedule

| Week | Topic | Description | Reading | Lab |
| ---- | ----- | ----------- | ------- | --- |
| Week 1 | [Introduction. Language of the Design - 1](Lecture 1.pptx) | Intro to the course, curriculum.<br><br>What is software design and architecture? It’s place in software engineering. Why software design is important in software engineering processes? Introduction to architectural concepts. |https://aosabook.org/en/v2/git.html - Git in a Nutshell.<br> https://www.bell-labs.com/usr/dmr/www/hist.pdf<br>UNIX: A History and a Memoir, Brian Kernighan. | Understand Git design. |
| Week 1 | [Introduction. Language of the Design - 1](https://github.com/aregm/system-design-course/blob/main/docs/Lecture%201.pptx) | Intro to the course, curriculum.<br><br>What is software design and architecture? It’s place in software engineering. Why software design is important in software engineering processes? Introduction to architectural concepts. |https://aosabook.org/en/v2/git.html - Git in a Nutshell.<br> https://www.bell-labs.com/usr/dmr/www/hist.pdf<br>UNIX: A History and a Memoir, Brian Kernighan. | Understand Git design. |
| Week 2 | Language of the Design - 2 | The central problem of software design – system decomposition and abstraction creation.<br>Concept of complexity and how to manage it. – definition, symptoms, causes, tactics vs strategy, deep modules. | Philosophy of Software Design (Chapters 1-5). | Find the implementation of fopen in the Linux kernel. Measure the SLOC and other types of complexity associated with it. |
| Week 3 | System Decomposition | Design principles and practices.<br><br>Introduction of the notion of a concept and decomposition as a requirement fulfillment. Type of decompositions – functional, object-oriented, component/module-based. Methodology of friction/volatility-based decomposition. | Juval Lowy, Righting the Software Chapter 1-2. | Problem K |
| Week 4 | Abstractions | Composition. Discovering abstractions with clashing concepts along traction lines.<br><br>Understanding the conceptual integrity and the role of the architect.<br><br>Discussion of Problem K | Philosophy of Software Design (Chapters 6-10). | Build System Design |
Expand Down

0 comments on commit b51c515

Please sign in to comment.