Skip to content

Commit 8035e2c

Browse files
committed
Add architecture section and improve introduction
1 parent 78aaa2a commit 8035e2c

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

content/Index.en.md

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
1. Introduction
44
1.1. Approach to learn programming
5-
1.2. Modeling: abstractions and reuse
6-
1.3. Algorithm, program, syntax, language
7-
1.4. Decomposition and separation of concerns
8-
1.5. Software engineer speciality overview
9-
1.6. Programming paradigms overview
10-
2. Basic concepts in JavaScript, Python and C syntax
5+
1.2. Examples in JavaScript, Python and C syntax
6+
1.3. Modeling: abstractions and reuse
7+
1.4. Algorithm, program, syntax, language
8+
1.5. Decomposition and separation of concerns
9+
1.6. Software engineer speciality overview
10+
1.7. Programming paradigms overview
11+
2. Basic concepts
1112
2.1. Value, identifier, variable and constant, literal, assignment
1213
2.2. Data types, scalar, reference and structured types
1314
2.3. Contexts and lexical scope
@@ -25,7 +26,7 @@
2526
3.6. Trees and Graphs
2627
3.7. Dataset projections
2728
4. Extended concepts
28-
4.1. Programming languages and paradigms, technology stack
29+
4.1. What is a technology stack
2930
4.2. Development environment and debugging
3031
4.3. Iterations: recursion, iterators, and generators
3132
4.4. Application building blocks: files, modules, components
@@ -63,25 +64,32 @@
6364
8.7. Typed arrays
6465
8.8. Projections
6566
8.9. I/O and Files
66-
9. Concurrent computing basics
67-
9.1. Asynchronous programming
68-
9.2. Parallel programming
69-
9.3. Actor-based programming
70-
10. Advanced programming paradigms
71-
10.1. Generic programming
72-
10.2. Event-driven and reactive programming
73-
10.3. Automata-based programming and state machines
74-
10.4. Language-oriented programming and DSLs
75-
10.5. Data-flow programming
76-
10.6. Metaprogramming
77-
10.7. Metamodel dynamic interpretation
78-
11. Databases and persistent storage
67+
9. Architecture
68+
9.1. Decomposition, naming and linking
69+
9.2. Interaction between software components
70+
9.3. Coupling with namespaces
71+
9.4. Interaction with calls and callbacks
72+
9.5. Interaction with events and messages
73+
9.6. Interfaces, protocols and contracts
74+
6.7. Onion aka multi-layer approach
75+
10. Concurrent computing basics
76+
10.1. Asynchronous programming
77+
10.2. Parallel programming
78+
10.3. Actor-based programming
79+
11. Advanced programming paradigms
80+
11.1. Generic programming
81+
11.2. Event-driven and reactive programming
82+
11.3. Automata-based programming and state machines
83+
11.4. Language-oriented programming and DSLs
84+
11.5. Data-flow programming
85+
11.6. Metaprogramming
86+
11.7. Metamodel dynamic interpretation
87+
12. Databases and persistent storage
7988
11.1. History of databases and navigational databases
8089
11.2. Key-value and other abstract data structures databases
8190
11.3. Relational data model and ER-diagrams
8291
11.4. Schemaless, object-oriented and document-oriented databases
8392
11.5. Hierarchical and graph databases
8493
11.6. Column databases and in-memory databases
8594
11.7. Distributed databases
86-
12. Software architecture
8795
13. Distributed systems

0 commit comments

Comments
 (0)