Faculty Profile

Matt Ferland

(he/him/his)Assistant Professor of Computer Science (2024)

Contact Information

ferlandm@dickinson.edu

Tome Scientific Building Room 246
717-254-8226

Education

  • B.S., Plymouth State University, 2018
  • M.S., University of Southern California, 2022
  • Ph.D., 2024

2024-2025 Academic Year

Fall 2024

COMP 130 Introduction to Computing
An introduction to computer science as a scientific discipline. The key elements of computer programming will be introduced, using the Python programming language. This leads to techniques for solving problems and conducting scientific investigations via computation. Core topics include: programming constructs such as conditionals, loops, functions, and parameters; data structures such as arrays and dictionaries; libraries and objects; algorithmic techniques such as recursion; and software engineering techniques such as testing and debugging. Additional topics include social, legal and ethical issues raised by computing and computing for the greater good.Students may not take this course for credit if they have already received credit for COMP 132 or COMP 232.

COMP 332 Analysis of Algorithms
A study of algorithmic approaches to problem-solving and techniques for analyzing and comparing algorithms. Algorithm design strategies such as divide-and-conquer, dynamic programming, and backtracking will be explored in conjunction with problems that they solve and the data structures that they use (e.g. graphs). Topics in computational complexity include formal use of upper, lower and tight asymptotic bounds, analysis of recursive algorithms and lower bound arguments.Prerequisite: 232, MATH 211. Offered every fall.

Spring 2025

COMP 130 Introduction to Computing
An introduction to computer science as a scientific discipline. The key elements of computer programming will be introduced, using the Python programming language. This leads to techniques for solving problems and conducting scientific investigations via computation. Core topics include: programming constructs such as conditionals, loops, functions, and parameters; data structures such as arrays and dictionaries; libraries and objects; algorithmic techniques such as recursion; and software engineering techniques such as testing and debugging. Additional topics include social, legal and ethical issues raised by computing and computing for the greater good.Students may not take this course for credit if they have already received credit for COMP 132 or COMP 232.

COMP 314 Computability and Complexity
Cross-listed with MATH 314-01.

MATH 314 Computability and Complexity
Cross-listed with COMP 314-01.