CofC Logo

Computer Science B.S.

Major in Computer Science - Bachelor of Science

The Bachelor of Science in Computer Science prepares the student for either graduate study or a professional career. It is the flagship major with equal parts of theory and practice. This major is also accredited by the Accreditation Board for Engineering and Technology (ABET). 

Program Educational Objectives: 
The overall educational objective of the Computer Science B.S. program is to produce graduates who will have impactful lives as emerging professionals in the computer science discipline. We also cultivate the following educational objectives:
  1. Understanding of the fundamental principles and techniques of computer science, mathematics, and scientific inquiry. Also, apply these principles to solving real-world problems appropriate to the discipline.
  2. Familiarity with current and widely accepted computing practices in the industry. Also, use these practices to apply high-quality, computer-based solutions to real world problems involving emerging technologies.
  3. Ability to communicate and collaborate effectively with others, both orally and in written form.
  4. Gain an appreciation for the need to extended knowledge through both self-directed learning and more formal continuing education opportunities.
  5. Gain an appreciation for ethical, societal, and global issues associated with the computing field.

Student Outcomes:
The program enables students to achieve the following by the time of graduation:

  1. An ability to apply knowledge of computing and mathematics appropriate to the discipline
  2. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  3. An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
  4. An ability to function effectively on teams to accomplish a common goal
  5. An understanding of professional, ethical, legal, security, and social issues and responsibilities
  6. An ability to communicate effectively with a range of audiences
  7. An ability to analyze the local and global impact of computing on individuals, organizations, and society
  8. Recognition of the need for, and an ability to engage in, continuing professional development
  9. An ability to use current techniques, skills, and tools necessary for computing practices
  10. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
  11. An ability to apply design and development principles in the construction of software systems of varying complexity

Pothering teaching class