My school, Purdue, has handled the surge pretty well, primarily by being very accommodating towards increasing capacity (when CS majors are involved) and severely restricting non-major access to CS-major classes.
For the lower level core classes required of all CS majors, space is basically guaranteed for CS majors. If there's not enough seats, capacity will get increased to accommodate the students who need to take the class.
In the upper level classes, capacity will generally be increased if needed. Sometimes, there's a handful of seats (1-10) open in the less popular class at the beginning of the semester.
During registration (which occurs two-thirds of the way into the prior semester), only CS majors are allowed to sign up for CS classes. All other students (including CS minors) are required to submit a request which will be decided on a space-available basis the week before classes start. Those requests are only granted for students who have taken <=5 CS-major classes. There's a very specific sequence that CS majors usually take the core classes in. The semester a CS major would take a core class if they're on schedule is called a "peak semester". Non-majors are completely barred from taking those core classes during their peak semester.
For the lower level core classes required of all CS majors, space is basically guaranteed for CS majors. If there's not enough seats, capacity will get increased to accommodate the students who need to take the class.
In the upper level classes, capacity will generally be increased if needed. Sometimes, there's a handful of seats (1-10) open in the less popular class at the beginning of the semester.
During registration (which occurs two-thirds of the way into the prior semester), only CS majors are allowed to sign up for CS classes. All other students (including CS minors) are required to submit a request which will be decided on a space-available basis the week before classes start. Those requests are only granted for students who have taken <=5 CS-major classes. There's a very specific sequence that CS majors usually take the core classes in. The semester a CS major would take a core class if they're on schedule is called a "peak semester". Non-majors are completely barred from taking those core classes during their peak semester.