Skip to content
 
 

Repository files navigation

Software Engineering - From REPL to SYSTEM

Readings and Resources:

Required Reading:

- Programming Rust (First half): https://ebookcentral.proquest.com/lib/th-deggendorf/detail.action?docID=6643397
- Algorithms and Data Structures in Rust (Second half): https://www.packtpub.com/product/hands-on-data-structures-and-algorithms-with-rust/9781788995528

EXERCISES:

Class Design - Flipped Classroom

  • 60-90min | Review and joint development of selected Homework Exercises
  • 20-30min | Brief theoretical input on computational thinking with Algorithms and Data Structures.
  • 60-90min | Practical Exercises and Coding Examples with Rust

Deliverables (mandatory)

Each session below comes with a set of exercises. You are required to prepare these exercises before each class. I will provide feedback and guidance on the side. For each session, I will pick some difficult or important exercises and discuss solutions with the class. The exercises are plenty and you will hardly be able to complete all of them. Make sure to definitely work on all Exercises until Session 6.

Preliminary Requirements before 1st Day of Class

Exam (graded)

The Exam will be written and online. It will be a code exercise with tests provided.

Agenda

Programming in Rust

  1. A tour of Rust: Data Types and Tooling (Chapter 1-3) | Exercises R01

  2. Memory Management: Mutability and Ownership (Chapter 3-6)

  3. System Design: Error Handling, Crates and Modules (Chapter 7-8)

  4. Object-Oriented-Design: Structs, Enums and Patterns Chapter 9-10)

  5. Encapsulation and Abstraction: Traits and Generics, Operator Overloading (Chapter 11-13)

  6. Functional Programming: Closures, Iterators and Collections (Chapter 14-16)

  7. Input and Output: Strings, Text and IO (Chapter 17-18)

Algorithms and Data Structures in Rust

  1. Algorithms Analysis, Design and Evaluation

  2. Lists, Maps and Sets

  3. Trees

  4. Graphs

  5. Sorting and Ordering

  6. Search and Filtering

  7. Combinatorial and Random Algorithms

  8. Wrap-up and Review: Rust Standard Library

Sessions

The detailed content of each Session will be added here during the term.

About

Software Development: A Course in Algorithms and Data Structures Engineering

Resources

Stars

22 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages