Computer Science

The Department of Mathematics and Computer Science has as its goals:

  • To give all students who take mathematics courses a sense of the nature of mathematics and its place in society;
  • To give our majors and minors an understanding of mathematics and computer science, their nature and uses; to prepare students to become effective users of mathematics and computer science in their careers;
  • To prepare future high school teachers of mathematics;
  • To give our students interested in continuing to graduate study in mathematics, statistics, or computer science an adequate preparation to succeed in that study.

Advanced Placement

  • A student who gets a 4 or 5 on the computer science AP exam receives credit for CSC-111 Intro to Programming after taking another course beyond 111 and getting a grade of B- or better.

Computer Science Major

No major is offered.

Requirements for the Computer Science Minor

The requirements for a minor in computer science are five courses in computer science and a corequisite of one course in mathematics. The computer science courses must include

Core Requirements
CSC-111Intro to Programming1
CSC-121Intro to Add. Program Language0.5
CSC-211Intro Data Structures1
CSC greater than CSC-2111
CSC Elective1.5
Total Credits5
Collateral Requirement
MAT-108Intro to Discrete Structures1
or MAT-219 Combinatorics

Potential computer science minors should consult with one of the department members who teaches computer science and should read the brochure “How to Minor in Mathematics and Computer Science at Wabash College.” Computer Science minors should take CSC-111 Intro to Programming by the fall of the junior year.

Computer Science (CSC)

CSC-101 Intro to Computer Science

An introduction to the field of computer science as the study of algorithmic process. Students will study the history of the field as well as issues currently confronting the computer science community including ethical issues raised by a rapidly changing technology. Students will learn fundamental concepts of computer science such as computer architecture, data representation, and the issues of computability. Students will engage in hands-on algorithm-building activities and some basic programming exercises. This course is offered in the fall semester. Distribution in Natural Science and Mathematics or Quantitative Skills.
Prerequisites: none
Credit: 1
Distribution: Natural Science/Mathematics, Quantitative Skills
Equated Courses: APCR

CSC-111 Intro to Programming

An introduction to programming in a higher-level, general-purpose language (currently Java). Programming topics include primitive data types, simple data types such as arrays, program constructs such as conditionals, loops and procedures, in an object-oriented context. Applications are chosen from areas such as graphics, simulation, and file processing. This course is offered in the fall semester. Distribution in Natural Science and Mathematics or Quantitative skills. (Note: CSC 111 does not count as a laboratory science.)
Prerequisites: CSC-101
Credit: 1
Distribution: Natural Science/Mathematics, Quantitative Skills

CSC-112 Advanced Programming

A variety of topics that are important in developing large-scale software. Object oriented programming in a language such as C++. Dynamic data structures such as lists, queues, and stacks. An introduction to a rigorous analysis of the efficiency of an algorithm. Advanced algorithms such as Quicksort, mergesort, and the use of hash tables. An introduction to using the Unix operating system and Unix tools for software development such as Make. This course is offered is not typically.
Prerequisites: CSC-111
Credit: 1
Distribution: Natural Science/Mathematics

CSC-121 Intro to Add. Program Language

An introduction to one or more additional programming languages. Students will build on their previous knowledge of a programming language to learn one or more additional languages. Languages vary by semester but may include any programming paradigm. For a given semester the course content and other particulars will be announced before registration for that semester. This course may be taken multiple times, for credit for each different language.
Prerequisites: CSC-111 with a grade of C- or better.
Credits: 0.5
Distribution: Natural Science/Mathematics

CSC-171 Special Topics in Comp. Sci.

This course is designed for the treatment of material outside the regular offerings of the department. For a given semester, the course content and other particulars will be announced before registration for that semester. This course is offered irregularly.
Prerequisites: none
Credit: 1
Distribution: Natural Science/Mathematics

CSC-187 Independent Study

Enrollment through Instructor and Department Chair approval.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-188 Independent Study

Enrollment through Instructor and Department Chair approval.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-211 Intro Data Structures

An introduction to more advanced abstract data types such as lists; sets; trees, including balanced trees; and graphs. Algorithms for traversing, searching, determining connectivity, and so forth. An in-depth study of, and analysis of, the algorithms used to implement these structures. This course is offered in the spring semester.
Prerequisites: Prereq CSC-111 with a grade of C- or better.
Credit: 1
Distribution: Natural Science/Mathematics

CSC-271 Special Topics in Comp.Sci.

This course is designed for the treatment of material outside the regular offerings of the department. For a given semester, the course content and other particulars will be announced before registration for that semester. This course is offered irregularly. Refer to the Course Descriptions document on the Registrar's webpage for Topics and Descriptions of current offerings.
Prerequisites: CSC-111 or permission of the instructor.
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-287 Independent Study

Enrollment through Instructor and Department Chair approval.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-288 Independent Study

Enrollment through Instructor and Department Chair approval.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-311 Intro Machine Organ

A study of the various layers at which a machine can be studied, including higher-level languages, assembly language, machine language, and digital circuits. Data representation. A comparison of RISC and CISC architectures. Some programming in a representative assembly language. Issues of cross-language programming. This course is offered irregularly.
Prerequisites: CSC-211
Credit: 1
Distribution: Natural Science/Mathematics

CSC-321 Programming Lang

A study of the paradigms of programming languages, including procedural languages such as Pascal or 'C', object-oriented languages such as C++ or Smalltalk, functional languages such as ML or Scheme, logic-oriented languages such as Prolog, and concurrency such as in Ada. Consideration of how concepts are implemented, such as modules, parameter passing, function evaluation, data types and type checking, memory management, exception handling, and threads. This course is offered irregularly.
Prerequisites: CSC-121
Credit: 1
Distribution: Natural Science/Mathematics

CSC-331 Analysis Algorithms

Advanced topics and problems in analyzing algorithms. Algorithms involving structures such as sequences, sets, and graphs, and topics such as geometric and numeric algorithms. An introduction to the question of P=NP and NP-Complete problems. Parallel algorithms. This course is offered irregularly.
Prerequisites: CSC-211 and MAT-108 or 219
Credit: 1
Distribution: Natural Science/Mathematics

CSC-337 Intro. Numerical Analysis

Advanced-This course will address topics such as numerical solution of non-linear equations in one variable, interpolation, approximation, differentiation, integration, difference equations, differential equations and their applications, boundary value problems, linear systems, matrices, and optimization. This course is offered in the fall semester of even-numbered years.
Prerequisites: CSC-111 and MAT-223
Credit: 1
Distribution: Natural Science/Mathematics

CSC-338 Topics Computational Math

Advanced. A course to develop mathematical and computational techniques in areas of mathematics or interdisciplinary study in which computation plays a central and essential role. Topics vary by semester but may include computational geometry, computer algebra, scientific computing, and symbolic computation. This course is offered in the fall semesters of odd-numbered years.
Prerequisites: CSC-111 and MAT-112
Credit: 1
Distribution: Natural Science/Mathematics

CSC-341 Automata,Computability

An introduction to theoretical computer science. Finite state machines and regular expressions. Context-free languages and push-down automata. Turing machines, effective computability, and the Halting Problem. This course is offered irregularly.
Prerequisites: CSC-111 and MAT 108 or 219
Credit: 1
Distribution: Natural Science/Mathematics

CSC-387 Independent Study

Directed study on special topics for qualified students. May be repeated for credit.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-388 Independent Study

Directed study on special topics for qualified students. May be repeated for credit.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-487 Independent Study

Enrollment through Instructor and Department Chair approval.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-488 Independent Study

Enrollment through Instructor and Department Chair approval.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

CSC-IND Independent Study

Students may enroll in independent study courses for 0.5 or 1 course credit(s), with the approval of a supervising faculty member, the appropriate department/program chair, and the student's advisor. Registration forms for independent study are available in the Registrar's Office.
Prerequisites: none
Credits: 0.5-1
Distribution: Natural Science/Mathematics

Colin McKinney

William Turner (chair)

Chad Westphal