Franklin & Marshall College Franklin & Marshall College

    • spinning drive 320x120
    • boards on ipad case 320x120
    • new casings 320x120

Courses Offered
Computer Science

A list of regularly offered courses follows. Please note the key for the following abbreviations: (A) Arts; (H) Humanities; (S) Social Sciences; (N) Natural Sciences with Laboratory; (LS) Language Studies requirement; (NSP) Natural Science in Perspective; (NW) Non-Western Cultures requirement.

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. Offered every Fall. Antonucci, Talvitie, Weaver

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. Prerequisite: CPS 111 (formerly CPS 170 or 150) or permission of the instructor. Offered every Spring. Staff

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. Prerequisite: CPS 112 and MAT 109. Offered every Fall. Talvitie

237. Discrete Mathematics.

Basic set theory, basic proof techniques, combinatorics (the theory of counting), and graph theory with related algorithms. Prerequisite: MAT 109. Offered every Fall. Same as MAT 237. Hu

261. Algorithms.

Trees, graphs and networks; further analysis of algorithms and their efficiency. Prerequisite: CPS 112 (formerly CPS 270 or 260), CPS/MAT 237. A. Weaver

270279. Topics in Computer Science.

Intermediate level courses.

291. Directed Reading.

Reading directed by the Computer Science staff. Permission of chairperson.

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. Prerequisites: CPS 112, CPS/MAT 237. Talvitie

338. Computational Mathematics.

Numerical analysis as implemented on computers. Polynomial and rational approximations, numerical differentiation and integration, systems of linear equations, matrix inversion, eigenvalues, first and second order differential equations. Prerequisites: CPS 111, MAT 229. Same as MAT 338. C. Weaver

363. Introduction to Bioinformatics.

An introduction to the field of bioinformatics, addressing some of the important biology and computer science concepts related to it, with a focus on the computational aspects. Topics include a molecular biology primer, biological sequence alignments and analysis, gene mutation patterns, phylogenic tree and construction algorithms, protein structures and functions, proteomics, application of basic machine learning algorithms, and other commonly used bioinformatics tools and resources. Prerequisites: Advanced Data Structures or CPS 222 or CPS 261. Hu

370379. Topics in Computer Science.

Study of specialized areas of Computer Science. 

390. Independent Study.

Independent study directed by Computer Science staff. Permission of chairperson.

391. Directed Reading.

Reading directed by the Computer Science staff. Permission of chairperson.

490. Independent Study.

Independent study directed by Computer Science staff. Permission of chairperson.

491. Directed Reading.

Reading directed by the Computer Science staff. Permission of chairperson.

TOPICS COURSES EXPECTED TO BE OFFERED IN 2014 – 2015

Elementary Bioinformatics.

Artificial Intelligence.