yes, you can "FOIL" matrices:
(A+B)(C+D) = AC + BD + AD + BC, but remember the order of multiplication in each term is important:
(A+B)(A-B) = A2 + BA - AB - B2, NOT A2 - B2 (because usually AB ≠ BA).
matrix differentiation is just a convenient way of keeping track of the various partial derivatives involved. you might want to look here:
Matrix calculus - Wikipedia, the free encyclopedia