CSCI 255

Introduction to algorithms & Discrete Structures

****Major Requirement
(for B.A. and B.S.)****

**Course Description:**

An introduction to
the design and analysis of algorithms along with some of the discrete mathematical
structures that are fundamental to the field of Computer Science. This course builds
on the data structures topics from CSCI 235 by exploring efficient ways of using
them to solve problems. Algorithm analysis topics include best, worst, and average
case analysis of iterative and recursive algorithms; asymptotic notation; and solving
recurrence relations. Algorithm design techniques include brute force, greedy, divideand-conquer, dynamic programming, and space/time tradeoff. Discrete structures topics include propositional logic, proof techniques (especially induction), sets, matrices,
sequences and summations, and basic combinatorics

**Offerings:**

Fall

**Instructor:**

This course is usually taught by Dr. Cusack or Dr. DeJongh.

**Prerequisites:**

CSCI 235

**Comments
from Previous Students:**

- "In a short period of time I learned and understood a great deal of material that will be essential for my future in computer science instead of just memorizing information."
- "I learned how to think logically and was prepared for the next course of computer organization."
- "The material taught in this course was applicable to my life."
- "The course material was interesting and made me think."
- "I learned a new way of thinking in here."