Bryn Mawr College
CMSC 206: Data Structures
Fall 2017
Course Materials
Prof. Deepak Kumar

Information
Texts  Important Dates  Assignments  Lectures Course Policies Links

General Information

Instructor:

Deepak Kumar
202 Park Science Building
526-7485
dkumar at brynmawr dot edu
http://cs.brynmawr.edu/~dkumar

Lecture Hours: Tuesdays & Thursdays, 9:55a to 11:15a
Office Hours: Wednsedays from 1:00p to 3:00p
Room: Room 336 Park Science Building
Lab: Thursdays 11:25a to 12:45p in Room 231 (Attendance in Lab is REQUIRED)
(additional lab hours will also available, see below).

Laboratories:

Lab Assistants: The following Lab assistants will be available during the week (names and schedules will be posted by the end of this week) for assistance on lab assignments.

  1. Calla Carter
  2. Kellie Dinh
  3. Kennedy Ellison
  4. Sonya Fucci
  5. Ruby Malusa
Time TA Location
Mondays 6-8pm Kennedy Ellison Park 231
Mondays 7-9pm Ruby Malusa Park 231
Mondays 8-10pm Jocelyn Dunkley Park 231
Tuesdays 6-8pm Kellie Dinh Park 231
Tuesdays 7-9pm Sonya Fucci Park 231
Wednesdays 6-8pm Kellie Dinh Park 231
Wednesdays 7-9pm Jocelyn Dunkley Park 231
Thursdays 6-8pm Kennedy Ellison Park 231
Sundays 6-8pm Ruby Malusa Park 231
Sundays 7-9pm Sonya Fucci Park 231


Texts & Software

Data Structures: Abstraction & Design Using Java, 2nd Edition by Elliot B. Koffman & Paul A. Wolfgang, Wiley 2010. Available at the Campus Bookstore for $162.50 (New) or $113.75 (Used). The bookstore also has International Edition of the book at lower prices ($34.00 - Used). Also available at Amazon and its affiliates with choices to rent, buy new, or used.

JDK 7/8 (Java Development Kit) + Eclipse for Java Developers.
This software is installed in the lab computers. You may install it on your own computers. To get JDK, click here (be sure to get the JDK - Java SE Version) and to get Eclipse click here (again, be sure to get Eclipse for Java Developers). Follow the installation instructions provided. There will be no support provided for installations on your personal machines.
http://www.eclipse.org/downloads/

 


Syllabus

Course Description (from the Course Catalog): Introduction to the fundamental algorithms and data structures using Java. Topics include: Object-Oriented programming, program design, fundamental data structures and complexity analysis. In particular, searching, sorting, the design and implementation of linked lists, stacks, queues, trees and hash maps and all corresponding complexity analysis. In addition, students will also become familiar with Java’s built-in data structures and how to use them, and acquire competency in using a professional grade IDE.

Here is what we plan to learn this semester:

 


Important Dates

September 5: First lecture
October 3: Exam 1
November 9: Exam 2
December 14: Exam 3


Assignments

  1. Assignment#1: (Due on Tuesday, September 12): Click here for details.
  2. Assignment#2: (Due on Tuesday, September 26): Click here for details.
  3. Assignment#3: (Due on Thursday, October 12):Click here for details.
  4. Assignment#4: (Due on Thursday, October 26):Click here for details.


Lectures



 


Course Policies

Communication

Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.

As you will discover, I am a proponent of two-way communication and I welcome feedback during the semester about the course. I am available to answer questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps me get to know you. You are welcome to stop by and chat. There are many more exciting topics to talk about that I won't have time to cover in-class.

Please stay in touch with me, particularly if you feel stuck on a topic or assignment and can't figure out how to proceed. Often a quick e-mail, phone call or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments early.

Grading

There will be 6-8 assignments, weighted equally in the final grading (see below).  Assignments must be submitted according to the instructions provided in each assignment.

At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:

Exam 1: 20%
Exam 2: 20%
Exam 3: 20%
Lab Attendance: 10%
Assignments: 30%
Total: 100%

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.

Technology in the classroom

The class meetings/lectures will be a place to learn the concepts that are a part of the syllabus. I will, in the course of a lecture, write code on the board, and/or even do some live coding in class. The objective of this is to illustrate to you how to go about applying the concepts in practice. It is NOT a place for you to open your laptops and start to code with me. In fact, you are encouraged NOT to bring your laptops to class to use them for any purpose. It is distracting to other students. Phone (smart or otherwise) and tablet use during class meetings is also strongly discouraged. Listen, understand, ask questions, and take notes in a notebook if you need to. You will learn more! There will be scheduled class meetings in the lab. I will announce these and this is where you will be doing the coding under my supervision.

The assignments in this course are a place for you to exercise your learning of the concepts and apply them in actual working programs. The best way to get the most of of this course is to try out and code the concepts learned in the class (outside the class!). Do not be afraid to try things! This will improve your understanding and raise questions that you should feel free to bring forward in class. A quick word of advice: stay abreast of the material covered in class, and start your assignments on the day they are announced.

Submission, Late Policy, and Making Up Past Work

All work must be turned in either in hard-copy or electronic submission, depending on the instructions given in the assignment.  E-mail submissions, when permitted, should request a "delivery receipt" to document time and date of submission.  Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance and supported by your Academic Dean.

No assignment will be accepted after it is past due.

No past work can be "made up" after it is due.

No regrade requests will be entertained one week after the graded work is returned in class.

Exams

There will be three exams in this course.  The exams will be closed-book and closed-notes.  The exams will cover material from lectures, homeworks, and assigned readings.

Study Groups

I encourage you to discuss the material and work together to understand it. Here are some thoughts on collaborating with other students:

If you have any questions as to what types of collaborations are allowed, please feel free to ask.


Links


Created on July 28, 2014.