Prof. Dancy's Site

Bucknell CSCI 204 Section 02 - Data Structures & Algorithms, Fall 2020

Introduction to data structures and algorithms using an object-oriented approach

Prof. Christopher L. Dancy
Office: Dana 340 (but we're remote!)
Phone: 570.577.1907
Office Hours: (Starting 28-September) Mon 1-2:30pm, Thurs 1-2:30pm, and By appt. - My calendar

The full syllabus can be found here

A tentative course schedule can be found here

Course Overview

Consider all of the tweets on Twitter or all of the status messages on Facebook. If someone asked you to design a method to search or sort every tweet or message ever sent, how would you begin to think about such a problem? How about if someone asked you to design a program to serve as memory for a virtual agent in Minecraft? How do you know the difference between an approach that takes 200 milliseconds and 200 years to run the primary operations? How would you organize the data in a way that helps you meet your goals? How do you even know where to start?

In this course, we will give you the tools to answer these questions. We will study the organization of data and learn how to analyze the impact of algorithms not only in our own programs, but in programs that must handle thousands, millions, or billions of data points. We will learn about the following topics:

Course Assignments:

Stack exercise #1 Due: 30-September @8am
Stack exercise #2 Due: 02-October @8am
Queue exercise #1 Due: October before class
Queue exercise #2 Due: 12-October @8am
CS & Society Exercise Due: 21-October (Powerpoint/presentation files), Presentations on 23-October during class
Tree exercise #1 Due: 29-October @10pm
Other course exercises will be on repl.it

Course Projects:

Project 1 Phase 1 Due: 09-September, Phase 2 Due: 18-September
Project 2 Phase 1 Due: 25-September @10pm, Phase 2 Due: 02-October @10pm, Phase 3 Due: 09-October @10pm, Phase 4 Due: 16-October @10pm, Phase 5 Due: 28-October
Project 3 Phase 1 Due: 09-Nov, Phase 2 Due: 16-Nov, Phase 3 Due 07-Dec