-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
In addition to what other posters suggested, it could be a good idea to try assembly languages as a way to manually work with locations in memory. Something like Octo could be fun if you want to try memory manipulation without worrying about real-world complexities like syscalls and memory alignment. If you want something extra challenging, you could always try x86 / amd64 assembly. Some C compilers even support inline assembly if you want to mix C and assembly.