bustub
Essentials-of-Compilatio
bustub | Essentials-of-Compilatio | |
---|---|---|
13 | 6 | |
3,677 | - | |
2.0% | - | |
8.5 | - | |
6 days ago | - | |
C++ | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bustub
-
Can we create a thread for some of the best materials on CS available online?
Introduction to Computing"
https://dcic-world.org/
# Programming Language Theory:
"Programming Languages: Application and Interpretation"
https://www.plai.org/
# Compilation:
"Essentials of Compilation: An Incremental Approach in Python"
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
# Database Systems:
"CMU: Intro to Database Systems"
https://15445.courses.cs.cmu.edu/
"CMU: Advanced Database Systems"
https://15721.courses.cs.cmu.edu/
# Calculus I/II & Real Analysis
"A Course in Calculus and Real Analysis"
https://link.springer.com/book/10.1007/978-3-030-01400-1
"A Course in Multivariable Calculus and Analysis"
https://link.springer.com/book/10.1007/978-1-4419-1621-1
# Linear Algebra & ML:
* A Series of books by prof. Joe Suzuki without using any external library for the implementations *
"Statistical Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-15-7877-9
"Sparse Estimation with Math and Python"
https://link.springer.com/book/10.1007/978-981-16-1438-5
"Kernel Methods for Machine Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-19-0401-1
# Discrete Mathematics:
"CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh"
https://www.math.cmu.edu/~ploh/2021-228.shtml
# Cryptography:
"Serious Cryptography: A Practical Introduction to Modern Encryption"
https://nostarch.com/seriouscrypto
# Problem Solving:
"Math 235: Mathematical Problem Solving"
https://www.cip.ifi.lmu.de/~grinberg/t/20f/
-
const/smart pointer confusions
The relevant classes are: https://github.com/cmu-db/bustub/blob/master/src/primer/trie.cpp and the header https://github.com/cmu-db/bustub/blob/master/src/include/primer/trie.h (you can look at the root github's repo README how to compile)
-
Any DSA resources that are NOT boring?
Take for example CMU's bustub DB. Great lecture material, but their own pedagogical database where you implement parts of the database.
-
The “Build Your Own Database” book is finished
This seems like a fairly shallow course: if you’re interested in some real awesome database hacking, I highly recommend bustub. It’s great and educational.
- 15-445 Projects source code
-
What's everyone working on this week (9/2023)?
Not a tutorial but I completed all the assignments for CMU Database System course (link) and watched all their youtube videos before I started it (I highly recommend it, it's a great course and it's possible to submit the solutions even if you're not a CMU student. The entry code to gradescope is in the FAQ). Though, what I do is not re-writing bustub in Rust, as bustub uses 2 phase locking to achieve transaction isolation, and this uses MVCC, pretty much like Postgres (though currently much simpler). I used this resource as a starting point how it works.
- The BusTub Relational Database Management System (Educational)
-
SimpleDB: A Basic RDBMS Built from Scratch
There is also BusTub from CMU which I stumbled upon earlier today:
https://github.com/cmu-db/bustub
-
Online courses to learn more about databases and the concepts taught in Week 7?
check this course from cmu
- C++ Project Ideas
Essentials-of-Compilatio
-
The dragon compiler book (2nd edition) is a great book
You can try this book if you want something that came out this year https://github.com/IUCompilerCourse/Essentials-of-Compilatio.... Go to the releases to either get the racket version or python version. But I mean cmu uses the dragon book second edition for a graduate level compiler optimization class.
-
Why Learn Compilers
This paper is my favorite introduction to compilers, it's short and hands-on: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
There is a book-length expansion of this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
-
Can we create a thread for some of the best materials on CS available online?
Introduction to Computing"
https://dcic-world.org/
# Programming Language Theory:
"Programming Languages: Application and Interpretation"
https://www.plai.org/
# Compilation:
"Essentials of Compilation: An Incremental Approach in Python"
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
# Database Systems:
"CMU: Intro to Database Systems"
https://15445.courses.cs.cmu.edu/
"CMU: Advanced Database Systems"
https://15721.courses.cs.cmu.edu/
# Calculus I/II & Real Analysis
"A Course in Calculus and Real Analysis"
https://link.springer.com/book/10.1007/978-3-030-01400-1
"A Course in Multivariable Calculus and Analysis"
https://link.springer.com/book/10.1007/978-1-4419-1621-1
# Linear Algebra & ML:
* A Series of books by prof. Joe Suzuki without using any external library for the implementations *
"Statistical Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-15-7877-9
"Sparse Estimation with Math and Python"
https://link.springer.com/book/10.1007/978-981-16-1438-5
"Kernel Methods for Machine Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-19-0401-1
# Discrete Mathematics:
"CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh"
https://www.math.cmu.edu/~ploh/2021-228.shtml
# Cryptography:
"Serious Cryptography: A Practical Introduction to Modern Encryption"
https://nostarch.com/seriouscrypto
# Problem Solving:
"Math 235: Mathematical Problem Solving"
https://www.cip.ifi.lmu.de/~grinberg/t/20f/
-
CS 6120: Advanced Compilers: The Self-Guided Online Course
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
You can find a PDF and the associated course with a very minimal amount of following links.
If you are thinking of making your own language, it's also good to learn something about programming language theory, if you don't already. Many languages make mistakes that have been solved 25+ years ago. PLAI is good for that: https://www.plai.org/
-
Essentials of Compilation [book and video lectures]
I presume that's this, run in \racket mode? https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
I ask because there seems to be a \python mode, too, that folks may find valuable: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
I also don't know why the ci.yml only ran for a few seconds: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
-
An Incremental Approach to Compiler Construction [pdf]
I took the IU compilers course as an undergrad and can easily say it was my favorite course. If anyone is interested, here is a link to the textbook which will cover this papers content in much finer detail:
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
What are some alternatives?
prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
Essentials-of-Compilation - A book about compiling Racket and Python to x86-64 assembly
ClickHouse - ClickHouse® is a free analytics DBMS for big data
awesome-compilers - :sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes
toydb - Distributed SQL database in Rust, written as a learning project
pretty_laughable_lang - An educational C-like toy programming language that compiles to x64 binary.
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
json-rd - A recursive descent parser for JSON in pure python
dbdoc - Document your database schema, because your team will thank you, and a single text file makes it easy. Works well with PostgreSQL and others.
inc - an incremental approach to compiler construction
MongoDB - The MongoDB Database
papers-i-love - Computer science and computer-adjacent papers (and sometimes books) that have influenced me deeply.