SYLLABUS CMPS 3013-201: Data Structures Catalog Description:

advertisement
SYLLABUS
CMPS 3013-201: Data Structures
Catalog Description: In-depth study of complexity analysis and variety of advanced structures and
related algorithms. Topics will be selected from trees, heaps, priority queues, graphs, hashing, sorting,
pattern matching, recursion, and others as appropriate.
Instructor:
Dr. Catherine V. Stringfellow
Office:
Bolin Science Hall, Room 128C
Office phone: 397- 4578
E-mail:
catherine.stringfellow@mwsu.edu
Web page: http://cs.mwsu.edu/~stringfe
Office Hours: M, W, F 9-11am, M,F 1:30-3pm, T, R 10-11am and by appt
Credits: 3 (3 hour lecture)
Course Prerequisite: Minimum grades of C in CMPS 2433.
Optional Textbook:
C++ Early Objects 8th ed., by Gaddis, Walters, Muganda, Pearson.
C++ How to Program by Deitel & Deitel
General Objectives
1) to learn the concepts of data abstraction and modularization
2) to analyze and implement important data structures, such as trees and graphs, using an
object-oriented approach
3) to introduce and analyze algorithms for internal and external sorting and searching
Specific Objectives
At the conclusion of this course, students should be able to:
1) create new data types, including dynamic data structures, and the operations to manipulate
them using the object-oriented paradigm
2) write various sort and search routines
3) analyze algorithms to determine their time and/or space complexity
4) write programs containing object-oriented concepts and arrays
Instructional Methods and Techniques
1) The class will meet twice for 1 1/2 hours of lecture each week.
2) Lectures will stress exploration, demonstrations, and hands-on activities
3) Assignments will provide an opportunity for the students to explore, develop and program
solutions to problems in C++
Assignments for Course
1) Readings from the textbook
2) Homework assignments
3) Weekly Quizzes – lowest 2 will be dropped (no makeups)
3) Programming assignments
4) Exams
Attendance: Students are expected to attend all lectures and the lab orientation.
Exams and Assignments: There will be two exams and one comprehensive final exam. Exams cover
material from the text as well as programming activities. The lectures may not cover all the material in
the textbook. There will be 4-5 major programming projects, which will be expected to be complete and
robust, including good user interfaces and the ability to handle improper input. Homework may involve
small coding exercises, be assigned from the text, and may involve working with other students or
participating in out-of-class activities.
Missed/Late Programs Policy will be handed out separately and is the same for all my programming
courses.
Course Evaluation:
Quizzes and Homeworks
Programming Assignments
Two Tests
Final Exam
= 150 pts.
= 450 pts.
= 200 pts.
= 200 pts.
Grades may be determined according to this scale (approximate):
A
90% - 100%
B
80% - 89%
C
65% - 79%
D
55% - 64%
Program Grading Policy: Students will be required to turn in programs according to the policy that
will be handed out.
Honor Policy: Cheating will not be tolerated. Plagiarism will result in, at best, an "F"
for the assignment. Any student caught cheating on an exam will be given a zero on the
exam. Repeat offenders will be given an F for the course (that F will be computed in the
grade point average even after the course has been repeated). All work must be your
own. You may discuss the material in the course and help one another, however, I
expect any work you hand in for a grade to be your own. A simple way to avoid
inadvertent plagiarism is to talk about the assignments, but don’t read each other's
work or write solutions together. Keep scratch paper and old versions of assignments
until after the assignment has been graded and returned to you. If you have any
questions about this, please see me immediately.
TENTATIVE CMPS 3013 Schedule Spring 2016
Week
1 Jan 20
Jan 22
Topics/Materials
Course Information; Specifications; Opening Files
Recursion Review
2 Jan 25
Pointer Review
Jan 27
Jan 29
3 Feb 1
Feb 3
Dynamic Linked List Structures
Stack Review
Queue Review
Analysis
Feb 5
4 Feb 8
Feb 10
Feb 12
5 Feb 15
Feb 17
Feb 19
More on Analysis
Recurrence Relations
Recurrence Relations
Exam Review
Exam 1
Trees (spec and basic operations)
Trees (implementation)
6 Feb 22
Feb 24
Feb 26
7 Feb 29
Mar 2
Mar 4
8 Mar 7
Mar 9
Mar 11
9 Mar 14
Mar 16
Mar 18
Mar 20-26
10 Mar 28
Mar 30
Apr 1
11 Apr 4
Apr 6
Apr 8
12 Apr 11
Apr 13
Apr 15
13 Apr 18
Apr 20
Apr 22
14 Apr 25
Apr 27
Apr 29
15 May 2
May 4
May 6
16 May 9
Binary Search Tree
AVL Trees
AVL Trees
Red-Black Trees
Red Black Trees
Red Black Trees
B-Trees
B-Trees
Assignments (daily homework not listed)
Email Assignment; Read 1.5 and 2.1,
Homework: Writing Specs
Due: Email Assignment; Read Chap. 14
Assign Program 1
Due: Specs Assignment
Read Chap 10
Read Chap 17
Read Chap 18
Read 9.6
Due: Program 1
Assign Program 2 : Circular Linked List
Assign: Analysis Homework
Due: Analysis Homework
Read 19.1
Due: Program 2;
Assign Program 3: Binary Tree
Read 19.2; Assign Homework: BST
Due: BST Homework
Due: Program 3; Assign Program 4: Balanced Trees
Exam Review
Exam 2
Review O(n2) Sorts
Merge Sort
Read 9.3-9.5
Spring Break
Easter Break
Quick Sort
Radix and Counting Sort;
Heaps
Heaps Continued
Video
Heapsort
Intro to Graphs
Graphs (spec and basic operations)
Graphs (complex operations); Graph implementation 1
Graph Implementation 2
DFS
BFS
A* Search
Topological Sort
Hash Tables
Hash Tables
Final Exam Review
Final Comprehensive Exam 10:30am-12:30pm
Homework: Timing Sorts
Due: Sort Homework
Due: Program 4
Assign Program 5
Assign Homework: Graph
DUE: Program 5A (implementation/test driver)
Due: Graph Homework
Assign Hashing homework
DUE: Program 5B (solved problem)
Due: Hashing homework
Academic Policies: Students should refer to the current MSU Student Handbook and Activities Calendar and
the MSU Undergraduate Bulletin for university policies on academic dishonesty, class attendance, student rights
and activities.
Disability Policy: In accordance with the law, MSU provides academic accommodations to students with
documented disabilities. Students with disabilities must be registered with Disability Support Services before
classroom accommodations can be provided. The DSS office is located in Clark Student Center, Room 168,
phone 397-4140.
Counseling Center: MSU offers personal, group, career, and academic counseling. Students are encouraged to
take advantage of these free services by contacting the Counseling Center:
Corner of Hampstead and Louis J. Rodriguez Drive, 397-4618, counseling@mwsu.edu.
Course Content: The material includes text reading assignments, lectures, programs, and homework. Students
are responsible for all material regardless of attendance.
Assistance: CS tutoring is available in Bolin 119. Specific dates and times will be announced. Tutors are
advanced CS students and are there to assist only. You may also come by my office during regular office hours
or send an e-mail to me or the graduate assistant.
Open Labs: Students may complete program assignments on their personal computers or in one of the campus
labs. Currently, C++ is available in Bolin labs 119 and 103. Bolin 103 is also used as a classroom. Open times
are posted on the door. Bolin 119 is open from 8 a.m. to 5 p.m. M-F. The lab in Clark Student Center is open
24-7. The lab in Moffett Library is open during library hours.
Electronic Devices: ALL electronic devices must be stored in a bag or pocket, etc. and may not be on the desk
or out during class. This includes cell phones, laptop computers, iPods, and any other device that might be a
distraction to you, your classmates, or the instructor. Failure to adhere to this policy may result in being removed
from the class.
Download