Mar 05, 2024
Professors: Chartier, Heyer, Molinek
Associate Professor: Ramanujan, Yerger (Chair)
Assistant Professors: Kabala, M. Kuchera, Mendes, Peck, H. Smith, Wiedenbeck, Zhuang
Visiting Assistant Professor: Miazi, Pulaj, Troyka
Adjunct Assistant Professor: Seminario
Major in Computer Science (B.S. Degree)
- Introductory programming - satisfied by:
- MAT 111 or MAT 112 (or AP/IB credit for Calculus I)
Requirements of the Major:
A major in Computer Science consists of 10 courses: 9 computer science courses (four core courses and five electives) and one mathematics course. Of the five electives, at least one must come from Systems and at least one must come from Applications. The other three electives are unrestricted. CSC/MAT 220 and CSC 221 should be completed before spring of the junior year.
- Mathematics Course:
- Core Courses:
Special topics seminars may be offered on occasion that would fall under the Applications (CSC 381), Systems (CSC 382), Theory (CSC 383) or Other (CSC 383) category of electives. These courses are eligibile electives in the major or minor.
Independent studies include options in Applications (CSC 391 or CSC 491 ), Systems (CSC 392 or CSC 492 ), Theory (CSC 393 or CSC 493 ), or Other (CSC 394 or CSC 494 ), all of which are eligible electives in the major or minor. CSC 390 is an Independent Study that does not count for major or minor credit.
Graduate Studies in Computer Science
Students considering graduate school in computer science should include MAT 150 and MAT 324 in their coursework, and seek opportunities to engage in research and compete in programming contests. The Graduate Record Examination should be taken during the fall semester of the senior year.
Honors in Computer Science
The Mathematics and Computer Science Department grants honors to graduating students with outstanding records of accomplishment in computer science, as demonstrated in three areas: breadth and depth of curriculum, quality of academic performance, and significance of a scholarly thesis project. Breadth and depth of curriculum are achieved by taking MAT 150, two major-eligible electives in the Applications category, two in the Systems category, one in the Theory category, and one more in either the Theory or Other category.
All candidates for honors must prepare an honors thesis and defend the thesis orally before faculty in the department. Candidates must attain a grade point average of at least 3.2 overall and at least 3.5 on all courses that fulfill either the requirements of the Computer Science major or the course requirements for honors noted above. The final recommendation of the Department for graduation with honors is determined by the quality of the candidate’s complete academic record, thesis, and defense. At the Department’s discretion, in the case of an exceptional academic record, together with a thesis of the highest quality incorporating original mathematical or computational methods, the Department confers high honors.
The Department recommends that students interested in an honors program notify their academic advisers and the chair of the department during the spring semester of the sophomore year, or as soon as possible thereafter. During the junior year, such a student should identify an area of computer science for exploration and seek out a member of the department to serve as a potential honors supervisor. Formal declaration of pursuit of honors is recommended by the end of the advising period in the spring of the junior year and is due by the end of the first week of classes of the senior year. See the department chair for the appropriate form and further details on the honors process and requirements.
Computer Science Courses
The 100-level courses are introductory and are open to students with no prior coursework in Computer Science. The 200-level courses are either intermediate courses in fundamental Computer Science, or interdisciplinary introductory programming courses. The 300-level courses cover more advanced fundamental topics in Computer Science, and typically require one or more 200-level courses as prerequisites. The 400-level courses involve advanced topics.