If the exam is made well, it's not just regurgitation. It's not multiple choice, but I agree this doesn't test programming skills. But programming is also a quite small slice of the CS curriculum. It has so many other things like linear algebra, real analysis, formal logic, graph theory, automata, coding theory like Reed Solomon, compression, complexity, operating systems like scheduling and virtual memory, how flip-flops and adders and CPUs work. A self taught web developer who can program well still wouldn't know most of these. Programming knowledge is neither fully necessary nor sufficient for a CS degree. I hear American colleges are more vocational, but in most of Europe it's understood that you gain practical experience either in internships, side jobs, doing hobby projects or simply after graduation at your first job.