<p>Which one is better for CS major? It seems that I can get some scholarship from Williams.</p>
<p>Williams’ CS department appear to be rather small, in that some important courses like operating systems are not offered every year (e.g. operating systems is not offered 2013-2014).</p>
<p>[Current</a> Courses - Williams Computer Science](<a href=“http://www.cs.williams.edu/category/current-courses/]Current”>http://www.cs.williams.edu/category/current-courses/)</p>
<p>I wouldn’t consider Williams a CS destination, but for a liberal arts education you could hardly do better, especially if you want to double major in CS and something related like math or physics. Or, really, in something mostly unrelated like philosophy or art history. </p>
<p>If you’ve visited both you’ll know that there’s also a huge difference in environment and culture. Michigan is in a lively college town and has tens of thousands of students and many highly regarded graduate programs. Many of the undergraduate courses are taught by TAs. Williams is in an insular mountain valley, has only ~2000 students and a close knit community. Almost all classes are taught by full professors. </p>
<p>So as aside from the money it’s also a choice of culture.</p>
<p>[PS: I’m a Michigan alum; my son went to Williams.]</p>
<p>so what is your suggestion?</p>
<p>As a former software engineer, I’d say you’d be better off at Michigan for the CS portion of your career, BUT, and it’s a big BUT, the CS portion of your career is often shorter than most people realize. A huge number of CS and Engineering grads are no longer practicing in those fields after the age of 35. For the long term game, you’ll be better equipped if you go to Williams, provided you like the environment.</p>
<p>If you prefer a smaller school, you should be able to find other smaller schools with better CS offerings, or cross registration with other schools to supplement the CS offerings.</p>
<p>“Michigan is in a lively college town and has tens of thousands of students and many highly regarded graduate programs. Many of the undergraduate courses are taught by TAs.”</p>
<p>At Michigan, only 7% of lower division classes, and 1% of upper division classes (3% of all undergraduate classes) are taught by TAs/GSIs. 97% of undergraduate classes at Michigan are taught by faculty.</p>
<p>It probably won’t make that much of a difference, given that most of your classes will actually be taken outside of your major. This isn’t like grad school where you have to do program comparisons. Both are excellent schools and you would get an excellent education at either. So this is more a matter of what atmosphere you would prefer and cost considerations.</p>
<p>Upper-level electives not being offered every year is not as much of a problem at a SLAC, in my experience. Usually the interests of the majors is spread out enough that the offering is fine, and the professors also have more control over their own department so if they need to start offering an upper-level elective more often, they will. In my own department at a SLAC (the most popular in the college) I never got shut out of an upper-level elective that I wanted to take because it was full. It seems that particular class is offered in odd springs, so likely OP can take it in the spring of his junior year (spring 2017) if he wanted to.</p>
<p>
</p>
<p>Still, it can be disadvantageous to attend a school where your major department offers the bare minimum upper division courses at the minimum frequency (once every two years), versus one where core upper division courses are offered every year or every semester and additional elective upper division courses are also offered.</p>
<p>That can be an issue if you have interests outside of your major as well – if the once-every-two-years-offered course that you want to take outside of your major is at the same time as a once-every-two-years-offered course that you need for your major, then you will not be able to take it.</p>
<p>
</p>
<p>Full classes is not normally the issue in a small department. The opposite problem may be a greater risk: lack of student interest may result in a class not being offered.</p>
<p>Also, if an upper division course is offered only once every two years, a student may have just one chance in his/her four years to take that course. Having a semester off (study abroad, co-op job, medical leave, etc.) may mean not being able to take the course at all. Operating systems is generally one of the more important and popular upper division courses for CS majors, so it being offered so infrequently is a cause of concern.</p>
<p>Is it easier for a Williams CS major to find a job? </p>
<p>Probably not, except for very local employers, since Williams is small and out of the way and not known for CS. Employers looking to hire CS majors will prefer to recruit at larger schools with lots of CS majors.</p>
<p>If you were a non-local employer looking for CS majors about to graduate, would you go to a school where there may be 10 CS majors, or a school where there may be 200 CS majors?</p>