IMO many CS classes should be lab based already, except the theory heavy ones. I still wonder why MIT needs to test students of OS courses on paper when the labs cover a lot of the ground. If I can do well in the labs I wouldn’t bother to memorize stuffs for the exams.