This document contains a major assignment on controllability and observability submitted by Deepak Nagar. It includes: 1) Definitions of controllability and observability of linear systems and conditions for a system to be completely controllable and observable. 2) Proofs showing how to determine controllability and observability by calculating the rank of controllability and observability matrices. 3) Examples demonstrating how to put systems into controllable and observable canonical forms and the relationship between these forms and the rank of the matrices.