  We present the Elements project, a lightweight, open-source, computational
science and computer graphics (CG) framework, tailored for educational needs,
that offers, for the first time, the advantages of an Entity-Component-System
(ECS) along with the rapid prototyping convenience of a Scenegraph-based
pythonic framework. This novelty allows advances in the teaching of CG: from
heterogeneous directed acyclic graphs and depth-first traversals, to animation,
skinning, geometric algebra and shader-based components rendered via unique
systems all the way to their representation as graph neural networks for 3D
scientific visualization. Taking advantage of the unique ECS in a a Scenegraph
underlying system, this project aims to bridge CG curricula and modern game
engines (MGEs), that are based on the same approach but often present these
notions in a black-box approach. It is designed to actively utilize software
design patterns, under an extensible open-source approach. Although Elements
provides a modern (i.e., shader-based as opposed to fixed-function OpenGL),
simple to program approach with Jupyter notebooks and unit-tests, its CG
pipeline is not black-box, exposing for teaching for the first time unique
challenging scientific, visual and neural computing concepts.
