Computer Science B.A., B.S.
Program Goals
After completing this program, students should:
- be able to function professionally as computer scientists and software engineers.
- be able to communicate using oral, written, or electronic media, and have the teamwork and leadership skills needed to recognize, isolate, and solve system implementation problems.
- be committed and open to continuous learning, new ideas, and be able to bring them to bear to help others.
- have developed critical thinking and problem-solving skills.
- be prepared for graduate studies in Computer Science and related disciplines.
- have a sense of ethical behavior and respect for diversity.
Learning Objectives
After completing this program, students should:
- have effective programming, program debugging, and program testing skills
- be proficient in at least two programming languages and be able to select the best language for a particular problem
- be proficient in the use of at least one modern software development environment and modern tools for software design
- have mastered a variety of different kinds of algorithms and their relative performance
- be knowledgeable in common data structures and their relative efficiencies
- be proficient in both implementing data structures and the use of standard libraries of data structures
- know the discrete mathematical foundations of Computer Science
- be proficient in applying mathematics concepts from calculus and probability and statistics to software system development and Computer Science research
- have an understanding of systems programming, operating systems, and system architectures, including networks and distributed systems
- know applications, including Databases, Computer Graphics and Web technologies
- be able to generalize and analyze ideas
- be able to synthesize ideas
- be able to communicate ideas in writing clearly and effectively
- be able to communicate ideas verbally clearly and effectively
- be able to handle unfamiliar concepts and situations
- be able to apply disciplined thinking techniques to new settings
- be able to approach situations with multiple perspectives
