2. More orientation#

Today we will:

  • continue getting familiar with the structure of GitHub

  • clarify more how the course will flow

  • practice with new vocabulary

Last class was a lot of new information, today we will reinforce that mostly, and add only a little

conceptmap)=

2.1. Reminder about class structure#

flowchart TD exp[Experience badges] dated[Dated Badges] rev[Review badges] pra[Practice badge] inclass[Class Session <br> 26 total] exp --> | tracks participation for each| inclass rev --> |is one type of| dated pra --> |is one type of| dated breadth[Breadth bonus] breadth --> |awarded for 18 total | dated participation[Participation bonus] participation --> |awarded for 22 total| exp dated --> |posted for each| inclass

This is called a concept map, you would read it along the arrows, so this corresponds to the following bullets:

  • review badges are one type of dated badge

  • practice badges

  • dated badges are posted for each class session

  • experience badges track participation for each class session

2.2. Warm up#

  1. Navigate to your KWL repo

  2. Find the issues tab

  3. Open the prepare-2024-09-10 issue and discuss the questions with your classmates at your table

*hint: my KWL repo URL is: https://github.com/compsys-progtools/fall24-brownsarahm

Becoming an expert requires:

  • different types of study

  • pracitce and feedback to get better

2.3. Making up for action issue last week#

To activate the workflows in your repo, edit them, even adding a space or deleting a blank line will make it work.

We fixed the forgottenexperience.yml file and then ran it manually.

Then we edited the file it created to add a title on the line with one # (should be line 10) uisn ghte 3 dots menue in the top right of the file on the files changed tab of the PR.

Note

When you add more commits to a branch that has a PR, it automatically updates the PR.

note, here we are learning by example and then synthesizing that into more concrete facts.

“just play with it”

  • common attitude in CS

  • not optimal for learning

my goal is to teach you to get better at learning in that way, bc it is what employers will expect

To do this:

  • set up opportunities for you to do the things that give you the opportunity

  • highlight important facts about what just happened

  • ask you questions to examine what just happened

This is why attendance/participation is a big part of your grade.

Experience badges are evidence of having learned.

2.3.1. My focus is for you to learn#

  • that means, practice, feedback, and reflection

  • you should know that you have learned

  • you should be able to apply this material in other courses

2.3.2. Learning comes in many forms#

  • different types of material are best remembered in different ways

  • some things are hard to explain, but watching it is very concrete

2.4. Learning is the goal#

  • producing outputs as fast as possible is not learning

  • in a job, you may get paid to do things fast

  • your work also needs to be correct, without someone telling you it is

  • in a job you are trusted to know your work is correct, your boss does not check your work or grade you

  • to get a job, you have to interview, which means explaining, in words, to another person how to do something

2.5. What about AI?#

Large Language Models will change what programming looks like, but understanding is always going to be more effective than asking an AI. Large language models actually do not know anything, they just know what languages loook like and generate text.

if you cannot tell it when it’s wrong, you do not add value for a company, so why would they pay you?

2.6. This is a college course#

  • more than getting you one job, a bootcamp gets you one job

  • build a long (or maybe short, but fruitful) career

  • build critical thinking skill that makes you adaptable

  • have options

2.7. How does this work?#

2.7.1. In class:#

  1. Memory/ understanding checks

  2. Review/ clarification as needed

  3. New topic demo with follow along, tiny practice

  4. Review, submit questions

2.7.2. Outside of class:#

  1. Read notes to refresh the material, check your understanding, and find more details

  2. Practice material that has been taught

  3. Activate your memory of related things to what we will cover to prepare

  4. Read articles/ watch videos to either fill in gaps or learn more details

  5. Bring questions to class

I give a time breakdown in the syllabus.

2.8. Prepare for next class#

  1. Choose where you want to save files for this class locally on your computer and make note of that location. (nothing to submit; but we will be working locally and you need to have a place)

  2. Think about how you think about files and folders in a computer. What do you know about how they are organized? how they’re implemented? (nothing to submit)

2.9. Badges#

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)

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. read Chapter 1, “Decoding your confusion while coding” in The Programmer’s Brain add a file called brain.md to your kwl repo that summarizes your thoughts on the chapter. Do you think this information will help you approach learning more effectively? why or why not? How, if at all, does it changes how you think about debugging and learning to program? Give examples of how you have encountered the different types of confusion in your prior programming experiences. (to help you get good strategies and prime for things we will see in the next few weeks)

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

  4. map out your computing knowledge and add it to your kwl chart repo in a file called prior-knowledge-map.md. Use mermaid syntax, to draw your map. GitHub can render it for you including while you work using the preview button. (what we will learn will connect a lot of ideas, mapping out where you start, sets you up for success)

  5. Read more about version control in general and add a “version control” row to your KWL chart with all 3 columns filled in. (git is version control, but not the only one)

2.10. Questions After Class#

2.10.1. How can I create my own actions to run that will create issues and pull requests?#

We will learn this a bit later, but you can read ahead in the docs.

2.10.2. What is the purpose of the wiki within GitHub?#

To serve as documentation, wiki-style for the repo. It was more common before github added pages. A lot of open source projects now host documentation using github pages. We will learn how this works later, but this website uses pages.

2.10.3. Do we merge the pull request for the experience report into main?#

Only when approved (but if you forget, @ me and I can fix it)

2.10.4. Just still how to better navigate github because while I understood most of it was still confusing at points#

We will be doing all of these things over and over, so you will get them, it’s okay!

2.10.5. Is it possible to rename a committed change?#

You can change a commit message, yes!

2.10.6. How do we access the old file after we already commit changes?#

On GitHub.com, you go to the commits on the repo (click the icon or add /commits to the repo’s URL) and then choose view at that point.

2.10.7. How can we edit our github using the terminal?#

Next class!