General information on UIUC I2CS program

Discussion in 'IT and Computer-Related Degrees' started by Jeff Walker, May 23, 2006.

Loading...
  1. Jeff Walker

    Jeff Walker New Member

    I just finished the MCS program at U of Illinois and thought I would share my experiences for anyone looking for a graduate CS program.

    http://www.cs.uiuc.edu/online/programs.php#mcs

    I applied to the program in late 2002 as I was finishing my Excelsior BSCIS program. The only downside to Excelsior was that it could be largely completed through testing and certifications. Many of the graduate schools I was looking at required specific coursework. In the case of UIUC, they wanted programming (C++ specifically), algorithms, data structures, computer organization, and theory of computation.

    http://www.cs.uiuc.edu/online/admissions.php

    I don't really know how closely they follow these admission requirements in the I2CS program. I did score slightly above their published average for admitted students on the general GRE. I also took the computer science subject GRE and did reasonably well (76th percentile). This is optional at UIUC, but I wanted to demonstrate capability in areas where I didn't have explicit coursework (algorithms, etc). My undergraduate GPA was 4.0 (official Excelsior GPA with F's not transferred in) or 2.9 (GPA from all undergraduate transcripts), depending on how one viewed the data (I never received worse than an A in classes I completed, but I did have multiple F's from when I washed out at my first attempt at undergraduate education - all those Excelsior tests were pass/fail and didn't bring up the GPA much). As a result of all of this, I got accepted, though I was on academic probation my first 2 semesters and had to get a 3.0 GPA or better to stay in the program.

    The program itself is very good, if you are interested in one of their focus areas. You need to take 9 courses, of which 3 must be 500 level (graduate only) or higher. 3 courses must fulfill 3 specific requirements in software, architecture, and theory. The only problem with the distribution requirements is the lack of online options to fulfill these. For architecture, you pretty much had to take a specific architecture course. For software, you had some flexibility (compilers or operating system courses). Until recently, for theory, you had to take an algorithms class from a professor who has the repuation of being extremely good, but extremely hard. You now have a choice between an algorithms class and a theory of computation (automata) course. In any case, both are extremely hard as they require mathematical maturity equivalent to upper-level undergraduate math courses (think real analysis). Both courses require large numbers of non-trivial proofs.

    Other than the 3 distribution courses, I took the 4 available software engineering courses, database systems, and a 500-level genetic algorithms course in the general engineering department. With only 2 exceptions, all professors were excellent. Even the 2 who weren't excellent were good.

    With 1 exception (where we watched pre-taped lectures from 3 years earlier), all courses were identical to the on-campus version. We watched the on-campus lectures, did the same work, had the same tests, and did the same projects. For classes that had group projects (6 of my 9 classes did have group project components), the work wsa probably a bit harder than on-campus students faced due to the difficulties inherent in distributed group work across multiple time zones. Yahoo IM is no substitute for face-to-face meetings. The biggest group was 7 people and the smallest was 2. Not surprisingly, smaller groups tended to be better, though group personaility and project manager meeting management skills (did the PM know when to shut discussion/arguments down and move on?) played key roles.

    Work within the class varied significantly from course to course. All courses were based on some combination of homeworks, exams, projects, and papers. No class had fewer than 2 of those components and none had all 4. Distribution of work throughout the semester also varied greatly. In one class this past semester, the work was evenly spread throughout the semester. In another, 90% of the work was due within 3 days at the end of the semester. As someone taking courses while working, it is important to be aware of this as end-of-semester schoolwork can become crushing.

    None of the classes were particularly "easy". All required at least 5 hours/week of work outside of lectures. A few required more than 10 hours a week of work. Project-based courses tended to require far more at tin the last month of a course. This level of effort makes it difficult to take 2 classes/semester (an 8-hour load). I managed to take 2 courses a semester during 3 different semesters. In 2 of these, I really struggled and had to sacrifice some grade in 1 class in order to keep sane.

    Grading tends to follow a typical graduate school curve (in classes that are curved). Approximately half the students will get A's and approximately half will get B's. A few C's or lower are given, but not many - these are effectively failing grades in grad school. That said, I2CS students seem to get a high percentage of those lower grades. Whether this is lack of preparation (or easier I2CS admissions), work interference, or lack of effort is unclear. In other words, the classes are setup so you can succeed, but you do need to stay on top of things and make sure you really understand the material.

    On the non-academic front, lectures are delivered in both Window Media Player and (recently) in Apreso. I believe that Apreso works on non-Windows machines. Approximately once a semester in each class some technical glitch would make part of a lecture unwatchable. Technical support for the I2CS program was solid overall. I always received prompt responses to questions to advisers and they have setup a newsgroup to specifically handle general issues with the I2CS students. All in all, a pleasant experience. The only time I felt like cimmunication was poor was in specific courses with specific professors. This was rare.

    Cost is around $2600/course, which makes the program more expensive than most, but not anywhere near the Carnegie Mellon cost.
     
  2. Neoplato

    Neoplato New Member

    This is great info. Thanks, Jeff, and congradulations.
     

Share This Page