Prepare for the next class#

These tasks are usually not based on material that we have already seen in class. Mostly they are to have you start thinking about the topic that we are about to cover before we do so. Often this will include reviewing related concepts that you should have learned in a previous course (like pointers from 211) Getting whatever you know about the topic fresh in your mind in advance of class helps your brain get ready to learn the new material more easily; brains learn by making connections.

Other times prepare tasks are to have you install things so that you can engage in the class.

The correct answer is not as important for these activities as it is to do them before class. We will build on these ideas in class. These are evaluated on completion only[1], but we may ask you questions or leave comments if appropriate, in that event you should reply and then we will approve.

2024-09-10#

the text in () below is why each step is assigned

  1. review today’s notes after they are posted, both rendered and the raw markdown versions. Include links to both views in your badge PR comment. (to review)

  2. “Watch” the course website repo, specifically watch Releases under custom (to get notifications)

  3. map out your computing knowledge and add it to your kwl chart repo. this can be an image that you upload or a text-based outline in a file called prior-knowledge-map. (optional) try mapping out using mermaid syntax, we’ll be using other tools that will faciltate rendering later (what we will learn will connect a lot of ideas, mapping out where you start, sets you up for success)

2024-09-17#

Activities:

  1. Find the glossary page for the course website, link it below. Review the terms for the next class: shell, terminal, bash, git, zsh, powershell, GitHub. Make a diagram using mermaid to highlight how these terms relate to one another. Put this in a file called terminal-vocab.md on a branch linked to this issue.

  2. Check your kwl repo before class and see if you have recieved feedback, reply or merge accordingly.

Example#

Example “venn diagram “ with mermaid subgraphs

flowchart subgraph Browsers subgraph Safari end subgraph Chromium based gg[Google Chrome] me[Microsoft Edge] end end

2024-09-17#

Activities:

  1. Find the glossary page for the course website, link it below. Review the terms for the next class: shell, terminal, bash, git, zsh, powershell, GitHub. Make a diagram using mermaid to highlight how these terms relate to one another. Put this in a file called terminal-vocab.md on a branch linked to this issue.

  2. Check your kwl repo before class and see if you have recieved feedback, reply or merge accordingly.

Example#

Example “venn diagram “ with mermaid subgraphs

flowchart subgraph Browsers subgraph Safari end subgraph Chromium based gg[Google Chrome] me[Microsoft Edge] end end

2024-09-19#

Activities:

Examine an open source software project and fill in the template below in a file called software.md in your kwl repo on a branch that is linked to this issue. You do not need to try to understand how the code works for this exercise, but instead focus on how the repo is set up, what additional information is in there beyond the code. You may pick any mature open source project, meaning a project with recent commits, active PRs and issues, multiple contributors. In class we will have a discussion and you will compare what you found with people who examined a different project. Coordinate with peers (eg using the class discussion or in lab time) to look at different projects in order to discuss together in class.

## Software Reflection

Project : <markdown link to repo>

## README

<!-- what is in the readme? how well does it help you  -->

## Contents 

<!-- denote here types of files (code, what languages, what other files) -->


## Automation

<!-- comment on what types of stuff is in the .github directory -->

## Documentation

<!-- what support for users? what for developers? code of conduct? citation? -->

## Hidden files and support
 <!-- What type of things are in the hidden files? who would need to see those files vs not? -->

Some open source projects if you do not have one in mind:

2024-09-24#

Activities:

  1. Bring git questions or scenarios you want to be able to solve to class on Thursday (in your mind or comment here if that helps you remember)

  2. Try read and understand the workflow files in your KWL repo, the goal is not to be sure you understand every step, but to get an idea about the big picture ideas and just enough to complete the following. Try to modify files, on a prepare branch, so that your name is already filled in and VioletVex is already requested as a reviewer when your experience badge (inclass) action runs. We will give the answer in class, but especially do not do this step on the main branch it could break your action. Hints: Look for bash commands that we have seen before and cp copies a file.

2024-09-26#

Activities:

  1. Think through and make some notes about what you have learned about design so far. Try to answer the questions below in design_before.md. If you do not now know how to answer any of the questions, write in what questions you have.

- What past experiences with making decisions about design of software do you have?
- what experiences studying design do you have? 
- What processes, decisions, and practices come to mind when you think about designing software?
- From your experiences as a user, how you would describe the design of command line tools vs other GUI based tools?

2024-10-01#

Activities:

  1. Learn about hacktoberfest

  2. check your plan for success PR for comments and reply or merge if approved

  3. read about conventional commits and find some opinions about them in dev blogs, forums (eg reddit) or similar

2024-10-03#

Activities:

  1. If on windows, you may need to reinstall gitbash or follow other steps from the gh docs mintty page for the following steps to work locally

  2. install jupyterbook this is different from jupyter lab or jupyter notebook that 310 uses

  3. Make sure that the gh CLI tool works by using it to create an issue called test on your kwl repo with gh issue create. If on Windows try reinstalling with mintty

  4. Find 3 examples of documentation for libraries, frameworks, or developer tools that you have used and make a post on the class discussion board

2024-10-03#

Activities:

  1. If on windows, you may need to reinstall gitbash or follow other steps from the gh docs mintty page for the following steps to work locally

  2. install jupyterbook this is different from jupyter lab or jupyter notebook that 310 uses

  3. Make sure that the gh CLI tool works by using it to create an issue called test on your kwl repo with gh issue create. If on Windows try reinstalling with mintty

  4. Find 3 examples of documentation for libraries, frameworks, or developer tools that you have used and make a post on the class discussion board

2024-10-08#

Activities:

  1. review the notes on what is a commit. In gitdef.md on the branch for this issue, try to describe git in the four ways we described a commit. the point here is to think about what you know for git and practice remembering it, not “get the right answer”; this is prepare work, we only check that it is complete, not correct

  2. Start recording notes on how you use IDEs for the next couple of weeks using the template file below. We will come back to these notes in class later, but it is best to record over a time period instead of trying to remember at that time. Store your notes in your fall24 repo in idethoughts.md on a dedicated ide_prep branch. This is prep for after a few weeks from now, not for October 8; keep this branch open until it is specifically asked for

2024-10-10#

Activities:

  1. Take a few minutes to think what you know about hashing and numbers. Create hash_num_prep.md with two sections: ## Hashing with a few bullet points summarzing key points about hashing, and ## Numbers with what types of number representations you know.

  2. start commenting/expressing interest on build/explore ideas. Next lab will be focused on that.

2024-10-17#

Activities:

  1. (before lab on Tuesday ideally) start commenting/expressing interest on build/explore ideas.

  2. Create a file gitcommandsbreakdown.md and for each command in the template below break down what steps it must do based on what we have learned so far about git objects. I started the first one as an example. Next class, we will make a commit using plumbing commands, so thinking about what you already know about commits will prepare you to learn this material.

# What git commands do

## `git status`

- check the branch of the HEAD pointer
- compare the HEAD pointer to the FETCH_HEAD, if different trace back through parent commits to find out how many commits apart they are and which is ahead (or if both ahead and behind)
- compare the snapshot at the HEAD pointer's commit to the current working directory
- if staging is not empty, compare that to the working directory

## `git commit`

- 

## `git add`

- 

2024-10-22#

Activities:

  1. Review the GitHub Action files in your KWL repo and make note of what if any syntax in there is unfamilar. (note that link will not work on the rendered website, but will work on badge issues)

  2. Use quote reply or edit to see how I made a relative path to a location within the repo in this issue. (to see another application of paths)

  3. Check out the github action marketplace to see other actions that are available and try to get a casual level of understanding of the types of things that people use actions for.

2024-10-24#

Activities:

  1. think about what you know about networking

  2. make sure you have putty if using windows

  3. get the big ideas of hpc, by reading this IBM intro page and some hypothetical people who would attend an HPC carpentry workshop. Make a list of key terms as an issue comment

2024-10-29#

Activities:

  1. install gcc locally

  2. ensure you can log into seawulf

2024-10-31#

Activities:

  1. Review your idethoughts.md from a few weeks ago and add some summary notes.

  2. Think about what features or extensions in your favorite IDE you like the most and that you think others may not know about be prepared to share a small demo of using a feature or explain how it works(as in, open a file that has content in your IDE so that you could show thatt feature).

2024-11-06#

Activities:

  1. Install nand2tetris