When an assignment (including the final project) includes programming, you should turn in a full copy of your code with the rest of the assignment.
What language you use is entirely up to you, unless I explicitly specify otherwise. I may suggest a language for a particular assignment, but that's advice, not requirement. In general, the motto is: ``use the right tool for the job.'' That said, please honor the spirit of the assignment -- if the assignment calls for you to implement a neural network, for example, don't just use the Matlab NN toolbox. Similarly, don't just go find publicly available code for any learning system I specify -- your job is to understand how these things work from the inside out, and plugging in a blackbox library doesn't accomplish that. If you have a question about whether some package/library is acceptable for use in an assignment, please ask me before you use it (or before you decide not to use it -- it doesn't hurt to ask, and you may save yourself a lot of pain).