Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
cseducation [2023/09/22 17:24] demiurgecseducation [2023/09/22 17:26] (current) demiurge
Line 6: Line 6:
  
 ^Subject^Why study?^Book^Videos| ^Subject^Why study?^Book^Videos|
-|**[[:programming|Programming]]** |Don’t be the person who “never quite understood” something like recursion.|//Structure and Interpretation of Computer Programs// |Brian Harvey’s Berkeley CS 61A| +|**[[:programming|Programming]]** |Don’t be the person who “never quite understood” something like recursion.|//[[:sicp|Structure and Interpretation of Computer Programs]]// |Brian Harvey’s Berkeley CS 61A| 
-|**[[:Computer Architecture|]]** |If you don’t have a solid mental model of how a computer actually works, all of your higher-level abstractions will be brittle.|//Computer Systems: A Programmer's Perspective// |Berkeley CS 61C|+|**[[:computer_architecture|Computer Architecture]]** |If you don’t have a solid mental model of how a computer actually works, all of your higher-level abstractions will be brittle.|//Computer Systems: A Programmer's Perspective// |Berkeley CS 61C|
 |**[[:leetcode|Algorithms and Data Structures]]** |If you don’t know how to use ubiquitous data structures like stacks, queues, trees, and graphs, you won’t be able to solve challenging problems.|//The Algorithm Design Manual// |Steven Skiena’s lectures| |**[[:leetcode|Algorithms and Data Structures]]** |If you don’t know how to use ubiquitous data structures like stacks, queues, trees, and graphs, you won’t be able to solve challenging problems.|//The Algorithm Design Manual// |Steven Skiena’s lectures|
 |**[[https://teachyourselfcs.com/#math|Math for CS]]** |CS is basically a runaway branch of applied math, so learning math will give you a competitive advantage.|//Mathematics for Computer Science// |Tom Leighton’s MIT 6.042J| |**[[https://teachyourselfcs.com/#math|Math for CS]]** |CS is basically a runaway branch of applied math, so learning math will give you a competitive advantage.|//Mathematics for Computer Science// |Tom Leighton’s MIT 6.042J|
-|**[[https://teachyourselfcs.com/#operating-systems|Operating Systems]]** |Most of the code you write is run by an operating system, so you should know how those interact.|//Operating Systems: Three Easy Pieces// |Berkeley CS 162| +|**[[:os|Operating Systems]]** |Most of the code you write is run by an operating system, so you should know how those interact.|//Operating Systems: Three Easy Pieces// |Berkeley CS 162| 
-|**[[Computer Networking|]]** |The Internet turned out to be a big deal: understand how it works to unlock its full potential.|//Computer Networking: A Top-Down Approach// |Stanford CS 144|+|**[[:computer_networking|Computer Networking]]** |The Internet turned out to be a big deal: understand how it works to unlock its full potential.|//Computer Networking: A Top-Down Approach// |Stanford CS 144|
 |**[[https://teachyourselfcs.com/#databases|Databases]]** |Data is at the heart of most significant programs, but few understand how database systems actually work.|//Readings in Database Systems// |Joe Hellerstein’s Berkeley CS 186| |**[[https://teachyourselfcs.com/#databases|Databases]]** |Data is at the heart of most significant programs, but few understand how database systems actually work.|//Readings in Database Systems// |Joe Hellerstein’s Berkeley CS 186|
 |**[[https://teachyourselfcs.com/#languages|Languages and Compilers]]** |If you understand how languages and compilers actually work, you’ll write better code and learn new languages more easily.|//Crafting Interpreters// |Alex Aiken’s course on edX| |**[[https://teachyourselfcs.com/#languages|Languages and Compilers]]** |If you understand how languages and compilers actually work, you’ll write better code and learn new languages more easily.|//Crafting Interpreters// |Alex Aiken’s course on edX|