Important

These tasks are not always based on things that we have already done. Sometimes they are to have you start thinking about the topic that we are about to cover. Getting whatever you know about the topic fresh in your mind in advance of class will help what we do in class stick for you when we start.

Prepare for the next class#

Warning

these are listed by the date they were posted (eg the content here under Feb 1, was posted Feb 1, and should be done before the Feb 3 class)

below refers to following in the notes

2022-09-07#

related notes

Activities:

  • Read the syllabus, explore website

  • Bring questions about the course

  • Think about one thing you’ve learned really well (computing or not) and how do you know that you know it? (bring your example)

  • Post an introduction to your classmates on our discussion forum

2022-09-12#

related notes

Activities:

  1. find 2-3 examples of things in programming you have got working, but did not really understand. this could be errors you fixed, or something you just know you’re supposed to do, but not why. Add them to our course Discussions in General. Start a new thread and/or comment on others if theirs are related to yours.

  2. Make sure you have a working environment for next week. Use slack to ask for help.

    • install GitBash on windows (optional for others)

    • make sure you have Xcode on MacOS

    • install the GitHub CLI on all OSs

2022-09-14#

related notes

Activities:

  1. Make a list of 3-5 terms you have learned so far and try defining them in your own words.

  2. using your terminal, download your KWL repo and update your ‘learned’ column on a new branch do not merge this until instructed

  3. answer the questions below in a new markdown file, called gitreflection.md in your KWL

Questions:

## Reflection
1. Describe the staging area (what happens after git add) in your own words. Can you think of an analogy for it? Is there anything similar in a hobby you have?
2. what step is the hardest for you to remember?
3. Compare and contrast using git on the terminal and through your IDE. when would each be better/worse?

2022-09-19#

related notes

Activities:

  1. Examine a large project you have done or by finding an open source project on GitHub. Answer the reflection questions in software.md in your kwl repo. (will be in notes)

  2. install h/w simulator

  3. map out how you think about data moving through a small program and bring it with you to class (no need to submit)

## Software Reflection

1. link to public repo if applicable or title of your project
1. What types of files are there that are not code?
1. What different types of code files are in the project? Do they serve different goals?
1. Is it all in one language or are there multiple?
1. Try to figure out (remember) how the project works. What types of things, without running the code can you look at at a high level?

2022-09-21#

related notes

Activities:

  1. Read through the Grading Contract README and sample contracts. Start drafting your contract. Bring questions to class on Monday.

  2. Bring git questions or scenarios you want to be able to solve to class on Wednesday

2022-09-26#

related notes

Activities:

  1. Bring questions about git to class on Wednesday.

  2. Your grading contract proposal is due Thursday at 3pm.

  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

2022-09-28#

related notes

Activities:

  1. Try exploring your a repo manually and bring more questions

  2. Make sure that you have a grading contract that has been reviewed at least once

2022-10-03#

related notes

Activities:

  1. In a gitunderstanding.md list 3-5 items from the following categories (1) things you have had trouble with in git in the past and how they relate to your new understanding (b) things that your understanding has changed based on today’s class © things about git you still have questions about

  2. Follow up on your grading contract as needed

2022-10-05#

related notes

Activities:

  1. Make notes on how you use IDEs for the next couple of weeks using the template file in the course notes (will provide prompts and tips). 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 kwl repo in idethoughts.md on an ide_prep branch.

  2. make sure that you have a test git repo that matches the notes.

# IDE Thoughts

## Actions Accomplished
<!-- list what things you do: run code/ edit code/ create new files/ etc; no need to comment on what the code you write does -->


## Features Used
<!-- list features of it that you use, like a file explorer, debugger, etc -->

2022-10-12#

related notes

Activities:

  1. Bring to class a scenario where you think a small command line program or bash script could be useful. A command line program is a program that we execute on the command line. For example the courseutils kwlcheck is one I wrote.

  2. Bring one scenario in git that you have seen or anticipate that we have not seen the solution for

2022-10-17#

related notes

Activities:

  1. Bring ideas of what you want to write a bash script for and/or a small command line program

  2. Windows only, but important get python working in GitBash

  3. Make sure the gh command line tool works in a bash terminal (either MacOs, Linux, GitBash, or WSL)

2022-10-19#

related notes

Activities:

  1. On Windows, install Putty ( we will use this Monday)

  2. Get ready for class by creating networking.md in your KWL repo with notes about what you know about networking

  3. Add an issue on your KWL repo titled “Self Reflection 10/24” (there will be time on Monday for this, but giving you warning so you have time to think about it). Tag @brownsarahm on this issue.

1. Are you where you want to be in this course?
1. Have you been getting feedback on your work?
1. If not, what could help you get back on track?
1. What if any concepts are you most struggling with?

2022-10-24#

related notes

Activities:

  1. preview ssh materials

  2. Review your networking notes before class on Wednesday

2022-10-26#

related notes

Activities:

  1. Make sure that you have a C compiler installed on your computer. ideally gcc

  2. Update your KWL chart. bring questions on anything we have covered so far.

2022-10-31#

related notes

Activities:

  1. Create operators.md and make some notes about what you know about operators. What kinds of operators are you familiar with? Which have you seen in programming? math?

2022-11-02#

related notes

Activities:

  1. In fractionalbinary.md use 8 bits to represent the following points where 4 bits are >1 and the other 4 bits are 1/2, 1/4, 1/8, 1/16th:

  • 3.75

  • 7.5

  • 11.625

  • 5.1875

  1. Add to your file some note about the limitations of representing non integer values this way. How much would using more bits help with, what limitations are not resolved y adding more bits.

2022-11-07#

related notes

Activities:

2022-11-14#

related notes

Activities:

  1. Read gates out of anything and watch the marble adder. Create gates.md and answer the questions below:

    1. What do all of the gates described have in common?
    1. How does the marble adder compare to the half adder?
    
  2. Study the 8 bit ALU. Try it out and be prepared to answer questions about it in class. Some questions to guide your exploration: What can it do? Try to compare it to the adder that we have seen. What components does it have that we have not yet seen? How does it represent different operations?

2022-11-16#

related notes

Activities:

  1. Read about systems abstractions in CACM. Answer reflection questions below:

1. How many of these are familiar/not?
1. How has you undertanding of these changed during this course.
1. Do you think you understand this article more now than you would have at the beginning of the semester
1. Write 3 questions and their answers that could be a quiz to see if someone understood or had misconceptions about the abstractions in this article.
  1. Study the components of a computer system that we learned today from the diagrams. Bring questions to class

2022-11-21#

related notes

Activities:

  1. Create an issue called “Wrapping up” on your KWL repo. List what things you know you need to do to finish strong/get caught up, what you will do to figure out what you need, AND/OR what help you need.

  2. Review your notes on IDE use

  3. Preview the Stack Overflow Developer Survey Technology section for the languages.

2022-11-28#

related notes

Activities:

  1. Preview the Stack Overflow Developer Survey Technology section for the languages.

2022-11-30#

related notes

Activities:

  1. Bring to class on Monday questions you have about programming languages or IDEs after this week.

  2. Also bring a list of other programming tools are you interested in learning about?

2022-12-05#

related notes

Activities:

2022-12-07#

related notes

Activities: