Computer Science

Division II Chair: J. Pearce


Program Chair: M. Nakazawa


Faculty: L. Gratton, 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 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: 

Learning Goal 1: Students think critically and creatively to solve local or global problems. In particular, successful students should be adept at formulating, analyzing, decomposing, and solving problems computationally. They have internalized the software design and development process, and it has become a “habit of mind” which they can apply in new situations.

Learning Outcome 1.1: Show innovation and creativity in their approach to problem-solving and design.

Learning Outcome 1.2: Identify tasks that are well-suited to be solved computationally.

Learning Outcome 1.3: Apply software design and development process to novel situations.

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

Learning Outcome 1.5: Implement reasonably efficient computational solutions.

Learning Outcome 1.6: Implement, test, and debug computational solutions utilizing different computer platforms.

Learning Goal 2: Students are ready to be successful practitioners in both applied and theoretical areas. Namely, they understand the fundamental concepts and theories of the discipline of computer science as specified by professional organizations such as the Association for Computing Machinery (ACM) and can apply them.

Learning Outcome 2.1: Employ in-depth principles of design to at least one important area of application.

Learning Outcome 2.2: 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: Articulate and apply theoretical and mathematical foundations of computer science, such as algorithm efficiency and computational complexity.

Learning Outcome 2.4: 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 Goal 3: Appreciate the importance of effective communication and collaboration with both technical and non-technical constituents.

Learning Outcome 3.1: Demonstrate ability to work effectively individually, in pairs, small groups, and larger teams.

Learning Outcome 3.2: Communicate effectively in a range of media with audiences whose background range from technical to non-technical.

Learning Outcome 3.3: Write understandable technical documents that describe the specification, design, and implementation of computational projects.

Learning Outcome 3.4: Effectively elicit technical requirements from clients.

Learning Goal 4: Express potential for lifelong learning and good citizenry. 

Learning Outcome 4.1: Develop strategies for continued learning in computer science in a rapidly changing discipline.

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

Learning Outcome 4.3: Consider the ethical and social impacts of technology to become positive contributors to society.

Learning Outcome 4.4: 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.


CourseFall 14Spr 15Fall 15Spr 16Fall 16Spr 17
CSC 111X X X 
CSC 114 X   X
CSC 124 X X X
CSC 126X X X 
CSC 226 X X X
CSC 236X X X 
CSC 303 X  X 
CSC 330  X   
CSC 335X   X 
CSC 350X   X 
CSC 395      
CSC 410   X  
CSC 412 X   X
CSC 420 X   X
CSC 425   X  
CSC 433   X  
CSC 440  X  X
CSC 493X X X