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. The indication of when a course will be offered is based on the best projection of the department and can be subject to change.

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. Every Fall

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. Weaver

112. Computer Science II. Every Spring

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.

222. Computer Science III. Fall 2013

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.

237. Discrete Mathematics. Every Fall

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

261. Algorithms. Spring 2014

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

270 – 279. 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. Fall 2013

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. Fall 2013

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 261. Hu

370 – 379. 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 2013 – 2014

Computer Organization.
Networks.