You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: episodes/00-setting-the-scene.md
+11-15Lines changed: 11 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,24 +56,20 @@ and sustain in the future by yourself and others.
56
56
Skills and tools taught here, while Python-specific,
57
57
are transferable to other similar tools and programming languages.
58
58
59
-
The course is organised into the following sections:
60
-
61
-
{alt="Course overview diagram. Arrows connect the following boxed text in order: 1) Setting up software environment 2) Verifying software correctness 3) Software development as a process 4) Collaborative development for reuse 5) Managing software over its lifetime."}
62
-
63
-
<!---
64
-
Source of the above image can be rendered in the Mermaid live editor:
Copy file name to clipboardExpand all lines: episodes/14-collaboration-using-git.md
+12-19Lines changed: 12 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,27 +106,20 @@ with different parts of the Git infrastructure, including:
106
106
is to always do a `git pull` before a `git push`, to ensure you have any latest changes before you push your own.
107
107
108
108
<!--
109
-
Created with https://mermaid.live/edit#pako:eNqVUsFOwzAM_ZXIJxBldK3aZjlMQsANLhsSEuolNF5brU1KmgjKtH8nbRlsTEPCJ9t5L-9Z9gYyJRAYtPhqUWZ4W_Jc8zqVxMWT0utS5uRRI17O5xdLw_O-vtbIGclLQ7gQI3T_qYfeq4xXZIGNakujdDfCM1XXpRkZvxE9a4G1MnhEa2xbjKQjwGmtFZqsOC21PxsbvBWYrZU1_6DUqHP8w9gB4WuSqiJnbaG0yazzqPSPV1dVlXpDQV46su_oatA5Bw9cUvNSuH1tetkUTIE1psBcKnDFbWVSSOXWQbk1atnJDJjRFj2wjeBmt15gK161rouiN_sw3sBwCh5oZfPiG9Fw-axUffjN3UDb9XLdWxpzjVKgvlFWGmDxdOAD28A7sIhGkygJ_Wjm08APp4EHHbAknszCJAoCSumUhvHWg49Bz5_QJPJdRGEYz5IkpttPWWLlPg
110
-
111
-
sequenceDiagram
112
-
Working Tree->>+Staging Area: git add
113
-
Staging Area->>+Local Repository: git commit
114
-
Local Repository->>+Remote Repository: git push
115
-
Remote Repository->>+Local Repository: git fetch
116
-
Local Repository->>+Working Tree:git checkout
117
-
Local Repository->>+Working Tree:git merge
118
-
Remote Repository->>+Working Tree: git pull (shortcut for git fetch followed by git checkout/merge)
109
+
alt='Development lifecycle with Git. The diagram shows four parts of the Git infrastructure: the working tree, staging area, local repository, and remote repository, alongside the Git commands that move files between them. git add moves files from the working tree to the staging area. git commit moves files from the staging area to the local repository. git push moves files from the local repository to the remote repository, while git fetch moves updates from the remote repository to the local repository. git checkout and git merge move files from the local repository to the working tree. git pull, a shortcut for git fetch followed by git checkout or git merge, moves files directly from the remote repository to the working tree.'
{
127
-
alt='Development lifecycle with Git. Four parts of Git infrastructure are represented: working tree, staging area, local repository and remote repository, and alongside this various git commands. git add is shown moving files from working tree to staging area. git commit is shown moving files from staging area to local repository. git push is shown moving files from local repository to remote repository and git fetch from remote repository to local repository. git checkout and git merge are both shown as moving files from local repository to working tree. git pull, a shortcut for git fetch followed by git checkout / merge, is shown moving files from remote repository to working tree.'
128
-
.image-with-shadow width="600px"
129
-
}
112
+
```mermaid
113
+
sequenceDiagram
114
+
accDescr {Basic development lifecycle with Git and commands for moving files between the Git infrastructure: working tree, staging area, local repository, and remote repository.}
115
+
Working Tree-->>+Staging Area: git add
116
+
Staging Area-->>+Local Repository: git commit
117
+
Local Repository-->>+Remote Repository: git push
118
+
Remote Repository-->>+Local Repository: git fetch
119
+
Local Repository-->>+Working Tree:git checkout
120
+
Local Repository-->>+Working Tree:git merge
121
+
Remote Repository-->>+Working Tree: git pull (shortcut for git fetch followed by git checkout/merge)
The mermaid source (with one less dash in arrows than needed):
44
-
45
-
flowchart LR
46
-
A(1. Setting up software environment)
47
-
A -> B(2. Verifying software correctness
48
-
49
-
- Test frameworks
50
-
- Automate and scale testing: CI and GitHub Actions
51
-
- Debug code)
52
-
53
-
B -> C(3. Software development as a process)
54
-
C -> D(4. Collaborative development for reuse)
55
-
D -> E(5. Managing software over its lifetime)
56
-
-->
36
+
```mermaid
37
+
flowchart LR
38
+
accDescr {Topics on verifying software correctness covered in the current section: testing frameworks, automating and scaling up testing, and code debugging}
39
+
B("`2. Verifying software correctness:
40
+
- Testing frameworks
41
+
- Automating & scaling testing: CI and GitHub Actions
Copy file name to clipboardExpand all lines: episodes/30-section3-intro.md
+14-20Lines changed: 14 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,30 +21,24 @@ exercises: 0
21
21
In this section, we will take a step back from coding development practices and tools
22
22
and look at the bigger picture of software as a *process* of development.
23
23
24
+
```mermaid
25
+
flowchart LR
26
+
accDescr {Topics on software engineering process covered in the current section: gathering requirements, software architecture & design, programming paradigms}
27
+
A(1. Setting up software environment)
28
+
A --> B(2. Verifying software correctness)
29
+
C("`3. Software development as a process
30
+
- Software requirements
31
+
- Software architecture & design
32
+
- Programming paradigms`")
33
+
B --> C
34
+
C --> D(4. Collaborative development for reuse)
35
+
D --> E(5. Managing software over its lifetime)
36
+
```
37
+
24
38
> *"If you fail to plan, you are planning to fail."*
25
39
>
26
40
> --- Benjamin Franklin
27
41
28
-
{alt='Software design and architecture overview flowchart'}
29
-
30
-
<!---
31
-
Source of the above image can be rendered in the Mermaid live editor:
The mermaid source (with one less dash in arrows than needed):
57
-
58
-
flowchart LR
59
-
A(1. Setting up
60
-
software environment)
61
-
-> B(2. Verifying
62
-
software correctness)
63
-
-> C(3. Software development
64
-
as a process)
65
-
-> D(4. Collaborative
66
-
development for reuse
67
-
68
-
- Code review
69
-
- Software documentation
70
-
- Software packaging & release
71
-
)
72
-
-> E(5. Managing software
73
-
over its lifetime)
74
-
75
-
-->
49
+
```mermaid
50
+
flowchart LR
51
+
accDescr {Topics on collaborative software development covered in the current section: code review, writing software documentation, packaging & releasing software}
Copy file name to clipboardExpand all lines: episodes/41-code-review.md
+3-7Lines changed: 3 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -195,11 +195,12 @@ have not seen before.
195
195
Here is an outline of the process of a tool assisted code review.
196
196
197
197
<!--
198
+
alt='Sequence diagram illustrating the code review process: a developer submits code, reviewer provides feedback and requests changes, revisions are made, and the code is approved and merged.'
199
+
-->
198
200
199
201
```mermaid
200
-
%% Must disable useMaxWidth to have the diagram centre
accDescr {Code review process: a developer submits code, reviewer provides feedback and requests changes, revisions are made, and the code is approved and merged}
203
204
participant A as Author
204
205
participant R as Reviewer
205
206
A->>A: Write some code
@@ -214,11 +215,6 @@ sequenceDiagram
214
215
A->>A: Merge pull request
215
216
```
216
217
217
-
Generated with Mermaid tool, diagram available at: <https://mermaid.live/edit#pako:eNptUrtuwzAM_BVCgOEl_QEPAYx29eKgyOKFsZhYgF6VKLeBkX-vXDvNo5UWSXfHI0VOoneSRCWKApoUGaSKeNAEKVKDX3sleQB2MOBIwANlHE8BDfRkOVBni2JSVnEFE5SRPhLZnsp8K-8ClNURdaQL5F0Unb3y3pZYnYW8PAZWvfJoGWrACHXiwYW_YDuDLY2KPmmF65fttq5gHxQTRGcI5qpuWFtBiyoSIPikNYQ5gcgLoV0ItZRZZUyuK84VY2bNHjdSdtilg1H8hGnnPLxbVhrQ--BGkgtwZ5-jB4oRXMjS6J2Vs8cS5df2plrtXjUGdTyvKqdHeuKSlQ_51Yv_P1WuX9RQOD3CYiMMBYNK5imYZnIncqMNdaLKR0lHTJo70dlLpmJitzvbXlQcEm1E8hL52sjrI0nFLjTLYP3M1-Ub_pDLrQ>
218
-
-->
219
-
220
-
{alt='Code review process sequence' .image-with-shadow width="600px"}
Copy file name to clipboardExpand all lines: episodes/50-section5-intro.md
+13-29Lines changed: 13 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,36 +30,20 @@ how the outside world interacts with and makes use of our software,
30
30
how others can interact with ourselves to report issues,
31
31
and the ways we can successfully manage software improvement in response to feedback.
32
32
33
-
{
34
-
alt='Flow chart showing five stages in software management lifecycle: 1. Setting up software environment; 2. Verifying software correctness; 3. Software development as a process; 4. Collaborative development for reuse; 5. Managing software over its lifetime - issue reporting & prioritisation, Agile development in sprints, software project management.'
35
-
.image-with-shadow width="1000px"
36
-
}
37
-
38
-
<!--
39
-
Source of the above image can be rendered in the Mermaid live editor:
The mermaid source (with one less dash in arrows than needed):
44
-
33
+
```mermaid
45
34
flowchart LR
46
-
A(1. Setting up
47
-
software environment)
48
-
-> B(2. Verifying
49
-
software correctness)
50
-
-> C(3. Software development
51
-
as a process)
52
-
-> D(4. Collaborative
53
-
development for reuse)
54
-
-> E(5. Managing software
55
-
over its lifetime
56
-
57
-
- Issue reporting & prioritisation
58
-
- Agile development in sprints
59
-
- software project management
60
-
)
61
-
62
-
-->
35
+
accTitle: Topics on collaborative software development covered in the current section: issue management, project management, and agile development
36
+
accDescr {Flow chart showing five stages in software management lifecycle: 1. Setting up software environment; 2. Verifying software correctness; 3. Software development as a process; 4. Collaborative development for reuse; 5. Managing software over its lifetime - issue reporting & prioritisation, Agile development in sprints, software project management.}
0 commit comments