OneRaynyDay / CS35L

Stuff I did for CS35L Winter 2016

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CS35L

CS35L Winter 2016 - Taught by Ruolin Fan as TA for Section 5

Week 1: General Linux Introduction - Emacs and shell

  • GUI vs CLI
  • File System
  • Hard/Symbolic links
  • File permission/chmod
  • Commands in Shell

Week 2: Bash Scripting

  • Bash
    • Bash pipes (stdin vs stdout vs stderr)
  • Pathing (relative vs absolute)
  • Echo
  • Regular expression (grep & sed)
  • While and for loops in bash

Week 3: Building and Compiling

  • Configure and Make
  • Patch and Diff
  • Python scripting

Week 4: Bash Scripting

  • Compiling with make
  • Basic make file
    • Using dependencies
    • Variables and comments
  • Git
    • SHA5 Hash
    • Repo
    • add/commit/pull/push/fetch/clone
    • Branch
    • Tags

Week 5: Debugging in C

  • Debugging with gdb (jesus christ this is disgusting)

Week 6: Setting up an SSH server

  • Private vs Public keys
  • Possible spoofing tactics and bypasses
  • SSH agent

Week 7: System calls

  • read/write vs putchar/getchar
  • buffers
  • Kernel mode vs user mode
  • Why are system calls slow?

Week 8: Multithreading and processing

  • Multithreading
    • Cores
    • p_threads
    • Mutex/atomic operations
    • Deadlock problems
  • Multiprocessing

Week 9: Dynamic Linking vs Static Linking

  • Speed differences between them
  • GCC flags
  • attribute((constructor)) and attribute((constructor))

Week 10: Presentations

More information in:

About

Stuff I did for CS35L Winter 2016


Languages

Language:C 86.2%Language:Python 7.6%Language:Shell 2.8%Language:Makefile 2.6%Language:Standard ML 0.9%