- Prof. Dancy's Site - Course Site - Course Google Classroom

CSCI 204 (Data Structures & Algorithms) Section 02 Fall 2019 Syllabus

Prof. Chris Dancy
Office: Dana 340
Phone: 570.577.1907
Office Hours: M 2-3:30pm, Th 2-3:30pm - My calendar
Tentative Course Schedule - Check here periodically for changes

Type Professor Location/Time
Lecture Prof. Alex Fuchsberger (Section 01) MWF 10-10:52am, Dana 115
Lecture Prof. Chris Dancy (Section 02) MWF 1-1:52pm, ACET 116
Lecture Prof. Edward Talmage (Section 03) MWF 3-3:52pm, Dana 137
Lab Prof. Alex Fuchsberger (Section 60) Th 1-2:52pm, DANA 213
Lab Prof. Chris Dancy (Section 61) Th 10-11:52, ACET 116
Lab Prof. Edward Talmage (Section 62) Th 3-4:52, DANA 213

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 Outcomes

  1. Students will be able to explain and use fundamental data structures, data types, and programming techniques
  2. Students will be able to explain and use introductory algorithm analysis techniques
  3. Students will be able to design, implement, and test programs for problems using algorithms and data structures.

Course reading materials

Locations for Course Information

Academic Responsibility

Bucknell University Honor Code

As a student and citizen of the Bucknell University community:

  1. I will not lie, cheat or steal in my academic endeavors.
  2. I will forthrightly oppose each and every instance of academic dishonesty.
  3. I will let my conscience guide my decision to communicate directly with any person or persons I believe to have been dishonest in academic work.
  4. I will let my conscience guide my decision on reporting breaches of academic integrity to the appropriate faculty or deans.

Class Engagement and Work

Category Weight
Projects 33%
Engagement 10%
Quizzes 10%
Labs 15%
Midterm 12%
Final Exam 20%

Projects (33%)

There will be three major programming projects during the semester, each broken into multiple phases. Each phase is due by 11:55 PM on the due date. Late projects will receive a 10% penalty each day they are overdue. You get 3 free late days to use on projects as you see fit. You do not have to inform me when you are using a late day. I will assume it when your work comes in late.

Unless specified otherwise, you are allowed to work with a partner on any project. However, you cannot work with the same partner on more than one project. While you can discuss strategies for completing the assignment with anyone in class, you may only share the details of your code with TAs, professors, and your partner.


Engagement (journals, in-class participation, and take-home assignments) (10%)

This section will incorporate a diverse set of activities both in and out of the classroom. Throughout the semester, we will use in-class group work to enhance the lecture material (for example, situating theoretical concepts in industrial scenarios). In addition, you will occasionally be given short practice problems to complete before the following lecture. Finally, it is possible that small quizzes will be given on material that I find to be the most essential. There will be no make-ups of any material that contributes towards the engagement grade, however there may be opportunities for extra credit through attending certain community academic events and/or lectures.

Levels of collaboration will be specified in class. Warm-ups, or take-home exercises, should be done on your own.


Quizzes (10%)

In-class quizzes will be given. These quizzes will be given at my discretion and I will likely not give warning of which days we will have a quiz (i.e., most will be pop-quizzes!)

Quizzes generally cannot be made up.


Exams (32%)

There will be one one-hour midterm during the semester and a final exam at the end. In general, I structure my exams so that they emphasize conceptual material, but still have coding requirements. If necessary, an in-exam study sheet will be provided by the me approximately 2 class sessions before the exam.


Labs (15%)

Lab attendance is mandatory. You should be able to finish them within roughly 4 hours. Labs are always due the following Monday by 11:55 PM and will be graded on a 0 to 10 scale. If you do not attend the lab, your maximum grade on the lab is an 8. Late labs are not accepted. The lowest lab grade will be dropped at the end of the semester.

You may discuss the lab with anyone else in CSCI 204. You can even show your code briefly to other students. However, all code should be written on your own.


Emergencies, Special Circumstances, etc.

Emergencies happen. If one occurs, please contact your Dean as soon as possible. I am likely to give extensions or excused absences if you contact me before things are due. Please note that you should follow the school's policy for sports trip. If necessary, I can give you an assignment early or send an exam with you on the trip.

Special Accommodations

If you have a disability that may have some impact on your work in this class and for which you may require accommodations, please feel free to talk to me as well as submit the Disability Accommodation Request Form or contact the Office of Accessibility Resources at OAR@bucknell.edu, 570-577-1188 or in room 107 Carnegie Building so that such accommodations may be arranged. Bucknell University will make reasonable accommodations for persons with disabilities. Students should notify their instructor as well as submit the Disability Accommodation Request Form or contact the Office of Accessibility Resources at OAR@bucknell.edu, 570-577-1188 or in room 107 Carnegie Building so that such accommodations may be arranged.

Non-Student Circumstances

I recognize that the college experience can sometimes be overwhelming and stressful trying to balance your academic pursuits with your non-academic life and interests. If you feel that things are getting overwhelming, please seek help. I am happy to talk to you and point you to a resource on campus that can work with you to get the help you need. If you feel comfortable, please reach out to us. If not, I do advise that you do get help. The Division of Student Affairs is the best starting point. You can find more information on their website: https://www.bucknell.edu/StudentAffairs

Basic Needs Security

Any student who has difficulty affording groceries or accessing sufficient and nutritious food to eat every day, or who lacks a safe and stable place to live, and believes it is affecting their learning, is urged to contact the Dean of Students for support. Furthermore, I encourage you to notify me of this as well - I will keep all such information confidential. This will enable me to provide any resources that I may possess and identify other resources in the University.

Important Disclaimer

The instructor promises the best effort in adhering to the above rules but reserve the right to change them if deemed necessary. For instance, slight alterations to the course schedule are possible if the class needs more/less time for a certain topic; additional readings may be assigned during the semester as needed; and so on. Updates will be announced in class and by email, posted on course webpage and on Google Classroom. Check your Bucknell email and Google Classroom at least daily.