Alan Duan's repositories
coding-interview-university
A complete computer science study plan to become a software engineer.
algs4
Algorithms, 4th edition textbook code and libraries
awesome-courses
:books: List of awesome university courses for learning Computer Science!
c-solutions
My Solutions to K. N. King's "C Programming: A Modern Approach", second edition
cs110-1
Stanford CS110 Homework
CS110Notes
1st time TAing for CS110 at Stanford: Principles of Computer Systems? - Stars are appreciated :)
cs145-fa18.github.io
Course website for Stanford's CS 145 course, Fall 2018
CSAPP
CSAPP Labs
CSAPP-3e-Solutions
CSAPP 3e Solutions gitbook
CSAPP-Labs
Solutions and Notes for Labs of Computer Systems: A Programmer's Perspective 3rd Editon // 《深入理解计算机系统》第三版的实验文件、解答与笔记
CSAPP-Labs-1
《Computer Systems A Programmer's Perspective Second Edition》 important Labs
CSAPP-Labs-2
:computer: Computer Systems: A Programmer's Perspective, Lab Assignments Solutions
EPIJudge
EPI Judge - Preview Release
exercises-in-programming-style
Comprehensive collection of programming styles using a simple computational task, term frequency
grokking_algorithms
Code for the book Grokking Algorithms (http://manning.com/bhargava)
Heap-Allocator
The Stanford CS107 assignment was to design and implement an allocator that implements malloc, realloc, and free. The allocator obtains a large contiguous segment from the OS and parcels out this segment to service dynamic allocation requests.
HTTP-Web-Proxy-and-Cache
As part of the Stanford CS110, I was asked to implement a multithreaded HTTP proxy and cache. HTTP proxy intercepts each and every HTTP request and (generally) forwards it on the intended recipient. The servers direct their HTTP responses back to the proxy, which in turn passes them on to the client. This implementation doesn't account for HTTPS only HTTP.
Intro-to-Computer-System
Stanford CS110
Map-Reduce
This was the final big assignment in Stanford CS110. The objective is to harness the power of multiprocessing, networking, threads, concurrency, distributed computing, the Stanford "myth" computer cluster, and the shared AFS file system to build a fully operational MapReduce framework.
raspberrypi
Raspberry Pi ARM based bare metal examples
RSS-News-Feed-Aggregation
RSS news feeds are XML documents with information about online news articles. This Stanford CS110 assignment is about building an index of information similar to that held by news.google.com.
Stanford-CS110
Stanford CS110 Assignments and Lab
utils
python utilities