Comp Sci at U of C??

<p>So, I really want to major in Computer Science. Is U of C really a place for Comp Sci majors? I know the Comp Sci department is small. Recently, after conducing my own research, I have fallen in love with U of C. I love its quirky students, campus life, tough academics, the city of Chicago, and brilliant professors. However, I won't lie, it's not my first choice. </p>

<p>I will tell you though, U of C is my second choice tied with Duke (this is assuming I get into my top choice and both Duke and U of C). </p>

<p>So can someone please give me additional info on U of C's computer science department? </p>

<p>Do major companies come recruiting on campus like Apple, Google, Microsoft, Facebook, etc...? </p>

<p>Is it tough for Comp Sci majors find jobs AFTER graduating from U of C?</p>

<p>What is the course selection like? How tough are the courses for CS majors?</p>

<p>Please let me know.</p>


<p>Can someone please help?</p>

<p>Anecdotally, two of my friends who graduated went to Google. One to Apple. Although the Apple guy was a polisci major who coded in his free time. Another friend was a Classicist who started his own webdev company and was picked up by a major tech consultancy a year in.</p>

<p>From what I know of the ACADEMIC program, it's more theoretical than applied. Have you checked out the course catalog yet? </p>

<p>Computer</a> Science - University of Chicago Catalog</p>

<p>Yes, FB, Google, et al come to Chicago to recruit. They even hire Chicago grads. Chicago has sent a team to the ICPC the past four years. Chicago's CS has a theoretical bent, to be sure, but folks do not have trouble getting the skills to get a job.</p>

<p>S1 is a fourth year math major with significant programming experience and has done very well on the job front. There are schools with stronger CS programs, but if one wants theory and/or really wants the Core as part of one's education, this is an excellent place to be.</p>

<p>In U of C, they do not teach programming languages to CS students, you have to learn those on your own. The classes are centered upon mostly theories and very math oriented. But, there is no problem for CS students finding jobs in the major corporations.</p>


<p>Really, a school that does not teach you how to program. I have been wrestling with that one. I am a tech book publisher for over 25 years--taught myself some very low level programming lanugages along the way--but I don't really recommend it. My son is also very interested in this school--not sure the price tag is worth the "theory" vs. a school that helps with the instruction in the beginning--and follows up with a more applied approach. It seems to me that only the very top math oriented talented students would likely be attracted to companies like Facebook, Google, etc. They look for very talented math students. But if someone has no prior programming experience and yet smart enough to get into U of C--not sure it is worth the risk. Any other current students who have experience with the program--would be helpful</p>

<p>No, they teach you; the catalog seriously spells it all out, here are just a few samples:</p>

<p>CMSC 22100. Programming Languages. 100 Units.
Programming language design aims at the closest possible correspondence between the structures of a program and the task it performs. This course studies some of the structural concepts affecting programming languages: iterative and recursive control flow, data types and type checking, procedural versus functional programming, modularity and encapsulation, fundamentals of interpreting and compiling, and formal descriptions of syntax and semantics. Students write short programs in radically different languages to illuminate the variety of possible designs</p>

<p>CMSC 22300. Functional Programming. 100 Units.
This course presents the functional programming paradigm, based on the idea of functions as "first-class" values that can be manipulated like other data. This idea leads to great power of expression while maintaining simplicity, making it easier to write correct and maintainable software. We use the languages Haskell and ML as representatives of the two main schools of functional programming, the pure and the impure. After learning the basic elements of these languages, we explore functional programming techniques that can be exploited in many areas of application using a surprising variety of languages (e.g., C#, Python) that have included first-class functions as a feature. We compare functional and object oriented programming and include an brief overview of concurrent functional programming in ML and Haskell</p>

<p>The department describes itself as being 50% applied, 50% theoretical. You are by no means forced to learn programming languages on your own, that's ridiculous.</p>