Although most students admitted to the joint CMU-UC Master programs hold undergraduate degrees in computer science, engineering, mathematics, or physics, applicants who can clearly demonstrate the ability to perform graduate-level work in software engineering are also considered. Excellence and promise will balance a lack of formal preparation. Programming experience is essential, but applicants who have allowed a zeal for programming to to interfere with other aspects of education are not usually considered qualified.
To enter the joint CMU-UC Master programs you must have:
1. Significant experience in software development projects.
If you are applying for the MSE program, you need to have *at least* two years of relevant professional experience on the software industry. Most candidates average 5 to 10 years of experience.
If you do not have at least two years experience, you may qualify for the Master of Science in Information Technology (MSIT-SE) degree.
While for the MSIT-SE program you are not required to have two years of professional experience, you must show to have worked on significant software development projects. Examples include: summer internships in companies developing software; part-time and free-lance jobs for local software houses; implementation work in research labs while at university.
2. Knowledge, at least at the level of an undergraduate course, of discrete mathematics, algorithms and data structures and programming languages
3. Skills in programming-in-the-small, as well as competence in using an imperative block-structured or object-oriented languages such as Java, C#, C++, Python, Ruby, Pascal or C. Knowledge of Object-Oriented Programming is highly recommended.
4. Practical knowledge of programming methods and computer organization
5. In-depth knowledge of at least two of the following topics:
› compiling techniques
› comparative programming languages
› operating systems
› database systems