COSC 2010/2100 Data Structures

Fall 2014

Course Syllabus: Meetings
Office Hours
Dennis Brylow
Email: brylow at mscs dot mu dot edu
Office: Cudahy 380

Ryan Osterberg
Email: osterber at elmbrookschools dot org

Rong Ge (Sections 2010-101 and 2100-101.)
Email: rong dot ge at marquette dot edu

Mon/Wed 2:00pm - 3:15pm, CU 412
Mon/Wed 2:00pm - 3:15pm, online

Office Hours
Mon/Wed 12:00pm - 1:00pm
Mon 9:00pm - 10:00pm
Fri 2:00pm - 3:00pm @ BCHS
MSCS Department Logo


Textbook Cover

Object-Oriented Data Structures Using Java.
Nell Dale, Daniel T. Joyce, and Chip Weems.
Jones & Bartlett, 2012.
Third edition, ISBN No: 978-1-4496-1354-9

Readings will be regularly assigned from the textbook.

Lectures will assume that students have already read the assigned chapters, and periodic reading quizzes will be assigned in D2L.

Course Outcomes

This is a course on classical algorithms and data structures, with an emphasis on problem solving and implementation in modern programming environments.

Upon completing this course, students will be able to:

For those of you interested in curriculum details, this course will correspond to the following components in the Joint ACM / IEEE Computer Society Taskforce report, Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science:

Knowledge Unit Hours
Algorithms and Complexity (AL) 16
Discrete Structures (DS) 4
Parallel and Distributed Computing (PD) 2
Software Development Fundamentals (SDF) 17

Course Policies


Student grades will be assigned based on evaluation of the following:

  • (50%) Weekly Assignments; (Some will stretch across multiple weeks, and some will be team-based. A small number may be written work instead of programming.)
  • (10%) Reading Quizzes on the textbook content;
  • (20%) Midterm Exams (10% each) on the textbook and lecture content; and
  • (20%) Comprehensive Final Exam on the textbook, lecture and project content.
  • Grades will be assigned using the standard 10-point formula: A (90%), B (80%), C (70%), D (60%), etc.
    At the instructor's discretion, grades may be "curved" up; grades will not be curved down.

    Grades will be routinely posted in the gradebook on the course D2L site, as they become available.


    Student attendance will not be explicitly tracked in this course, and will not directly impact student grades. However, students who routinely miss class discussions or lectures should expect to be unprepared to complete the assignments and exams upon which grades so heavily depend. In short, I don't bother with attendance bean-counting because students who cut class usually fail themselves out of the course before I would need to take any action. Make good decisions.

    If you know you will be missing class for a legitimate reason, I appreciate a heads-up, but in accordance with Marquette University Attendance Policies, I neither require nor accept documented excuses. Please have a peer in the class take notes in your absence, and get any assignments in ahead of the deadline.

    The size and structure of this course will not normally allow me to accept late work under any circumstances. There are enough opportunities for points in the course for most students to miss a few without severe consequences for their grades.

    Academic Integrity

    All students are expected to abide by Marquette University's Policy on Academic Integrity, and we will proceed under the assumption that everyone has committed themselves to the University's Honor Pledge:

    I recognize the importance of personal integrity in all aspects of life and work. I commit myself to truthfulness, honor, and responsibility, by which I earn the respect of others. I support the development of good character, and commit myself to uphold the highest standards of academic integrity as an important aspect of personal integrity. My commitment obliges me to conduct myself according to the Marquette University Honor Code.

    The Honor Code has particular implications for computer scientists and engineers, as well as computing professors, whose course work is so readily duplicated and shared in our modern digital world.

    For my part, I will strive to ensure that your assignments and exams are engaging, challenging, and worth your investment in time and energy. For your part, I expect you will work hard, strive to learn, and present your work with honesty and integrity.

    There will be many opportunities for you to collaborate with your peers in this course, and I strongly encourage you both to seek help when you are stuck, and to share your knowdledge with your peers when you have achieved understanding. Problems will only occur if you falsely claim work as your own when it is not, or collaborate when an exam or assignment has been specified to be individual work.

    In the unlikely event of an academic integrity violation in this course, Marquette University's Procedures For Incidents of Academic Dishonesty will be closely followed.


    Week Topics Readings Assignments
    01 Getting Organized, Big O Ch 1 Warming Up: Magnetic Chameleon
    02 Abstract Data Types Ch 2 Written assignment: Big O
    03 Stacks Ch 3 Stacks
    04 Recursion Ch 4 Recursion
    05 Queues Ch 5
    06 Midterm Exam 1: Chapters 1-4 Queues
    07 Lists Ch 6
    08 More Lists
    October Break
    Ch 7 Lists
    09 Binary Search Trees Ch 8
    10 Priority Queues, Heaps, Graphs Ch 9 Trees
    11 Midterm Exam 2: Chapters 5-8
    12 Searching and Sorting Ch 10 Graphs
    13 More Graphs Sorting and Searching
    14 Advanced Topics
    Thanksgiving Break
    15 Final Projects Final Projects
    16 Final Exam: Chapters 1-10
    The instructor reserves the right to adjust this schedule as necessary.

    [Revised 2014 Aug 25 12:08 DWB]