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