This unit introduces object-oriented programming and the C++ programming language. While C++ and C are different languages they have similar syntax and C++ can be thought of as an extension of C. (Technically, C and C++ are completely separate as languages, but there are enough similarities at the lower levels that this intuition is useful.)
The reason for introducing C++ at this point is that it provides a more natural setting to discuss object-oriented principals than C itself. You can apply these principals to C (which we will do in Unit 4) but C++ makes things more explicit. Also, pointing out the differences between C and C++ will reveal some of the less obvious subtleties of C++ and object-oriented programming.
malloc()
vs. new
Details of the project can be found here