Today:
intros
what the learning goals of the course are
see how in class time will work
start learning git/github by doing (we’ll cover the theory after the practical)
Not Today:
syllabus review (on your own time/lab Monday)
course policy discussion (next week)
Introductions¶
Dr. Sarah Brown
Please address me as Dr. Brown or Professor Brown,
Ms./Mrs. are not acceptable
You can see more about me in the about section of the syllabus.
Prismia¶
instead of slides
you can message us
we can see all of your responses
emoji!
questions can be “graded”
this is instant feedback
participation will be checked
correctness will not impact your final grade[1]
this helps both me and you know how you are doing
This course is structured a bit different than many classes¶
no Brightspace
300 level = more independence
I will give advice, but only hold you accountable to a minimal set
High expectations, with a lot of flexibility
as an aside another Professor describing what she does not like about learning management systems (LMS). Brightspace is one, she talks about Canvas in the post, but they are similar.
My focus is for you to learn¶
that means: practice, feedback, and reflection
you should be able to apply this material in other courses
you should know that you have learned and be able to talk about it in an interview
Learning comes in many forms¶
different types of material are best remembered in different ways
some things are hard to explain with words, but watching it is very concrete
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
How does this work?¶
In class:¶
Memory/ understanding check
Review/ clarification as needed
New topic demo with follow along, tiny practice
Review, submit questions
and repeat
Outside of class:¶
Read notes to refresh your memory, check your understanding, and find more details
Complete badges to apply material that has been taught
Prepare for class to activate your memory of related things to what we will cover
Read articles/ watch videos to either fill in gaps or learn more details
Bring questions to class
Getting started¶
Your KWL chart is where you will start by tracking what you know now/before we start and what you want to learn about each topic. Then you will update it throughout the semester. You will also add material to the repository to produce evidence of your learning.
GitHub Docs are really helpful and have screenshots¶
they pay people to update them so I direct you to theirs mostly instead of recreating them
Today we did the following:
Check your email and accept the invitation
Edit the README to add your name by clicking the pencil icon (editing a file step 2)
adding a descriptive commit message (editing a file step 5)
adding prior knowledge
created a new branch (named
kwl-git) (editing a file step 7-8)added a message to the Pull Request (pull request step 5)
Creating a pull request (pull request step 6)
Clicking Merge Pull Request
Git and GitHub terminology¶
We also discussed some of the terminology for git. We will also come back to these ideas in greater detail later.
Practice with the vocab, while you read through the syllabus, hover over highlighted words like the ones below:
Terms like this will appear throughout the notes over the course of the semester. They are there to help you study and reinforce what you are learning.
GitHub Actions¶
GitHub allows us to run scripts within our repos, the feature is called GitHub Actions and the individual items are called workflows.
Navigate to your actions tab
Get Credit for Today’s class¶
Run your Experience Reflection (inclass) action on your kwl repo
talk with peers to make sure you remember what the right way to click on it is
On the created PR, go to the Files section, edit the file, and commit the changes to the experience-2026-01-22 branch.
Solution to Exercise 1
Prepare for Next Class¶
(for lab Monday) Read the syllabus section of the course website carefully and explore the whole course website
(for lab Monday) Bring questions about the course
(for class Tuesday) Think about one thing that you know really well (computing or not). Be prepared to discuss the following: How do you know that you know it? What was it llike to first learn it? (nothing written to submit, but you can use your issue to take notes if you would like)
Check for comments on your Experience Badge PR and reply to them.
Badges¶
Find & Review the notes from today on the course website, include the link in your badge PR
if you have not already joined the course organization, accept this assignment and join the existing team.
Read the notes from today’s class carefully
Fill in the first two columns of your KWL chart (content of the PR; named to match the badge name)
Post an introduction to your classmates on our discussion forum (include link to your comment in PR comment, must accept above to see)
Set a github profile picture (can be of yourself, or anything else, just make it not the default)
Find & Review the notes from today on the course website.
if you have not already joined the course organization, accept this assignment and join the existing team.
Post an introduction to your classmates on our discussion forum (include link to your comment in PR comment, must accept above to see)
Read the notes from today’s class carefully
Create a profile readme and include a screenshot of your profile in your badge PR comment
Fill in the first two columns of your KWL chart (content of the PR; named to match the badge name)
Set a github profile picture (can be of yourself, or anything else, just make it not the default)
Experience Report Evidence¶
You need to have a KWL repo and be a member of the course organization.
Questions After Today’s Class¶
How will the other badges be used later on? For example, are there badges for homework and projects?¶
There will be other types of badges, they are detailed on the grading page. I’ll answer questions about how it works next week.
How is Github used in the real world?¶
For managing code (e.g. versions, releases, builds, etc) and projects (it has lots of proejct management tools, we will focus on issues, but you can get credit for trying others).
One question I have is how to use the checks tab in github?¶
If you add automated tests to the repo as github actions, they will show up.
Here is a PR I have open in another project with checks. The checks are defined in action files in the .github folder. In your KWL your .github folder only has actions, not checks, but, writing checks for common activities is a possible explore or build badge project.
Is where in github and how are we submiting assigmemnnts¶
Yes!
What might I want to brush up on in preparation for this course?¶
When class sessions will build on specific prior knowledge, your prepare work before class will tell you what to think about. For the very start, if you took any programming classes last semester you should be fine, if not, maybe do a tiny side project (anything with debugging and managing code is good).
What types of projects and work will we complete this semester ?¶
You’ll have some choices. If you like completeing bigger projects you can do that, if you do not, you can choose to do smaller assignments.
You can look at a past semester[2] to see examples. I reuse some, but change some things too.
How much is GitHub used for data science projects?¶
GitHub is how lots of people share their data science, plus it is also where most common DS libraries are hosted. For example jupyter, pandas, sklearn, tensorflow, are all hosted open source on github.
Will we be learning how to make a professional profile page?¶
We will learn directly all of the components to do that and that is an optional project that you could do as a build badge.
When should I use a branch instead of working on main?¶
Almost always. Especially if collaborating.
Why is git and github used frequently in the computer science world?¶
Keeping track of versions has been done for a very long time. git is so much better than all of the previous version control systems it’s basically all anyone uses anymore. Even really big legacy code bases that have decades of work in another version control system are movign to git.
git is super fast and distributed. plus some other advantages. We will answer this question throughout the semester as we unpack the details of how git works
If you make another brance separate from your main one, if you want to do a pull request/merge it with the main branch does it take only the information from the last commit?¶
No, when you merge two branches all of the commits from the compare branch are added to the base branch.
How does the new content show up after you have merged it to the main branch (ie. is it at the bottom, is it at the top, is it in the middle, etc.)¶
This is a great question and one that you already have the skills to test and figure it out.
Solution to Exercise 2
The content will be in the place you put it on the new branch. The commits will generally be the most recent, but this can vary.
The new content is added to the file and the new version of the file replaces the old one, more or less. If both have changes, then git goes line by line to try to merge the two versions, which is where the name merge comes from.
if you are consistenly gettign questions wrong, because you do not understand and never figure the things out, that will eventually impact your grade. ⚓ If you are reading this in hover text, take a screenshot, then log a community badge with the url for this footnote (get that by clicking after you take your screenshot) and the text
footnotehoverand include the screen shot in the PR comment.change spring2026 to e.g. fall2025 or similar.