Computer Science is the study of the theory and practices needed to design computer systems that solve a wide variety of technical and socially relevant problems. Computer Science teaches students problem solving techniques to create cutting-edge technology in domains ranging from mobile devices to healthcare to knowledge sharing. The goal of the computer science curriculum is to provide students with the knowledge and tools that will allow them to design and implement effective, economical, and creative solutions for the needs of individuals, society, and the high-tech economy.
The curriculum’s required courses give the student a strong foundation in both the software and hardware aspects of computing, as well as the mathematics and science that underlie the discipline. The project sequence courses and other electives selected in the junior and senior years of the curriculum allow students to deeply study one or more areas of computer science, including robotics, databases, software engineering, networking and network security, theoretical foundations of computer science, and data visualization. Students also have the opportunity to conduct research with department faculty to deepen their knowledge and enhance their experience.
Graduates of the Computer Science program are well trained in the design and implementation of computer software and hardware and have found ready employment in companies ranging from the Fortune 100 to innovative start ups. The Department’s courses and programs continue to respond to changing requirements for professional employment in computer science.
Requirements of the Major
A graduate in Computer Science will be expected to be able to provide the student with:
- The ability to create significant software projects, from analysis to design to implementation and testing.
- A strong foundation in both the software and hardware aspects of computing, as well as the mathematics and science that underlie the discipline.
- A deeper understanding of one or more areas of computer science of their choosing.
- Good written and verbal communications skills.
- The ability to work effectively in teams, as jobs in computer science require large groups of people to work together.
- An appreciation of the societal consequences of technology, including computers, and of the ethical issues that arise with recent technologies.
- The knowledge and skills necessary to obtain employment after graduation or to continue their study of computer science in graduate school.