Computer Science is about exploring and creating innovative solutions to complex, real-world problems. The demand for computer science professionals is skyrocketing. As a Computer Science major, students will study step-by-step computational methods for solving problems by encoding, storing, tracking and transforming information. Students will learn the theory, architecture, and application of computers – how to process information and how to design software (sets of computer instructions) to perform specific functions. Students will also learn how to enable software and computers to learn and adapt on their own. Computer Science is much broader than just programming.
Computer scientists work in diverse fields and have crucial core skills:
- information analysis and processing
- practical and specialized software design
- computer theory, logic, and discrete mathematics
- computer architecture and networks
- operating systems and programming languages
Two concentrations are offered under the Major in Computer Science: Computer Science and Human-Centered Computing. During the first 2 years of study, students in both concentrations take the same 100- and 200-level Computer Science core courses in the following areas of study:
- Programming and mathematical foundations
- Computer security
- Data structures
- Computer organization
- Algorithmic theory
- Systems software
- Software engineering
- Linear algebra
Students may take courses from a wide range of senior-level offerings:
- Big data
- Artificial intelligence
- Human-computer interaction
- Cloud computing
- Database systems
- Machine learning
- Parallel programming
The Computer Science discipline changes quickly, and course offerings are continually updated to keep pace. Our department Industrial Advisory Board of industry representatives work with us to ensure skills are current and competitive in the marketplace.
Students may also participate in research and teaching. These opportunities give students additional valuable skills and experience. Engaging in undergraduate research and teaching can help students decide if they would like to pursue a graduate degree. A minor in Computer Science is also available.
Upon completing this program, students will be able to:
- understand how to use the mathematical and scientific principles of computing to design and develop software and computing systems.
- work effectively in teams to develop computation solutions to complex problems.
- communicate your technical ideas effectively in writing and verbally.
- confidently pursue graduate studies or professional employment in the computer science field.
Our Computer Science students are in high demand, and the majority find related employment upon graduation. The proven performance of CSU graduates has resulted in annual recruiting visits by a wide variety of companies, government agencies, and research laboratories. Internships are readily available that enhance skills and marketability.
Career opportunities include, but are not limited to: systems programmer, software designer, computer researcher, software engineer, software tester, systems administrator, security systems designer, database programmer, consultant, technical product support personnel, and educator.