Welcome to COMP 2100 - Data Structures! This website is designed to keep you informed about the schedule, policies, assignments, projects, and other elements of the course.

Meeting Time and Place

Time: MWF 10:20 - 11:15 a.m. (Lecture)
TR 11:30 a.m. - 12:50 p.m. (Lab)
Location: Point 113
Prerequisite: COMP 2000
Corequisite: MATH 1230

Instructor

Name: Dr. Barry Wittman
E-mail: wittman1@otterbein.edu
Office: Art & Communication C123
Phone: (614) 823-2944
Office Hours: MWF 9:00 - 10:15 a.m.
MWF 1:45 - 2:45 p.m. (in C142)
W 4:00 - 5:00 p.m.
TR 10:00 - 11:30 a.m.
TR 2:00 - 4:00 p.m.
and by appointment

Text Book

Robert Sedgewick and Kevin Wayne
Algorithms
4th Edition, 2011, Addison-Wesley Professional
ISBN-10: 032157351X
ISBN-13: 978-0321573513
Available through Amazon here


Course Catalog Description

Introduction to fundamental data structures and computing algorithms within an object-oriented context. Principles of data abstraction and representation are examined. Additional topics include specification, design, use, and implementation of abstractions; recursion; and intuitive analysis of algorithms.

For official course syllabus, please click here.

Student Learning Outcomes

By the end of the course, students will be able to:

  1. Apply knowledge of computing and mathematics appropriate to the discipline, including common data structures and basic algorithms
  2. Analyze a problem and identify and define the computing requirements appropriate to its solution, applying concurrency when applicable
  3. Design, implement, and evaluate a computer-based system, process, component or program to meet desired needs
  4. Function effectively on teams and using software engineering principles to accomplish a common goal
  5. Develop proficiency in many advanced features of Java
  6. Evaluate computational complexity for algorithms and programs
  7. Apply and implement fundamental abstract data types including:
    1. Linked lists
    2. Stacks
    3. Queues
    4. Binary search trees
    5. Multiway trees
    6. Graphs
    7. Hash tables
  8. Explain and apply recursion
  9. Implement and evaluate the relative merits of common sorting and searching methods
  10. Explain a variety of graph problems and related efficiency issues

Program Learning Outcomes

The Computer Science major has a set of 10 Student Learning Outcomes (SLOs). Work in this course contributes to the following SLOs:

  1. Students can methodically solve algorithmic problems in at least one programming language.
  2. Students develop an understanding of the recurring themes of abstraction and computation.
  3. Students are proficient in a software development paradigm.
  4. Students can independently learn and apply new methods and tools.