In my own experience, bootcamps or other made up stages are about to fail because of the fact they have prerequisites that are not shown.
For your friend (and you), I will recommend to start with basic knowledge. What is Boole's logic? What is a microship? How to control a microship.
An example will be : http://www.nand2tetris.org/
Begin with a (only one) project will fall in some pitfalls: - do not cover basic principles - assume to know a framework, or to use bad practices - do not teach programming, but a language for only one purpose
(sorry for my bad english)