Skip to content

Commit 28586d8

Browse files
committed
annotated notes
1 parent cbbfa39 commit 28586d8

File tree

2 files changed

+38
-153
lines changed

2 files changed

+38
-153
lines changed

notes/2023-01-26.md

Lines changed: 34 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -86,85 +86,43 @@ If you missed class, create a [project](https://docs.github.com/en/issues/planni
8686
In your repository, edit the: `/.github/workflows/getassignment.yml` file to remove either the two lines about practice or the two lines about review since you can only earn one or the other of these two types of badge per date.
8787

8888

89-
Edit the file `/.github/workflows/track.yml` to be like this example:
90-
91-
```yml
92-
name: Add planned badges to grade tracker (edits required)
93-
# remove the () when you edit
94-
95-
on:
96-
issues:
97-
types:
98-
- opened
99-
100-
jobs:
101-
add-to-project:
102-
name: Add planned based badge to grade tracker
103-
runs-on: ubuntu-latest
104-
steps:
105-
- uses: actions/add-to-project@RELEASE_VERSION
106-
with:
107-
# add your project board's number, replaceing the <projectNumber>
108-
project-url: https://github.com/orgs/introcompsys/projects/<projectNumber>
109-
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
110-
labeled: experience, practice, prepare, review,
111-
label-operator: OR
89+
```{warning}
90+
This is different from in class
11291
```
11392

114-
115-
## What does it mean to study Computer Systems?
93+
delete the `/.github/workflows/track.yml` file, we will add items to the project a different way.
11694

11795

11896

11997

98+
## What does it mean to study Computer Systems?
12099

121100

122101

123102
_"Systems"_ in computing often refers to all the parts that help make the
124103
"more exciting" algorithmic parts work. Systems is like the magic that helps
125104
you get things done in practice, so that you can shift your attention elsewhere.
126-
127-
128-
129105
In intro courses, we typically give you an environment to hide all the problems
130106
that could occur at the systems level.
131107

132108

109+
```{important}
110+
In this course, we will take the time to understand all of this stuff. This means that we will use a different set of strategies to study it than we normally see in computer science.
111+
```
133112

134-
Systems programming is how to look at the file system, the operating system, etc.
135113

136114

115+
_Systems programming_ is how to look at the file system, the operating system, etc.
137116

138-
From ACM Transactionson Computer Systems
139117

140118

119+
From ACM Transactions on Computer Systems
141120

142121
> ACM Transactions on Computer Systems (TOCS) presents research and development results on the design, specification, realization, behavior, and use of computer systems. The term "computer systems" is interpreted broadly and includes systems architectures, operating systems, distributed systems, and computer networks. Articles that appear in TOCS will tend either to present new techniques and concepts or to report on experiences and experiments with actual systems. Insights useful to system designers, builders, and users will be emphasized.
143122
144123

145-
146-
"Systems" in computing often refers to all the parts that help make the
147-
"more exciting" algorithmic parts work. Systems is like the magic that helps
148-
you get things done in practice, so that you can shift your attention elsewhere.
149-
150-
151-
152-
In intro courses, we typically give you an environment to hide all the problems
153-
that could occur at the systems level.
154-
155-
156-
157-
158-
```{important}
159-
In this course, we will take the time to understand all of this stuff. This means that we will use a different set of strategies to study it than we normally see in computer science.
160-
```
161-
162-
163-
164124
We are going to be studying aspects *of* computer systems, but to really understand them, we also have to think about how and why they are the way they are. We will therefore study in a broad way.
165125

166-
167-
168126
We will look at blogs, surveys of developers, and actually examine the systems themselves.
169127

170128

@@ -174,7 +132,7 @@ We will look at blogs, surveys of developers, and actually examine the systems t
174132

175133

176134

177-
> ### What is it like to know something really well?
135+
### What is it like to know something really well?
178136
> When we know something well, it is easier to do, we can do it multple ways,
179137
> it is easy to explain to others and we can explain it multiple ways.
180138
> we can do the task almost automatically and combine and create things in new
@@ -191,74 +149,14 @@ Novices have sparse mental models, experts have connected mental models.
191149

192150

193151

194-
We can visualize with concept maps.
195-
196-
197-
198-
199-
When we first learn new things, we first get the basic concepts down, but we
200-
may not know how they relate.
201-
202-
203-
204-
```{figure} ../img/2022-01-27-mental_model_novice.svg
205-
206-
207-
208-
a novice mental model is disconnected and has few concepts
209-
```
210-
211-
212-
213-
As we learn more, they become more connected.
214-
215-
216-
217-
```{figure} ../img/2022-01-27-mental_model_competent.svg
218-
219-
220-
221-
a compententmental model starts to have some connections, with relationships
222-
between the concepts.
223-
```
224-
225-
226-
227-
228-
```{figure} ../img/2022-01-27-mental_model_advanced.svg
229-
230-
231-
232-
an expert mentla model is densley connected and has more concepts in it.
233-
```
234-
235-
236-
237-
We can visualize with concept maps. Which connect the ideas using relationships
238-
on the arrows.
239-
240-
241-
242-
```{figure} ../img/2022-01-27-mental_model_git.svg
243-
244-
245-
246-
a small concept map showing that git is an instance of both a file system and
247-
a version control system.
248-
```
152+
<!-- We can visualize with concept maps. -->
249153

250154

251155

252156
## Why do we need this for computer systems?
253157

254158

255159

256-
```{attention}
257-
This section contain points added here that were not discussed directly in class, but are important and will come back up
258-
```
259-
260-
261-
262160
### Systems are designed by programmers
263161

264162

@@ -299,11 +197,9 @@ they think. So, while you do **not** have to think the same way as these pattern
299197
knowing what they are will help you reading code, and understanding things.
300198

301199

302-
303-
304-
305-
306-
200+
```{important}
201+
Some of this was not discussed in class
202+
```
307203

308204
```{figure} https://drek4537l1klr.cloudfront.net/hermans2/Figures/CH01_F02_Hermans2.png
309205
@@ -342,67 +238,52 @@ to read.
342238
We will see how the best choice varies a lot as we investigate things at
343239
different levels of abstraction.
344240

241+
## Admin
345242

346-
347-
348-
349-
## Prepare for this class
350-
351-
```{include} ../_soln_prepare/01-logistics.md
352-
```
353-
354-
## Review today's class
355-
356-
```{include} ../_soln_review/01-logistics.md
243+
```{warning}
244+
I created your issues for you, but GitHub's server is in a different time zone so the issue titles have the wrong date. You can change it, or not, your choice
357245
```
358246

247+
Remember you can create branches to work on each badge [from the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue)
359248

360249

361-
## More Practice
250+
## Review today's class
362251

363-
```{include} ../_soln_practice/01-logistics.md
252+
```{include} ../_review/2023-01-26.md
364253
```
365254

366255

367256

368-
## Prepare for this class
369-
370-
```{include} ../_soln_prepare/01-logistics.md
371-
```
372-
373-
## Review today's class
257+
## Prepare for Next Class
374258

375-
```{include} ../_soln_review/01-logistics.md
259+
```{include} ../_prepare/2023-01-26.md
376260
```
377261

378262

379263

380264
## More Practice
381265

382-
```{include} ../_soln_practice/01-logistics.md
383-
```
384-
385-
## Review today's class
386-
387-
```{include} ../_review/2023-01-26.md
266+
```{include} ../_practice/2023-01-26.md
388267
```
389268

390269

391270

392-
## Prepare for Next Class
393-
394-
```{include} ../_prepare/2023-01-26.md
395-
```
396-
271+
## Experience Report Evidence
397272

273+
If you missed class today, there is no separate evidence beyond updates to your repo.
398274

399-
## More Practice
275+
## Questions After Today's Class
400276

401-
```{include} ../_practice/2023-01-26.md
277+
```{important}
278+
Comming soon!
402279
```
403280

281+
```{admonition} Make an issue or PR
282+
:class: community
404283
284+
Add your question directly to the course website as an issue or a PR.
405285
406-
## Experience Report Evidence
286+
To make a PR, use the "suggest edit" button behind the {fa}`github` icon at the top. It will have you make a fork which is a copy of the repo that lives on your own account instead of the organization and then you can submit a PR>
407287
408-
## Questions After Today's Class
288+
Doing this will not always be worth a community badge, but I hit a challenge in the way I had planned to, so I'm giving you an extra opportunity.
289+
```

syllabus/tools.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ as the [Authentication rules](https://docs.github.com/en/github/authenticating-t
6161
You will also need the [gh CLI](https://cli.github.com/). It will help with authentication
6262
and allow you to work with other parts of github besides the core git operations.
6363

64+
```{important}
65+
You need to install this on Mac
66+
```
67+
6468
<!-- In order to use the command line
6569
with https, you will need to [create a Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) for each device you use. In order to use the command line
6670
with SSH, set up your public key. -->

0 commit comments

Comments
 (0)