i find that cpu based ray tracing is a good low-to-moderate effort project, specifically if you are getting into a new programming language f.e. lisp/modern-c++/rust/erlang(^^)/... there are plenty of books around which can walk you through the whole thing, however, of late, i have found that this: https://pragprog.com/book/jbtracer/the-ray-tracer-challenge is a pretty comprehensive. check it out ! approximately, on the same lines, nand-to-tetris is _very_ good as well.
Also recommended in this reply