Introduction to Computer Systems

  • About this Site

Syllabus

  • Syllabus
  • Basic Facts
  • Tools and Resources
  • Schedule
  • Grading
  • Grading Policies
  • Support
  • General URI Policies
  • Office Hours & Comms

Notes

  • 1. Introduction
  • 2. How does learning and knowledge work in computing?
  • 3. How do I use git offline
  • 4. Why Do I Need to Use a terminal?
  • 5. Review and Abstraction
  • 6. Survey of Hardware
  • 7. What actually is git?
  • 8. How does git work?
  • 9. How do hashes work in git?
  • 10. How can git help me?
  • 11. How do we build Documentation?
  • 12. Shell Scripting
  • 13. How can I work on a remote server?
  • 14. How does ssh really work? how can I be more secure?
  • 15. What is an IDE
  • 16. How do we pick programming languages?
  • 17. What happens when I build code in C?
  • 18. Why is the object file not human readable?
  • 19. How do represent non integer numbers?
  • 20. How can we use logical operations?
  • 22. What is a computer?
  • 23. How do clocks impact computing?
  • 24. Systems Programming and threading
  • 25. How does this all come together?
  • 26. What do we do next?

Activities

  • KWL Chart
  • Prepare for the next class
  • More Practice
  • Deeper Explorations
  • Project Information

FAQ

  • Syllabus and Grading FAQ
  • Git and GitHub

Resources

  • Glossary
  • Language Specific References
  • Cheatsheet
  • General Tips and Resources
  • How to Study in this class
  • Getting Help with Programming
  • Getting Organized for class
  • Advice to future students
  • Advice from Dr. Brown's Data Science Students
Powered by Jupyter Book

Index

Symbols | A | B | C | D | F | G | H | I | L | M | P | R | S | T

Symbols

  • .gitignore

A

  • add (new files in a repository)

B

  • bitwise operator, [1]

C

  • Compiled Code

D

  • directory

F

  • fixed point number
  • floating point number

G

  • git
  • git init name_of_repo
  • git objects
  • Git Plumbing commands
  • Git Workflow
  • GitHub

H

  • hash function
  • hashing
  • HEAD

I

  • integreated development environment
  • interpreted code

L

  • Linker
  • Locking

M

  • merge

P

  • pull (changes from a repository)
  • push (changes to a repository)

R

  • repository
  • ROM (Read-Only Memory)

S

  • SHA 1
  • shell
  • ssh keygen

T

  • templating
  • terminal
  • Threading
  • tree objects

By Professor Sarah M Brown
© Copyright 2021.