Students enrolled in the bachelor's program in computer science may be interested in additional majors for CS students offered in the School of Computer Science, as well as minors the school offers.
Additional Major in Human-Computer Interaction
Human-Computer Interaction (HCI) is devoted to the design, implementation, and evaluation of interactive computer-based services and applications. Examples of HCI products include intelligent computer tutors and educational games, online communities, smartphone apps and interactive robots. Students enrolled in this program learn all stages of the design process, including courses in the topics of human behavior, design, implementation and evaluation. The program culminates in client-based senior group project.
Additional Major in Robotics
The additional major in robotics is designed for students who want to explore the field more than is possible through our existing undergraduate robotics minor. Although students can come from any department on campus, the nature of the courses required for the additional major makes it ideal for students already pursuing an undergraduate degree in computer science through the School of Computer Science, or in engineering through Carnegie Institute of Technology.
Computational biology is concerned with solving biological and biomedical problems using mathematical and computational methods. There have been fundamental changes in biology and medicine in the past two decades due to spectacular advances in high throughput data collection for genomics, proteomics and biomedical imaging. The resulting availability of unprecedented amounts of biological data demands the application of advanced computational tools to build integrated models of biological systems, and to use them to devise methods of prevent or treat disease. Computational biologists inhabit and expand the interface of computation and biology, making them integral to the future of biology and medicine. A minor in computational biology will position students well for entering the job market or graduate school in this growing field.
Human language technologies have become an increasingly central component of computer science in the last decade. Information retrieval, machine translation and speech technology are used daily by the general public, while text mining, natural language processing, and language-based tutoring are used regularly within more specialized professional or educational environments. The Language Technologies minor allows students to learn about language technologies and apply them through a directed project.
Machine learning and statistical methods are increasingly used in many application areas including natural language processing, speech, vision, robotics and computational biology. The minor in machine learning gives undergraduates the opportunity to learn about the core principles of machine learning.
The neural computation minor is open to students in any major at CMU. The primary objective of the minor is to encourage students in biology and psychology to take computer science, engineering and mathematics courses on the one hand, and to encourage students in computer science, engineering, statistics and physics to take courses in neuroscience and psychology on the other, and to bring students from different disciplines together to form a community. The program seeks to produce students with both basic computational skills and knowledge in cognitive science and neuroscience that are central to computational neuroscience.
The minor in robotics provides an opportunity for Carnegie Mellon undergraduates to learn the principles and practice of robotics through theoretical studies and hands-on experience with robots. This minor serves as a focal point for undergraduates who are interested in robotics at CMU, and is opens to students in all colleges. Students initially learn the basics of robotics in an introductory robotics overview course. Additional required courses teach control systems and robotic manipulation. Students also choose from a wide selection of electives in robotics, perception and computer vision, cognition and cognitive science, or computer graphics. Students have a unique opportunity to undertake independent research projects, working under the guidance of Robotics Institute faculty members, an excellent introduction to robotics research for those considering graduate studies.
The software engineering minor is designed to teach the fundamental tools, techniques, and processes of software engineering. Through internships and a mentored project experience, students gain an understanding of the issues of scale and complexity that motivate software engineering tools and techniques. The core curriculum includes material both on engineering the software product and on the process, teamwork, and management skills that are essential to successful engineering. Program graduates should have the technical, process, and teamwork skills to be immediately productive in a mature engineering organization.