Giter VIP home page Giter VIP logo

oliverkillane / imperial-computing-notes Goto Github PK

View Code? Open in Web Editor NEW
43.0 1.0 3.0 332.82 MB

A selection of textbook-like course notes for the Imperial College Computing modules.

Home Page: https://oliverkillane.github.io/Imperial-Computing-Notes/

License: MIT License

TeX 82.75% Python 1.44% Shell 0.36% C++ 8.10% Kotlin 0.06% Haskell 3.29% Rust 0.91% Elixir 0.91% C 0.23% TLA 0.52% Assembly 0.16% CMake 0.42% Dockerfile 0.11% Java 0.69% HTML 0.04%
latex notes cpp education elixir rust statistics tlaplus imperial-college imperial-college-london

imperial-computing-notes's Introduction

Click to see the source

imperial-computing-notes's People

Contributors

oliverkillane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

imperial-computing-notes's Issues

Concurrency for Rust

Needs a cleanup - I skipped over the content quickly due to familiarity.

Specifically adding:

  • Non-Assessed Channels in Rust
  • Send & Sync traits
  • Examples for interior mutability pattern

Convert to BussProofs

Description

The proof tree notation is done using \cfracs in a maths environment, this is not ideal as:

  • side tags are part of the width of the \cfrac
  • no proper centering control

I recently did a CW with bussproofs and like this style.
In the long term, should probably move to using this.

Data Processing Systems Unfinished Content

Missing chapters to be completed:

  • Advanced Topics (composable data processing systems, lightsabre)
  • Algorithms and Indices (B Trees)
  • Concurrency (clean up and clarify)
  • Optimisation (More Calculations examples, 'bulk columns' example)

Could also include:

  • more practice questions & potentially exam like Qs
  • improve current sample code (duplication in table definitions, prints, etc)

Also need to get a final review from a few fresh eyes (hopefully some volunteers this term)

Data Processing Lock Manager

RW Lock differs from lectures.

  • Waiting confirmation from lecturer on correctness of lecture content here
  • Need to fix and improve current Lock Manager implementation in transactions/code

Integrate Old Notes for Compilers and Algorithm Analysis

Description

Currently the content is included in their directories (copy pasted from old 2nd year repo

  • need to produce a single pdf target
  • use bridge to maintain old code
  • low priority upgrade to new common tex style and remove bridge

Easier Development

Goals

  • Make it easier to develop notes
  • Need to make an image / devcontainer setup to make it possible to work on these notes:
  • Linting check as part of the CI, or a lint as a precommit hook

Maybe Goals?

  • Separating built pdfs from repo, and building in the CI [Problem: How to review pdfs from pull requests?]
  • Better helper scripts [Move to python, nicer messages, simple commands for build, maybe? - icn build, icn check etc]

Required Changes

  • Docker image built in repo and published to ghcr
  • added as .devcontainer with vscode settings & extensions setup

Needs to include:

  • Latex distribution + packages + latexindent
  • Language support for C++, elixir, haskell, rust, TLA, python
  • Pygments (+ add TLA highlighting for distributed notes)
  • Inkscape

Required Test

  • To be able to edit code, latex & diagrams from github codespaces by just opening the repo in codespaces / no setup required.

60007 9.3.1 Incorrect Ordering

With history G, I think you meant for B q:7 and B q.deq() to be swapped around.

Nice notes man, I'm finding them really helpful compared to the slides.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.