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
repository
open issue
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