Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 2.01 KB

PROJECTS.md

File metadata and controls

40 lines (33 loc) · 2.01 KB

Projects

We've already spent three weeks learning Rust, and have looked at almost all of the basic concepts you need to understand to work with Rust!

There are still going to be minor homework tasks provided, but I instead suggest you team up with a few people and start working on your own little project! I am not limiting you in your choice, Rust is truly capable of a lot, starting from a simple CLI program and a Web app, to a CPU-heavy multi-threaded app and resource-limited embedded project. Look for something you are interested in and would be able to explore over a few upcoming weeks.

Feel free to consult with me and DuckDuckGo on the level of difficulty, the availability of libraries etc.

Below are some of the ideas for your inspiration (you can pick them, but you don't have to!):

  • Arduino Rust project - anything you'd like to implement with your Arduino, but in a safe Rust environment!
  • Little CLI tool - implement anything from diff to cat, or even your own shell!
  • Your own text editor?!
  • Little CLI game - implement something more fun and advanced than your week1 assignment!
  • 2D and/or Web game - Rust has plenty of engines which allow you to create simple games for both desktop and web platforms!
  • A multi-threaded program - there are plenty of tasks which require heavy computation, you can try using Rust's threads and communication systems to quickly prototype your way out of them!
  • Macros project - there might be a few simple macros you think are missing from the standard library, try implementing those!

If you are looking for teammates for a particular project, feel free to drop a message in our club chat!

Once you decide on the project and your team, you can just message me rather than open a whole ass pull request. I can also provide you with resources on where to start and where to look for things, as well as some tips based on what you're doing right now. Be prepared to show something the next week, it doesn't have to be your full project, but you should be able to show your progress!