Olin vs. Mudd makes for an interesting comparison.
They both share a somewhat unconventional “liberal arts approach” to a technical education with an emphasis on experiential learning. They are both members of a cluster of small colleges - Babson/Olin/Wellesley and CMC/Mudd/Pomona/Scripts/Pitzer.
Olin could be catagorized as an “Engineering LAC” while Mudd could be characterized as a “STEM LAC”. Mudd’s curriculum is broader and more science focused, while Olin’s is more engineering focused. Olin is smaller and has an enrollment about equal to Mudd’s engineering enrollment. Mudd has more science requirements in its core while Olin has more engineering requirements in its core. Olin also integrates entrepreneurship into the curriculum and is more interdisciplinary in their approach to subjects.
When it come to the realm of computers, Olin is deeper on the computer engineering end of the spectrum, while Mudd is deeper on the computer science end of the spectrum. Neither will be as deep as a research university in either area.
The computer engineering end of the spectrum is more applicable to programming at lower levels of abstraction (i.e closer to the hardware) and in real-time or resource constained environments such as embedded systems. The computer science end of the spectrum is more applicable to programming at higher levels of abstraction (i.e. at the application level) where there is another layer of software between the programmer and the hardware and where resources are plentiful.
The computer science end of the spectrum tends to get into more theory (i.e. math) while the computer engineering end of the spectrum tends to focus more on applications of theory.
Olin’s engineering focus and small size has resulted in a unique approach to teaching computer science. Their approach is more “top down” in that they teach you how to do system design/architecture first, and then they combine a few traditional areas together into groups to give you a broad (but not as deep) background, then you choose where you want to go deeper. Going deeper in some areas will require independent study or taking courses outside of Olin (i.e. Wellesley or a semester abroad), or by pursuing an advanced degree.
Traditional approaches tend to be more “bottom up” in that they tend to start with lower level details and work upwards to the system/architecture level - quite often not getting there unless you earn an advanced degree.
Here is a paper on the subject:
Both programs gain some computer science depth through relationships with the other colleges in their respective cluster, but I would say that these relationships are more important at Olin due to the fact that it has fewer CS course offerings of its own. Here are the respective course catalogs:
The better program would be the one that better meets your interests, objectives and learning style.
All things considered, I prefer Olin, but that is because my bias is toward lower level programming, system design/architecture, application over theory and top down learning. I also prefer entrepreneurial companies and I am a fan of acquiring more depth through a masters degree.
You need to think though all these issues and determine which is a better fit for you and you career goals. They are both very good programs.