COP 4530
Data Structures, Algorithms, and Generic Programming II
Spring 2026 Syllabus
Instructor Information
| Position |
Name |
E-mail |
Office |
Office hours |
| Course Instructor |
Bob Myers |
rmyers@fsu.edu |
Love 108-D |
Tues 12:00 - 3:00 PM |
| TA/Grader |
Megan Cole |
mic22@fsu.edu |
MCH 114-C |
Mon 1:30 - 3:00 PM Thurs 11:30 AM - 1:00 PM |
| TA/Grader |
Joydhriti Choudhury |
jc23bc@fsu.edu |
Love 108 suite |
Thurs 8:00 - 11:00 AM |
Other Instructor Information regarding e-mail contact
- Note my FSU e-mail above: rmyers@fsu.edu .
- Please use this e-mail for communicating with me.
- Please avoid using Canvas messages
- Make sure to send any e-mails from an official FSU e-mail account
Class Schedule
Main class
| Sections |
Room |
Time |
| 1,4,5 |
HWC 3100 |
Mon/Wed 4:50 - 6:05 PM |
Recitation
| Section |
Room |
Day |
Time |
Instructor |
| 1 |
MCH 202 |
Fri |
8:00 - 8:50 AM |
Choudhury |
| 4 |
MCH 202 |
Fri |
10:40 - 11:30 AM |
Cole |
| 5 |
MCH 202 |
Fri |
12:00 - 12:50 PM |
Cole |
Course Requirements:
Prerequisites
- COP 3330: Object-Oriented Programming
- MAD 2104: Discrete Mathematics
Course Website:
Textbook:
- Data Structures and Algorithm Analysis in C++, 4th ed.,
Mark Allen Weiss, Prentice Hall, 2013
ISBN: 9780132847377
Course Description
Making efficient use of computational resources is one of the important
tasks of any computer scientists. In this course we will explore
different ways of organizing data to facilitate such sufficient use.
This course covers the following topics:
- Data structures: Abstract data types (ADTs), vector, deque,
list, queue, stack, graph, digraph, table, map (associative array), priority
queue, set, and tree, etc.
- Algorithms: Algorithms are formalizations of processes that
result in predictable and desirable outcomes. They are used in a variety of
contexts. Particularly, data structures are made usable by implementing
algorithms for searching, sorting, and indexing the structures.
Algorithm design, complexity analysis and correctness proof form
important components in study of algorithms.
- Generic programming: Generic programming is the science of
component re-use. We will explore coding for re-use of both data
structures and algorithms in C++. Coding for re-use and re-use
of code are important aspects of software engineering.
Course Objectives:
The objective of the course is to teach students how to design, write,
and analyze the performance of programs that handle structured data and
perform more complex tasks, typical of larger software projects.
Students should acquire skills in using generic principles for data
representation and manipulation with a view for efficiency,
maintainability, and code-reuse.
Upon completion of the course, the student should be able to:
-
Define and use various common abstract data types (ADTs) as
generic containers, including (but not limited to):
- Positional ADTs: vector, linked list, deque, stack, queue, graph
- Associative ADTs: hash table, map (associative array), priority
queue, set
- Demonstrate analytical comprehension of steps performed by
algorithms that use the given data structures (sorting algorithms, tree
navigation, etc), and of their simple variants.
- Perform efficiency analysis on given data structures (which
data structures allow efficient interfaces to particular forms of
data access, such as random vs. sequential data access or
insertion, etc).
- Perform complexity analysis of algorithms that use the studied data
structures
- Effectively implement a given data structures as a generic
container, using class templates with typename template
parameters
- Implement given algorithms using generic programming techniques
(function templates, iterator template parameters)
- Effectively implement these techniques in the C/C++ language
Grading Policy:
The final course grade will be computed as follows:
| Programs / Assignments / Quizzes |
40 % |
| Test 1 |
17.5 % |
| Test 2 |
17.5 % |
| Final Exam |
25 % |
In addition to the scale listed above, in order to earn a C- or better
in the course, course performance must satisfy the following
requirement.
- You must earn at least 60% in each of the following components: (1)
Programming assignment average and (2) Exam average.
Letter Grade Scale:
| Letter | Numerical Average |
| A | 92.00 - 100 |
| A- | 90.00 - 91.99 |
| B+ | 88.00 - 89.99 |
| B | 82.00 - 87.99 |
| B- | 80.00 - 81.99 |
| C+ | 78.00 - 79.99 |
| C | 72.00 - 77.99 |
| C- | 69.00 - 71.99 |
| D | 62.00 - 68.99 |
| D- | 60.00 - 61.99 |
| F | 0.00 - 59.99 |
Tests:
There will be three tests -- two term tests and a final exam. All exams
are in the normally scheduled classroom. On-campus students will be
required to bring and show your Student ID on test days. The final exam
will be cumulative. The test formats will be a mixture of short-answer,
code reading and understanding, and code writing. Tentative test
dates are listed below. Be aware that these may change slightly
depending on where we are in the course materials.
Test Dates: (Test 1 and 2 tentative)
| Test 1 |
Mon, Feb 23 |
| Test 2 |
Mon, Apr 6 |
| Final Exam |
Mon, Apr 27, 5:30 - 7:30 PM |
For your reference
Link to Spring 2026 Final Exam Schedule
Incompletes
The grade of 'I' (Incomplete) will be assigned only under the
following exceptional conditions:
- The final exam is missed with an accepted excuse for the absence.
In this case, the final exam must be made up within two weeks of the
beginning of the next semester
- Due to an extended illness or other extraordinary circumstance, and
with appropriate documentation, the student is unable to participate in
class for a period affecting graded work, such that it is not possible
to complete/grade the missing work before end of course.
- The missing work cannot constitute the majority of the work in the
course, and the student must already be passing the course in their
other coursework, for an incomplete to be considered
- In such a case, arrangements must be made to make up the missed
portion of the course prior to the end of the next semester.
Please note that "Incomplete" is not a
"get-out-of-bad-grade-and-retake-the-course" card. University policy on
Incompletes will be strictly followed.
Recitation / Quizzes
Periodic quizzes may be given, in lecture or in recitation class, to
help students gauge their progress in the class, and to gauge
attendance, if needed. Attendance and participation is expected, both in
lecture and recitation class. There may also be some hand-in exercises
done in recitation class. Any attendance grades, quiz grades, or graded
work from recitation will count in the assignment average.
Programming Assignments
- Programming assignments will be more substantial and challenging
than those in prior programming courses, and will require more time and
effort to complete. Make sure to immediately start working on
programming assignments when they are annnounced. Waiting until the due
date to start is a bad strategy!
- Please note also that programming is a skill, and PRACTICE is
the only way to learn a skill effectively. Please make sure to start
assignments early enough to leave yourself time for appropriate
practice, as well as testing and debugging!
- ALL ASSIGNMENTS IN THIS COURSE ARE TO BE DONE INDIVIDUALLY.
Students are not permitted to share assignment solutions together, or
with others who are within or outside of our course. Please see the
Academmic Honor Code policies below.
- Assignment specifications will be posted on the course web
page.
- Turn in all assignments on time! Late assignments
will be accepted one day after the due date, with the deduction of a
letter grade (10%). Assignments more than a day late will not be
accepted.
- Compiling -- Programs that do not compile are very tedious to
grade, and they show a lack of testing, which is a large part of
programming. There will be an automatic 5% point penalty for each
compile error in a student's code that has to be fixed in the
grading process -- up to a maximum of 10 compile errors. After 10
errors fixed, if it still fails compilation, the submission will be
marked as a 0. (Bottom line: Make sure your code compiles before you
submit it!!!)
- Assignments need to be submitted through the appropriate submission
portal. Instructions will be provided before the first
assignment is due. E-mailed files will NOT be counted as valid
submissions.
- Each student is responsible for ensuring that their program files
were submitted correctly, and the correct version. Double-check it!
- Any concerns or issues regarding the accuracy of grades must be
addressed first to the grader of the assignment in question, and also
must be brought up within 7 days of the grade being posted
Excused Absence Policy
- Excused absences include documented illness, deaths in the family,
and other documented crises, call to active military duty or jury duty,
religious holy days, and official University activities. These absences
will be accommodated in a way that does not arbitrarily penalize
students who have a valid written excuse. Consideration will also be
given to students whose dependent children experience serious
illness.
- It is the student's responsibility to notify me as soon as possible
regarding any excused absences that affect graded work.
- A student will be allowed to make up a missed test if he or she has
a notice of illness from the Student Heath Center or family physician.
Any other excuses that are not medical or emergency related will be at
the discretion of the instructor, and must be approved in advance. If
you miss a test for any reason (without advance approval), you must
notify me of the issue within 48 hours of the missed exam. Missed tests
must be made up within 2 weeks of the test date, unless there is an
extended long-term excused absence (e.g. hospital stay, etc)
Miscellaneous Policies:
- The course web page is your friend -- check and refresh it
frequently! It will be continually updated with essential course
materials, such as assignments, examples, and notes outlines. It will
also include other helpful supplements, such as instructions for using
the compilers, suggested exercises, and other useful help materials. It
is your responsibility to check the web page often for posted
materials.
- Students in the class should have a computer account from the
Computer Science Department (sign up for one if you don't already have
one), and this can and should be used to store project files and access
one of the compilers used in the course.
- Knowing the contents of this syllabus is each student's
responsibiltiy. "I didn't know" in regards to a clearly stated course
policy will NOT be considered a valid excuse for anything during the
course
- Please turn off cell phones, computer audio, Nintendo Switches, and
any other things that beep and/or make noise in the classroom.
Academic Honor Policy:
The Florida State University Academic Honor Policy outlines the
University’s expectations for the integrity of students’
academic work, the procedures for resolving alleged violations of those
expectations, and the rights and responsibilities of students and faculty
members throughout the process. Students are responsible for reading the
Academic Honor Policy and for living up to their pledge to “ . . .
be honest and truthful and . . . [to] strive for personal and
institutional integrity at Florida State University.” (Florida State
University Academic Honor Policy, found at
https://fda.fsu.edu/academic-resources/academic-integrity-and-grievances/academic-honor-policy.)
ALL WORK IN THIS COURSE IS INTENDED TO BE DONE INDIVIDUALLY
In addition to this information, please be aware of the
following:
- It is NOT APPROPRIATE to utilize websites such as: CHEGG.com,
COURSEHERO.com, etc. DO NOT post our assignments to these websites to
solicit answers, and DO NOT use/view/utilize the 'solutions' found on
these websites. Doing so is in direct violation of the FSU honor policy.
- It is NOT APPROPRIATE to utilize AI Tools, like ChatGPT, to write
assignment code for you.
- It is NOT APPROPRIATE to work on assignments with other students or
to give or receive solutions to or from anyone before an assignment is
due and handed in (by all parties).
- It is NOT APPROPRIATE to share any amount of code with your
classmates. When you turn in code with your name on it, you are
representing that work as your own. If your submission matches that of
another student, this is considered a violation of the Academic Honor
Code.
- It is NOT APPROPRIATE to copy/paste, or use any amount of code
written by other people from any web sources, forums, etc. as your own
solutions.
- It is NOT APPROPRIATE to post your code online. If I find your code
online (unapproved online compilers, text sites, blogs, help sites,
etc...), no matter what the intent was in posting your code, this is
automatically in violation of the Academic Honor Policy and the
appropriate actions will be taken. If you are keeping code on sites like
GitHub, make sure your code is not searchable and viewable by the
public
- Plagiarism detection tools, such as MOSS, will be used in the
grading process.
- It IS APPROPRIATE to utilize examples found in the course textbook or
in the course notes and examples, as long as the source is cited. This is
appropriate, as some hand-in assignments will have structural elements
that are based on examples we've done in class, or contain other code
that is provided to you in the assignment specification.
- It IS APPROPRIATE to discuss solutions and techniques on assignments
with other students AFTER the assignment has been graded and handed back.
- It IS APPROPRIATE to study general topics, ideas, and solve
non-assigned-for-homework questions for practice with other classmates.
- If it is found that a student has violated the academic honor policy
the student is not permitted to drop or withdraw from the course and must
complete the course with the sanctions assessed via the policy. This is a
UNIVERSITY policy.
- A first violation of the honor code will result, at minimum (but not
limited to), a penalty of a 0 grade on the assignment or test involved,
along with a reduced course letter grade for that term (-10 points off of
the final course grade).
- If the violation is that of soliciting solutions on external
web sites (Chegg, Course Hero, etc) -- which is also a violation of
copyright -- the penalty will be an automatic F in the course, regardless
of whether it is a first violation or not
- Any second violation of the honor code will result in an automatic F
in the course, and possible proceedings before the FSU Honor Code
Committee.
Americans With Disabilities Act
FSU is committed to providing reasonable accommodation for all
persons with disabilities in a manner that is consistent with the
academic standards of the course while empowering the student to meet
the integral requirements of the course. Students with disabilities
needing academic accommodation should: (1) register with and provide
documentation to the Office of Accessibility Services; and (2) request a
letter from the Office of Accessibility Services to be sent to the
instructor indicating the need for accommodation and what type; and (3)
meet (in person, via phone, email, zoom, etc...) with each instructor to
whom a letter of accommodation was sent to review approved
accommodations. Please note that instructors are not allowed to provide
classroom accommodations to a student until appropriate verification
from the Office of Accessibility Services has been provided. This
syllabus and other class materials are available in an alternative
format upon request. For the latest version of this statement and more
information about services available to FSU students with disabilities,
contact the:
Office of Accessibility Services
874 Traditions Way
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
oas@fsu.edu
https://dsst.fsu.edu/oas
Students approved to take exams at the OAS office are expected to
take exams at the regularly scheduled time. Any exception to this
will only be granted with a valid documented reason and must be approved
by the instructor a week before the exam.
Academic Success
Your academic success is a top priority for Florida State University.
University resources to help you succeed include tutoring centers,
computer labs, counseling and health services, and services for
designated groups, such as veterans and students with disabilities. The
following information is not exhaustive, so please check with your
advisor or the Department of Student Support and Transitions to learn
more.
Confidential campus resources:
Various centers and programs are available to assist students with
navigating stressors that might impact academic success. These include
the following:
Victim Advocate Program
University Center A, Rm. 4100
(850) 644-716
Available 24/7/365
Office Hours: M-F 8-5
https://dsst.fsu.edu/vap
Counseling and Psychological Services (CAPS)
Florida State University\xE2s Counseling and Psychological Services (CAPS)
primary mission is to address psychological needs and personal concerns,
which may interfere with students\xE2 academic progress, social
development, and emotional well-being. The following in-person and
virtual (tele-mental health) services are available to all enrolled
students residing in the state of Florida:
- Individual therapy
- Group therapy
- Crisis Intervention
- Psychoeducational and outreach programming
- After hours crisis-hotline
- Access to community providers for specialized treatment
Call 850-644-TALK (8255) for more information on how to initiate services.
Counseling and Psychological Services
250 Askew Student Life Center
942 Learning Way
(850) 644-TALK (8255)
Walk-in and Appointment Hours:
M-F 8 am - 4 pm
https://counseling.fsu.edu/
Services at UHS are available to all enrolled students residing in
Florida:
The mission of University Health Services (UHS) is to promote and
improve the overall health and well-being of FSU students. UHS provides
a coordinated continuum of care through prevention, intervention, and
treatment. Services include general medical care, priority care,
gynecological services, physicals, allergy injection clinic,
immunizations, diagnostic imaging, physical therapy, and a medical
response unit. The Center for Health Advocacy and Wellness (CHAW)
assists students in their academic success through individual, group,
and population-based health and wellness initiatives. Topics include
wellness, alcohol and other drugs, hazing prevention, nutrition and body
image, sexual health, and power based personal violence prevention. For
more information, go to uhs.fsu.edu.
University Health Services
Health and Wellness Center
960 Learning Way
Tallahassee, FL 32306
Hours: M-F, 8 am - 4 pm
(850) 644-6230
https://uhs.fsu.edu/
Syllabus Changes
Except for changes that substantially affect implementation of
the evaluation (grading) statement, this syllabus is a guide for
the course and is subject to change with advance notice.