Skip to content

Commit f39cf8d

Browse files
committed
notes with questions
1 parent 7e1ffda commit f39cf8d

18 files changed

+834
-18
lines changed

_lab/lab10_checklist.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Work time, Prepare, and more Explore Badge Ideas
2+
3+
Today's lab is a couple of admin items and then time to work on
4+
either a posted badge from this week or a related explore badge.
5+
6+
## Progress report
7+
8+
Generate a progress report for yourself, either using your functional action that you worked on in lab before, or create an issue titled `Progress report request` by 2:15pm.
9+
10+
**I'll run a script that checks for issued with that title exactly, case sensitive at 2:15 and comment with a progress report**
11+
12+
Once you have your progress report issue, comment on it and @ mention `brownsarahm` with your answer to the following:
13+
- does everything look right?
14+
- is there anything you are waiting on?
15+
- what support do you need
16+
17+
## Prepare for class next week
18+
19+
[install this hardware simulator](https://www.nand2tetris.org/software)
20+
21+
## Bonus explore idea
22+
23+
For the C experiment in 2023-11-07 practice badge, the goal for you to learn here is to see a practical example of how to modify code for use on a server. You can extend this to do something else with the server. For example:
24+
- compare the time the experiment takes on your laptop compared to seawulf
25+
- compare timing using a cloud service
26+
- Is the performance different if you put the loop in the C code vs in the bash script?
27+
- Is there any performance difference in compiling on the login node before vs compiling in the compute node?
28+
- Do other style things you could think of impact the performance?
29+
30+
tip see the man file for the bash command `time`
31+
32+
33+
## Lab checkout
34+
35+
Create `lab10.md` on a branch linked to this issue and answer the following
36+
37+
```
38+
1. What progress did you make today?
39+
1. How well are you utilizing the support systems in this course (office hours, lab time, questions on issues)?
40+
```
41+
42+
Create a PR with the following checklist to go over with a TA or me:
43+
44+
```
45+
- [ ] can run hardware simulator
46+
- [ ] commented on progress report
47+
- [ ] has one new badge officially started (PR open, even if not complete)
48+
```

_lab/lab1_checklist.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Setup
2+
3+
## Lab Intro
4+
5+
In lab each week, you will work at your own pace with the TAs and I around to help you. Each week, at or right before the start of lab, I will post an issue on your repo with the lab activity.
6+
7+
For all of these steps, you can discuss with neighbors, but everyone must submit their own work.
8+
9+
## Setup
10+
11+
*each of the links in the following steps are to the documentation for how to do the step*
12+
13+
- [ ] Merge the PR with template updates
14+
- [ ] [Create a project](https://docs.github.com/en/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project#creating-an-organization-project) for grade tracking
15+
- [ ] set the [visibility](https://docs.github.com/en/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects#changing-project-visibility) so that it is private
16+
- [ ] [link the project to your repo]([project](https://docs.github.com/en/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository))
17+
- [ ] make sure your experience report from yesterday is set up
18+
- [ ] make sure you have git installed locally (instructions in tools section of syllabus)
19+
20+
21+
## Syllabus Quiz
22+
23+
Complete this [syllabus quiz](https://forms.gle/vJHyGJpGcLcNYL6K7).
24+
25+
You should definitely use the syllabus and you may talk with neighbors, but be sure to understand everything.
26+
27+
28+
## Find your terminal
29+
30+
On Mac you should use your native terminal app, but optionally switch to bash from zsh. zsh will be the same in most cases, but occasionally different.
31+
32+
On Windows you should use GitBash (git for windows).
33+
34+
## Lab Reflection
35+
36+
1. Create a [branch for this issue](https://docs.github.com/en/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects#changing-project-visibility) **keep the default name**
37+
2. Create a file `lab1.md` on the new branch
38+
3. Copy and fill in the template below to the `lab1.md` file
39+
40+
```
41+
# Lab 1: Setup and Syllabus
42+
43+
## Setup Notes
44+
45+
<!-- make any notes or reminders for yourself about resources and setup for class, maybe link to your project board -->
46+
47+
## Syllabus Notes
48+
49+
<!-- is there anything you got wrong on the syllabus quiz that you have figured out and want to rephrase in your own words for yourself? -->
50+
51+
52+
```
53+
54+
## Lab Checkout
55+
56+
1. Open a pull request for the branch linked to this issue
57+
2. Paste the following checklist in the PR body
58+
3. Confirm that the `lab1.md` file you created is visible in the diff
59+
4. Set the title of the PR to "Lab 2023-09-08"
60+
5. Review the checklist with a TA or Instructor
61+
6. When the checklist is complete, you can leave lab or continue working on your review or practice badge from yesterday
62+
63+
64+
```
65+
For Instructor/TA:
66+
- [ ] Project board exists
67+
- [ ] Experience badge is complete
68+
- [ ] Terminal ready for Tuesday
69+
- [ ] Syllabus quiz complete
70+
```

_lab/lab2_checklist.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Get organized
2+
3+
## Lab Intro
4+
5+
In lab each week, you will work at your own pace with the TAs and I around to help you. Each week, at or right before the start of lab, I will post an issue on your repo with the lab activity.
6+
7+
For all of these steps, you can discuss with neighbors, but everyone must submit their own work.
8+
9+
## Prepare to get credit for the lab
10+
11+
1. Clone your KWL repo locally, make sure it is **not inside** of your `github-inclass-` repo but in the same folder as that. As in if you do `ls` you would see both repos.
12+
2. Create a branch for this issue
13+
3. Check the branch out locally
14+
4. Create a file called `lab2.md`
15+
16+
17+
## Getting Organized
18+
19+
1. Make sure that the [base role](https://docs.github.com/en/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects#managing-access-for-everyone-in-your-organization) of your project board is "no access"
20+
2. [Bulk add](https://docs.github.com/en/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#bulk-adding-issues-and-pull-requests) your current **issues** to your project board
21+
3. Customize what feilds are visible and look at the options for automation to make your project board helpful to you
22+
4. Set up [automatic adding](https://docs.github.com/en/issues/planning-and-tracking-with-projects/automating-your-project/adding-items-automatically#about-automatically-adding-items) for issues using the labels
23+
5. Make sure you can find it easily, however works best for you
24+
6. Add a section `# Organization` and make notes about how you set up your board in your `lab2.md` file
25+
26+
27+
## Manage what issues you get
28+
29+
You can only earn review **or** practice badge for each date, so if both are there, you should expect to do one and close the other as "not planned". Alternatively you can edit the action I use to post them so that only one is created.
30+
31+
**this is your choice**
32+
33+
To only get one
34+
1. Navigate to you your `.github/workflows/getassignment.yml` file in your kwl repo
35+
2. click the pencil to edit
36+
3. use the comments to identify the lines related to the badge type you do not want issues for
37+
4. comment them out with a `#` or delete them
38+
5. commit the changes to a branch and request a review from @instructors
39+
40+
41+
**either way:** add a section `## issues` to your `lab2.md` and state what your plan is.
42+
43+
## Work on your badges
44+
45+
the ones from yesterday are already in progress from doing some of the above steps!
46+
47+
## Lab checkout
48+
49+
1. commit and push your work on the branch for this issue
50+
2. create the pull request
51+
3. show a TA or instructor your PR for approval
52+
4. show a TA or instructor that you have started a badge

_lab/lab3_checklist.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Organize Files
2+
3+
## Plan for success
4+
5+
I want you to plan out what things you are going to do and to confirm that your planned work matches the grade you expect
6+
7+
1. Create a a dedicated branch for this task, named `grade_plan`
8+
2. Fill in the `about.md` file in your KWL repo so I can know a little more about you. You can add extra sections or whatever you think will help me support you.
9+
3. Answer the following in a a file called `plan.md`.
10+
11+
```
12+
# Plan for success
13+
14+
__Target Grade:__
15+
16+
## Plan to get there:
17+
- x experience badges
18+
- x lab checkouts
19+
- (other badges you plan)
20+
21+
<!-- If you plan any build badges,uncomment the line below and list some ideas, topics from the course website your are curious about or questions you have. Also think about what timeline you could realistically achieve them on. This is nonbinding, but to start the conversation -->
22+
<!--## Builds -->
23+
24+
<!-- If you plan any explore badges, create a schedule and propose one topic for your first explore badge -->
25+
26+
<!--## Explore -->
27+
```
28+
29+
Request a review from @brownsarahm on this plan. I will give you feedback/help you start planning out your work as appropriate. If you need time to think about this before you want feedback, open the PR, but do not request the review yet.
30+
31+
## Learn a little about CodeSpaces
32+
33+
[Codespaces](https://docs.github.com/en/codespaces/overview) are a virutal machine that you can use VSCode on in browser. You only have VSCode access to this system, but VSCode with the terminal is a lot of power.
34+
35+
If VSCode is new to you, use their documentation of the [VSCode interface](https://code.visualstudio.com/docs/getstarted/userinterface) to get oriented to the different parts of the screen.
36+
37+
On a branch for this issue, create a file `lab3.md` and write a note to your future self describing what a codespace is.
38+
39+
## Moving Files practice
40+
41+
42+
43+
1. [accept this assignment to get a messy repo](https://classroom.github.com/a/kNCZE42i)
44+
2. work in a Codespace, by clicking the Codespace link in the README file of the repo created or using the Codespace tab on the Code menu (click the green Code button).
45+
3. Optionally, set a [theme](https://code.visualstudio.com/docs/getstarted/themes)
46+
4. Follow the instructions in the README file.
47+
5. When you are done cleaning, use the terminal to commit and push your changes.
48+
6. In the terminal, write the history to a file called `cleanuplog.txt` using a redirect and the `history` command.
49+
7. Use the VSCode version control menu in the Codespace to commit and push these files.
50+
51+
52+
**note that if you skip a commit message, it still opens a file for you to edit, but since you are in VSCode, it is as a file instead of with vim**
53+
54+
## Badge Work
55+
56+
1. Read the practice and review badges for yesterday's class.
57+
2. Decide which you will do
58+
3. Start the badge by creating a branch for it and opening that branch in a codespace.
59+
4. Create the file
60+
5. work more if time
61+
6. Commit and push
62+
63+
You'll have to finish the badge working locally because CodeSpaces only allow you to work with one repo at a time by default.
64+
65+
66+
## Lab Checkout
67+
68+
1. Make a PR for the branch linked to this PR.
69+
2. Use the checklist in the PR
70+
3. meet with a TA or Instructor
71+
72+
```
73+
- [ ] lab3.md file exists in the PR
74+
- [ ] plan PR exists
75+
- [ ] messy repo work is committed
76+
- [ ] history file from messy repo
77+
78+
```

_lab/lab4_checklist.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Work and Self Reflection
2+
3+
## Work on what you need
4+
5+
Work on whatever badges feel most essential to you right now.
6+
7+
Look for ones that you are less certain and discuss with classmates, the TAs, and Dr. Brown how to complete those tasks.
8+
9+
10+
## Self Reflection
11+
12+
Either locally or in a codespace, use `gh pr list` from the GitHub CLI to view your progress in the course. Use the [docs](https://cli.github.com/manual/gh_pr_list) for this command to be able to see all of your badge statuses. You may also find it helpful to use `gh issue list` to view what you have open.
13+
14+
On the branch for this issue, create `lab4.md` and answer the following questions:
15+
16+
```
17+
- How many badges are complete and approved?
18+
- How many are awaiting revision?
19+
- How many are awaiting review?
20+
- Are your PRs titles such that it would be easy to calculate your grade with a script?
21+
```
22+
23+
*if the answer to the last question is no, it is a good time to fix them*
24+

_lab/lab5_checklist.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Design a CLI tool
2+
3+
Today you will apply what we learned about the unix philosophy to *design*, but not implement, a command line tool.
4+
5+
Notes:
6+
- **read through this whole issue before you start working**
7+
- You may work with a classmate on your design
8+
- Your reflection must be individual
9+
- There are some extra things in the notes that we did not get to in class yesterday that might be helpful
10+
- it is okay if you do not finish the whole design, just be sure to answer the reflection questions.
11+
- if you are motivated to actually build the tool you design today, you can submit a bulid badge proposal to do it.
12+
13+
## Decide what your tool will do
14+
15+
Some ideas:
16+
- calculate grade in class
17+
- manage a todo list
18+
- badge formatting checker (that would run in a GitHub Action)
19+
20+
21+
22+
## Design Process
23+
24+
Questions to consider in your design process:
25+
- what information do you need
26+
- what calculations need to occur
27+
- what can be done with existing tools we have seen (you do not need to consider what can be done with any tool ever invented)
28+
29+
Within your designed command line tool:
30+
- what command(s) will you have?
31+
- what arguments (required inputs) will you have?
32+
- what option(s) (optional inputs) will you have?
33+
- what utility functions would enable your tool to not have any duplicated code?
34+
35+
36+
## Checkout
37+
38+
Template for `lab5.md`:
39+
40+
In the design section you can choose:
41+
- write what the help for your command(s) would look like
42+
- if programming syntax is helpful you can write function def/API lines with the parameters and plain english that describes the inputs
43+
- if you do not finish your design, you can put whatever notes about progress that you make
44+
45+
```
46+
# Lab 5
47+
48+
<!-- one sentence/phrase about what your tool does -->
49+
50+
<!-- collaborator if applicable -->
51+
52+
## Use case
53+
54+
<!-- write a bash line that shows how you would use your command with existing commands and pipes -->
55+
56+
57+
## Design
58+
59+
60+
61+
62+
63+
## Reflection
64+
65+
1. How did this exercise impact your understanding of the unix philosophy?
66+
1. How did this planning exercise compare to your past experiences with planning out code?
67+
1. What is the most important thing you learned in this lab?
68+
1. Would you recommend this lab activity be reused? (yes/no/or suggested changes are welcome)
69+
70+
```
71+

0 commit comments

Comments
 (0)