Franklin & Marshall CollegeWebsiteAcademic Catalog
Computer ScienceDepartment Website
BA Degree in Computer Sciencesource 1source 2
CS Courses
- Computer Science ICPS 111 (1)introCPS 111: Computer Science I
Introduces basic concepts in computer science and computational problem solving through the design of algorithms and computational processes, modularization, and abstraction. Also introduces the processes of programming and software development as a means to put solutions into practice. Has a required lab, but does not satisfy the 'Natural Science with Laboratory' requirement.
- Computer Science IICPS 112 (1)introCPS 112: Computer Science II
A second course in computer science and computational thinking, focusing on data structures and advanced programming. Topics include implementation and applications of data structures such as stacks, queues, linked lists, trees and graphs. Also introduces performance analysis of algorithms. Has a required lab, but does not satisfy the 'Natural Science with Laboratory' requirement.
- Computer Science IIICPS 222 (1)algsCPS 222: Computer Science III
This course will prepare students for advanced computer science courses. Using a production-level programming language as a tool, students will implement advanced data structures and algorithms. Students will also study advanced programming concepts and strategies for algorithm development and analysis. Through programming projects, students will explore complex tree structures, graph algorithms, greedy algorithms, dynamic programming, divide-and-conquer algorithms, and parallelism/concurrency.
- Computer OrganizationCPS 242 (1)sysCPS 242: Computer Organization
This course covers the basic instruction set, architecture, and organization of a modern computer. Fundamentals of translating higher-level languages into assembly language, and interpretation of machine languages by hardware are studied. A model of computer hardware organization is developed from the gate level upward. Topics include logic circuits, micro-architectures and microprogramming, machine architectures, and software-hardware interface issues.
- Theoretical Foundations of Computer ScienceCPS 337 (1)theoryCPS 337: Theoretical Foundations of Computer Science
An introduction to the theoretical models used to understand the capabilities and fundamental limitations of computational devices. Topics include formal languages, automata, grammars, computability, reductions, and complexity.
Math/Stat Courses
- Probability and Statistics IorMAT 216 (1)mathMAT 216: Probability and Statistics I
Introduction to single variable probability and statistics. Random variables. Binomial, geometric, Poisson, exponential and gamma distributions, among others. Counting techniques. Estimation and hypothesis tests on a single parameter.
Linear Algebra and Differential EquationsMAT 229 (1)mathMAT 229: Linear Algebra and Differential EquationsSystems of linear equations and matrices, vector spaces, linear transformations, determinants, eigenvalues and eigenvectors, nth order linear differential equations, systems of first order differential equations.
Science Courses
Other Courses
- 8 × Free Elective
Our Program
By the time you graduate, you will be able to demonstrate:
- Computational thinking and problem solving.
- The ability to communicate technical information to experts and non-experts alike.
- Problem-solving skills and the ability to think critically across disciplines (such as biology, business, and mathematics).
- The ability to work individually and in teams, building on the work of others.
- Understanding of new developments in the field of computer science as they arise.
- The ability to communicate observations and discoveries orally and in writing.
- Advanced programming skills in a variety of programming languages.
History of the Major
2023 | |
2022 | |
2021 | |
2020 |