Computer Science

Division II Chair: N. Gift


Program Chair: M. Nakazawa


Faculty: L. Gratton, D. Guggenheim, S. Heggen, M. Jadud, M. Nakazawa, J. Pearce




Courses: CSC Courses


Major/Minor Requirements: 

Computer and Information Science B.A.; 
Computer and Information Science with a Computational Mathematics Concentration;
Computer and Information Science with a Concentration in Computer Science;

Computer and Information Science with a Concentration in Information Systems; 
Computer Science Minor


Computer and Information Science

Computer scientists at Berea College have fun challenging themselves with innovative, forward-looking work that creatively addresses societal needs. Students studying computer science at Berea explore abstract concepts and practical skills, applying both in service to the greater community. Students engage in internships, research, and opportunities outside the classroom that deepen their appreciation of the transformational capacity of computation, and the program invites graduates and leaders in the field to share their experiences, further emphasizing the importance of understanding computer science in the context of social good.

Computers and information systems continue to challenge our understanding of how technology can be used wisely. The Computer Science Program places an emphasis on critical technical skills such as web site design, database management, open hardware and software systems, and general computational proficiency that apply to an ever-widening variety of careers. Additionally, emphasis is placed on the essential skills of clear communication and critical thinking in hands-on, collaborative environments. Thus, computer scientists graduating from Berea College are prepared to lead in a technologically integrated world in arenas as diverse as business, non-profits, government, or education.

Students majoring in Computer and Information Science may select among three concentrations: a general concentration, a computer science concentration, and a computational mathematics concentration, while students majoring in another discipline may select a computer science minor.

The major in Computer and Information Science is intended to be appropriate for students interested in acquiring skill with computer applications, computer programming, computer hardware, and software-related tools designed for use in the physical, social, or life sciences.

Computer scientists design and develop all types of software from systems infrastructure to application technologies. The optional major concentration in Computational Mathematics is recommended for students interested in computational science, computer vision, graphics or other highly mathematical areas of the discipline. The optional Computer Science concentration is recommended for students who are interested in pursuing graduate study in computer science, software engineering, mobile robotics, or other related fields, or for students interested in employment that requires deep understanding of computer operating systems and/or algorithms.

A Computer Science minor is recommended for students who wish to supplement a major in another discipline or to enhance their potential employment opportunities. The curriculum of the Computer Science minor seeks to augment the student’s major and General Education courses by developing technically adept graduates who are prepared for a range of modern careers that require computational skills.

Students who complete the major in Computer and Information Science are ineligible for the minor in Computer Science. Those students who wish to pursue more in-depth study focusing on Computer Science should consider the optional major concentration in Computer Science instead.

In addition to supporting students' achievement of the Aims of General Education, the Computer Science Program seeks to assist students in meeting the following learning goals and associated learning outcomes: 

Computer Science Student Learning Goals & Outcomes

Learning Goal 1: Formulating, Analyzing, Decomposing, and Solving Problems Computationally.

Learning Outcome 1.1: Problem Solving and Design

Show innovation and creativity in their approach to problem-solving and design.

Learning Outcome 1.2: Identification of Computational Tasks

Identify computational tasks for which the methods of computer science are well-suited.

Learning Outcome 1.3: Algorithmic Solution

Analyze and decompose novel problems into components appropriate to the design of an algorithmic solution.

Learning Outcome 1.4: Utilization of Computer Platforms.

Design, implement, test, and debug computational solutions utilizing different computer platforms.

Learning Outcome 1.5: Application of Designs

Apply software design and development process to novel situations.

Learning Goal 2: Understand Theory and Application.

Learning Outcome 2.1: ACM Fundamentals

Articulate and apply fundamental concepts and theories of the discipline of computer science as specified by professional organizations such as the Association for Computing Machinery (ACM).

Learning Outcome 2.2: Knowledge of C or C++

Demonstrate facility with one widely used programming language and at least two other languages, at least one of which is a systems language such as C or C++.

Learning Outcome 2.3: Application of Algorithm and Computational Complexity

Apply theoretical and mathematical foundations of computer science, such as algorithm efficiency and computational complexity.

Learning Outcome 2.4: Relationship between Computer Architecture and Software

Demonstrate knowledge of the relationship between computer architectures and software systems or operating systems, the software that manages computer hardware resources and provides common services for computer programs.

Learning Outcome 2.5: Apply Principles of Design

Employ principles of design to at least one important area of application.

Learning Goal 3: Communication and Collaboration Skills

Learning Outcome 3.1: General Audience

Communicate complex technical ideas simply to a non-technical audience.

Learning Outcome 3.3: Technical Writing Skills

Write technical documents that describe the specification, design, and implementation of computational projects.

Learning Outcome 3.2: Technical Proficiency

Demonstrate technical depth in explaining systems to an expert audience.

Learning Goal 4: Express Potentiality.

Learning Outcome 4.1: Develop Computer Science Strategies

Develop strategies for continued learning in computer science in a rapidly changing discipline.

Learning Outcome 4.2: Handling Technical Materials

Read and assimilate technical material independently from textbooks, articles, and other level-appropriate sources.

Learning Outcome 4.3: Contribute Positively to Society

Consider the ethical and social impacts of technology to become positive contributors to society.

Learning Outcome 4.4: Pursue Advanced Studies

Be prepared to pursue advanced studies in the field and/or to assume professional responsibilities.

Please be aware that the table below represents current planning and is subject to change based on faculty availability and student interest.  It is not meant to represent any guarantee to the student that the courses will be offered in the term in which they are currently planned.


Course Fall 16 Spring 17 Fall 17 Spring 18 Fall 18 Spring 19 Fall 19 Spring 20
CSC 111 X   X   X   X  
CSC 114 (BUS) Schedule determined BUS              
CSC 121 X
  X   X   X
CSC 124   X   X   X   X
CSC 126 X   X   X   X  
CSC 221 (BUS) Schedule determined BUS              
CSC 226   X   X   X   X
CSC 236 X   X   X   X  
CSC 303 X       X      
CSC 328 (BUS) Schedule determined BUS              
CSC 330  X   X       X  
CSC 335     X       X  
CSC 336 (BUS) Schedule determined BUS              
CSC 350 X       X      
CSC 410       X       X
CSC 412   X       X    
CSC 420   X       X    
CSC 425       X       X
CSC 433 (MAT)       X       X
CSC 440   X       X    
CSC 493 X   X   X   X