Uploaded by yoursupremehighness

UNH Data Structures and Algorithms / CSCI 2226 Syllabus

advertisement
TAGLIATELA COLLEGE OF ENGINEERING
Computer Science
CSCI 2226-2
Data Structures and Algorithms
Fall 2020
Meeting Times and Location(s): T 7:05-9:45
Credit Hours: 3
Faculty Contact Information:
Eugene Lymar
Email: ylymar@newhaven.edu
Office Hours: N/A
COURSE SYLLABUS
This syllabus is informational in nature and is not an express or implied contract. It is subject to
change due to unforeseen circumstances, as a result of any circumstance outside the
University’s control, or as other needs arise. If, in the University’s sole discretion, public health
conditions or any other matter affecting the health, safety, upkeep or wellbeing of our campus
community or operations requires the University to make any syllabus or course changes or
move to remote teaching, alternative assignments may be provided so that the learning
objectives for the course, as determined by the University, can still be met. The University does
not guarantee that this syllabus will not change, nor does it guarantee specific in-person, oncampus classes, activities, opportunities, or services or any other particular format, timing, or
location of education, classes, activities, or services.
Course Description:
Prerequisite: CSCI 2212; CSCI 1166 is also recommended. The nature and application of the
fundamental data structures and algorithms for arrays, growing arrays, lists, stacks, queues,
priority queues, trees, and graphs. Algorithms include precedence parsing, heap-based priority
queues, quicksort, radixsort, and hashing. Estimation of the time-efficiency of algorithms.
Evaluation of the performance of different data structures for typical applications. Students will
write and debug several projects in C++.
Required Text(s):
C++ Plus Data Structures | 6th Edition | Nell Dale | ISBN-13: 978-1284089189
Other (Optional):
A Tour of C++ | Bjarne Stroustrup | ISBN-13: 978-0321958310
The Algorithm Design Manual | Steven Skiena | ISBN-13: 978-1849967204
Introduction to Algorithms | CLRS | ISBN-13: 978-0262533058
Course Structure/Course Format/Course Objectives:
This class will follow the “reverse classroom” pattern. For most lectures, the recording of the
lecture material will be available before the meeting time. It will be your responsibility to watch
the recording before the lecture. This does not apply to the first lecture. We will then meet at the
normal meeting time to go over the recording and to give you an opportunity to ask questions,
and for me to quiz you on the material.
1
Student Learning Outcomes:
•
•
•
•
•
•
•
•
•
•
Achieve fluency in C++ programming at the intermediate level.
Explain what an ADT is and why it is a useful programming concept.
Explain the structure and behavior of basic data structures: vectors, linked lists, stacks,
queues, trees, search trees, heaps, graphs, and hash-tables.
Implement, use and combine data structures and algorithms appropriately in
applications. Use structures from the C++ Template Library.
Using Big-O principles and notation, analyze and compare different algorithms for space
and time efficiency.
Relate Big-O principles to the design of programs.
Explain the stack implementation of recursion. Write programs that use recursion.
Hand simulate the basic search and traversal algorithms: hashing, sequential search,
binary search, depth-first and breadth-first search.
Hand simulate the basic sorting algorithms: quicksort, mergesort, counting sort, heapsort,
insertion sort and characterize their efficiency in Big-O notation.
Hand simulate and use several graph algorithms.
Course Requirements & Assessment:
Please see official University of New Haven Academic Policies located in the links below:
Undergraduate Grading System
Grading:
Grades earned are based on your performance on homework, quizzes, exams and the final exam.
Exams
30%
Quizzes
10%
Programs
35%
Final Exam
25%
Total**
100%
**Final Grades are assigned with the following scale:
Typical Undergraduate Scale
Typical Graduate Scale
Grades Scored Between
97 to 100
94 to Less than 97
90 to Less than 94
87 to Less than 90
84 to Less than 87
80 to Less than 84
77 to Less than 80
74 to Less than 77
70 to Less than 74
67 to Less than 70
63 to Less than 67
60 to Less than 63
Less than 60
Grades Scored Between
97 to 100
94 to Less than 97
90 to Less than 94
87 to Less than 90
84 to Less than 87
80 to Less than 84
77 to Less than 80
74 to Less than 77
70 to Less than 74
Less than 70
Letter Equivalent
A+
A
AB+
B
BC+
C
CD+
D
DF
2
Letter Equivalent
A+
A
AB+
B
BC+
C
CF
Expectations:
This course will require significant in-class and out-of-class commitment from each student. A
student should expect to spend 6 to 9 hours outside of class each week. All of the work I assign
will help you master the subject matter; none of it is optional. You should expect to do all the
work if you want a high grade.
•
•
•
•
•
Good style, clarity, good use of C++ and adequate testing will be needed for a grade of
‘A+’. A working program that follows instructions and is turned in on time will earn an ‘A’
For homework and programs, is important to follow my instructions
because they will guide you through learning the things you need to know.
You will need access to a C++ 11 compiler and development environment.
If you own a Mac, use XCode. Otherwise, please download the Eclipse CDT package. (If
you can configure Visual Studio Code properly, that is an acceptable IDE). In the end, your
code MUST run on my system, that is, it must be standard C++-11.
Late programs will be accepted but might be downgraded. Assignments must be
submitted one at a time with at least a half a week between assignments.
If you miss an exam, you MUST contact me within 48 hours to arrange a makeup. There
are no makeups once I return the graded papers.
Course Outline/Schedule:
Please see schedule.pdf
Reporting Bias Incidents
At the University of New Haven, there is an expectation that all community members are
committed to creating and supporting a climate which promotes civility, mutual respect, and
open-mindedness. There also exists an understanding that with the freedom of expression
comes the responsibility to support community members’ right to live and work in an
environment free from harassment and fear. It is expected that all members of the University
community will engage in anti-bias behavior and refrain from actions that intimidate, humiliate,
or demean persons or groups or that undermine their security or self-esteem. (Reporting
Options).
University-wide Academic Policies
A continually-updated list of University-wide academic policies and descriptions of key university
student resources, can be found on Canvas. You can access them by simply clicking on the (?)
help button.
The University-wide academic policies include (but are not limited to) the University’s attendance
policy, procedures for both adding / dropping a course and course withdrawals, an explanation
for the sorts of circumstances where incomplete (INC) grades could be considered by the faculty,
and the academic integrity policy (among others). Also in this location you will find information
regarding the process for reporting bias and topics related to our maintaining a positive learning
environment (including, but not limited to, discrimination and sexual misconduct).
The list of key university student resources to enable learning include (but are not limited to)
the University’s Center for Student Success, Writing Center, Center for Learning Resources, and
the Accessibility Resource Center.
3
Download