This repository contains implementation and discussion notes (intuition, applications, analysis)
of some fundamental data structures and algorithms in Computer Science.
It is aligned with CS2040s syllabus taught by
Prof Seth at NUS.
The work here is continually being developed by CS2040s Teaching Assistants(TAs) and ex-2040s students, under the guidance of Prof Seth. It mostly covers lecture content and discussion notes. Future plans include deeper discussion into the tougher parts of tutorials and even practice problems / puzzles related to DSA.
The project's structure is optimised for IntelliJ IDEA as per the course's preferred IDE. Gradle is used for development.
If you are a CS2040s student, your IDEA configurations should already be compatible with this project structure. So, feel free to clone and use it as you see fit. Note, below configuration is as per CS2040s PS1 set-up guide.
Projects
tab, and click open
. Navigate to where the local repo is
cloned
File
on the top-left panel,Project Structure...
SDK:
dropdown. Remember to click Apply
../gradlew clean test
The resources here can be directly viewed from GitHub interface, but it is advisable for you to fork and clone it to your local desktop, especially if you wish to tweak or play with custom inputs. There is a folder where you can import and run the algorithms/structures here for your own input. See here.
While our team of TAs and students have diligently verified the correctness of our code, there might still be some discrepancies or deviation from lecture content (perhaps due to new changes). In which case, you are strongly advised to raise it up to us or consult your TA regarding any suspicions on the use of the information shared here.
See the team!