I entered the C++ and Java Programming track of Columbia's CTA Continuing Education program a few years ago and have to say I was pretty let down. I am aware of how superb Columbia's undergraduate programs and students are. However, when it comes to continuing education, at least the CTA program, I get the sense that Columbia had its mind more on gaining income than producing a good program. It has a very inflexible schedule, a single section of each such that if you miss the semester on some classes you'd have to wait for the next year for that 1 section again. This seems particularly unsuited for "continuing ed" for professionals. The implied rationale for such practice and cost would be that CTA is very serious about education, so expects sacrafice from students. However, I found classes to be both way too slow (catering to the slowest members of the class, of which Columbia accepted plenty) and sometimes poorly taught. My first two classes had decent teachers (again slow); on the 3rd, however, I had to drop out -- they had hired someone with no teaching experience and had no instinct for it; I felt I just couldn't waste my company's money any longer. There was no overarching academic vision & the classes seemed to be more about syntax than introducing engineering concepts, computer science or theory (why bother going to Columbia when you could go to any place for syntax?!). I felt pretty cheated. They simply leveraged the quality of their reputation to make a buck. Just go back and get your bachelor's in C.S., take some real classes, or learn from books. They offer much less than you should be able to envision for yourself as a computer professional. Again, I have nothing bad to say about their bread-and-butter undergrad or grad programs... I'm sure those are excellent. The Continuing Ed Computer Technology and Applications Program just sucked, though.