This course will introduce a new computational model of the brain, called SPA (for Sensing Processing Acting) currently under development, and a platform implementing it, called FAISCA. The ultimate goal of FAISCA is to allow for the development of synthetic brains, simulating the human brain in its main functionalities. FAISCA is programmed based on the Behavioral Trees (BT) computational model. The course will be organized as follows:
1. Preliminary material on the brain will be circulated 2 weeks before the start of the class.
First week:
i. The first two classes will be used to discuss the material distributed 2 weeks before and the brain conceptual brain algorithm.
ii. The 3rd and 4th classes will be about parallel programming with Python, based on the Behavioral Tree (BT) computational model.
iii. The 5th Class will be a brief introduction to CUDA at Driver- and Runtime-level.
2. Second week:
i. The first two classes will be about heterogeneous systems programming with PyCuda, NUMBA and CUPY.
ii. The 3rd class will be designing and deploying BTs under FAISCA.
iii. The last two classes will focus on deploying the previous conceptually brain algorithm, drafted during conceptual study, to the FAISCA framework.
3. The evaluation will be based on small projects proposed one day before and evaluated at the end of each next class.