1. General information
  2. 1. Course info
  3. 2. Staff
  4. 3. Software Setup
    ❱
    1. 3.1. Linux
    2. 3.2. Toolchain
    3. 3.3. Editor Setup
  5. Part 1 - Individual
  6. 4. Lecture Notes
    ❱
    1. 4.1. Lecture 1: Intro to Rust
      ❱
      1. 4.1.1. Lecture 1.5: Git
    2. 4.2. Lecture 2: References
    3. 4.3. Lecture 3: Types and Memory
    4. 4.4. Lecture 4: Enums and Errors
      ❱
      1. 4.4.1. Lecture 4.5: Errors
    5. 4.5. Lecture 5: Iterators and Collections
    6. 4.6. Lecture 6: Traits and Generics
    7. 4.7. Lecture 7: Testing and Tooling
    8. 4.8. Lecture 8: Modules, Crates, Project
  7. 5. Slides
  8. 6. Git Assignment
    ❱
    1. 6.1. Assignment Info
    2. 6.2. Installation
      ❱
      1. 6.2.1. SSH Keys
    3. 6.3. Uploading work
      ❱
      1. 6.3.1. Cloning
      2. 6.3.2. Commit
      3. 6.3.3. Push
    4. 6.4. Branches
      ❱
      1. 6.4.1. Merge
      2. 6.4.2. Merge Conflicts
      3. 6.4.3. Merge Requests
    5. 6.5. Pull
    6. 6.6. Final Assignment
    7. 6.7. Additional Features
  9. 7. WebLab Practice Assignments
  10. 8. Individual Assignment
    ❱
    1. 8.1. Assignment Info
    2. 8.2. Reference Manual
  11. Part 2 - Project
  12. 9. Project
    ❱
    1. 9.1. NES introduction
    2. 9.2. Requirements and Grading
    3. 9.3. Getting started
    4. 9.4. Useful links
    5. 9.5. iNES file format

Software Fundamentals

Lecture slides

Recordings of the lectures are also available on Collegerama

  • Lecture 1: Intro to Rust
  • Lecture 2: Data Type
  • Lecture 3: Ownership and References
  • Lecture 4: Enums and Errors
  • Lecture 5: Traits and Generics
  • Lecture 6: Iterators and Collections
  • Lecture 7: Testing and Tooling

Lab Slides

  • Lab 1: Git