0% found this document useful (0 votes)
67 views3 pages

63.271: Data Structures Syllabus: Catalog Description

This document provides the syllabus for a Data Structures course covering fundamental concepts like recursion, collections, iterators, and algorithms. Students will implement data structures like linked lists, stacks, queues, trees, graphs and hash tables in Java and complete a significant programming project. The course is rigorous and expects a strong time commitment, providing students with skills in algorithm design, data structure implementation, and analysis of algorithm efficiency.

Uploaded by

Wizzman Last
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views3 pages

63.271: Data Structures Syllabus: Catalog Description

This document provides the syllabus for a Data Structures course covering fundamental concepts like recursion, collections, iterators, and algorithms. Students will implement data structures like linked lists, stacks, queues, trees, graphs and hash tables in Java and complete a significant programming project. The course is rigorous and expects a strong time commitment, providing students with skills in algorithm design, data structure implementation, and analysis of algorithm efficiency.

Uploaded by

Wizzman Last
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

David Keil Framingham State College Fall 2008

63.271: Data Structures


SYLLABUS
fast hash-table structure. We will discuss algorithms
Catalog description to find paths between vertices of a graph, such as
An in-depth presentation of recursion, routes between cities on a map.
collections and iterators, fundamental techniques in Two features of the Java language are support
graphics, and threading. Students implement linked for concurrent threads of control, and support for
lists, stacks, queues, trees, heaps, graphs, hash graphics display. We will introduce multithreaded
tables, and related algorithms. Students implement a and graphical programming via these features.
significant programming project. Much of your work will be on a computer
Prerequisites through programming projects. You will improve
your skills in algorithm design, program
43.200 Precalculus documentation, and program testing. Much
63.252 Computer Science II classroom time will be allocated to group work.
Textbook Data Structures is a rigorous course that is an
essential prerequisite to several junior- and senior-
Michael T. Goodrich and Roberto Tamassia, Data level courses. It has its own serious prerequisites
Structures and Algorithms in Java, 4th Ed. (Wiley, and will demand a strong commitment of time and
2005; ISBN 0-471-38367-8). effort outside class, 8-10 hours per week.
Reading textbook material is considered essential to The course material is mostly language-inde-
college-level academic work. pendent; examples will be in pseudocode or Java.
To contact instructor Basic skills
Office hours(Hemenway Hall 318A):
All students will demonstrate all the following
M 11:30-12:30 p.m., W 9:30-10:30 a.m.,
during in-class quizzes or presentations:
Th 2:30-3:20 p.m., others by appointment
1. Proficiency with method calls and definitions,
Telephone: (508) 626-4724
including the use of parameters;
Email: [email protected]
2. Strong skills with nested loops such as those
URL: www.framingham.edu/faculty/dkeil
found in search and sorting algorithms;
Course overview 3. String and array manipulation skills in Java,
This course presents fundamental concepts in including arrays of objects;
data structures and algorithm analysis. We will look 4. Use of dynamic allocation, including linked
at why some arrangements of data lend themselves lists;
to efficient handling and how to implement these 5. Strong testing, tracing and debugging skills;
arrangements. Data structures are collections: 6. Identifying O(1), O(n), and O(n2) algorithms;
dynamic sets, stacks, queues, and graphs, 7. Identifying linked-list, heap, tree, hash table, and
implemented using arrays, linked lists, and trees. graph structures.
We will begin by reviewing some data types Performance objectives
presented in CS II: numeric values, strings, classes,
1. To be prepared to argue effectively that an
arrays, and linked lists. These provide the basis for
algorithm works, using invariants,
implementing the other data structures discussed.
preconditions, and postconditions;
Three classic data structures are the stack, the
2. To recognize the efficiency trade-offs of using
queue, and the priority queue, ordered collections
arrays, hash tables, linked lists, heaps, and trees;
whose elements are accessed in a particular
3. For each data structure presented, to state in big-
sequence only.
O notation the running times associated with the
We will present a general-purpose collection,
standard algorithms discussed;
binary search trees, for speedy access, and the very
David Keil Framingham State College Fall 2008

4. To recognize when a general collection, stack, Group work is to be submitted via the
queue, priority queue, or graph structure is Discussion Board. For each course topic, each group
required to solve a problem; will post a set of solutions to several problems.
5. To be prepared to code the insert, delete, and Groups may revise and add to solutions submitted.
search operations on all the structures presented; Names of all group members who did their share of
6. To be ready to use the concepts presented here the work, and only those members, should be
when taking the Algorithms and Theory of included with each solution posted.
Computing courses;
7. To code sufficiently well to do the work Grading
required in the Computer Architecture, Software There will be one short multiple-choice quiz per
Engineering, Networking, and Operating topic and three major quizzes. Make-ups for quizzes
Systems Internals courses. will be available at the time of the following quiz or
at final-exam time.
Classroom format Group work and the project are graded for
Format will center on lecture (with slides), documentation of specification, documentation of
discussion, and group problem solving. Your code, correctness of code, and testing.
questions and participation are important. Part of Semester grade:
our responsibility is to express doubt about each Major quizzes (3) 30
other’s claims. Basic skills 20
We will write some program code on the board; Mini quizzes 10
other code we will compile, run and display, using a Final exam 10
projector. Group work assignments 10
Classroom is a focused work environment Project 10
governed by attention to business, free inquiry, and Presentations 5
mutual respect. Participation ____5
Group work 100 %
For each topic, in-class teams will solve Accommodations
assigned problems. Students who seek accommodations during the
Based on individual or group work, each student semester because of disabilities should meet with
will lead a discussion on two problems related to the instructor after class or during office hours early
group work or the semester project. in the semester.
Course Plan
Dates Topic Textbook
chapters

9/8 Introduction 1-2 (review)

9/8, 9/15 1. Numeric, class, and array data 3.1, 4, 6, 11,


12.1

9/22 2. Linked lists 3.2-3.4

9/29 3. Stacks and queues 5

10/6 Major quiz (Topics 1-3)

10/6, 10/13 4. Priority queues, heaps 7-8

10/20, 10/27 5. Trees 10

11/3 6. Hash tables 9

11/10 Major quiz (Topics 4-6)

11/10, 11/17 7. Graphs 13

11/24 8. Multithreading Handouts

12/1 9. Graphics programming Handouts

12/8 Pre-final quiz (Topics 1-9)

12/8 Review

12/15 Final exam (multiple choice, Topics 1-9)

You might also like