Question: I want the ability to animate a scene where I can draw boxes, circles, text, and other things like images, and be able to record it. I figure I will need my own recording software, but that is separate from this post.

Because my needs are very simple, the tool I use should be free.

Since some of the things will be computer science and math related, originally I was looking at 3Blue1Brown's videos, but the application used for those videos is a bit overkill for what I need.

Answer: 
[Wick Editor](https://www.wickeditor.com) can be used as a free alternative to Adobe Animate (formely named Flash Professional).

Similiarities and differences to/from Animate:

* The editor itself doesn't have the "pen" tool, so to draw curves indirectly you use the line tool, then hover the line with the mouse pointer using *Path Cursor* tool and curve it.

[![Screenshot of Wick Editor toolbar](https://i.stack.imgur.com/nrlA7.png)](https://i.stack.imgur.com/nrlA7.png)

* Like Animate, timeline can have code (instead of ActionScript, it is JavaScript).

Other information:

* If you want NPM (Node.js Package Manager) dependencies, then you'll want to explicitly use the .wick runtime from a NPM project. Currently the .wick runtime is not available on NPM, so it means it must be extracted from an archive export from the Wick Editor.

These posts might help you with the .wick runtime:

* [Control timeline from HTML](https://forum.wickeditor.com/t/control-timeline-from-html/8753)
* [Is there API for loading .wick files?](https://forum.wickeditor.com/t/is-there-api-for-loading-wick-files-like-actionscripts-loader/8747/2)
The Unity web player still works, though it's no longer supported and requires the user to install it.

Supernova flash player is an option for legacy swf files.

Everything else is going to be HTML5, probably backed up with a canvas element. You can use plain javascript or one of the very many js libraries designed for this sort of thing. The first 3 I can think of which aren't already in another answer are phaser, melon and createjs.