Course Home |
Course Policies |
Homework |
Schedule & Lecture Notes
CSE 50502 : Transition to Data Structures & Algorithms
Fall 2026
Course Policies and Syllabus
Class meeting time: MWF 10:30-11:20am
Class location: TBD
Course Staff
- Instructor: Dr. Erin Chambers
Contact Info: echambe2 - at - nd.edu
Office: 180 Fitzpatrick
Office Hours: TBD, or by arrangement
Table of contents
Discrete foundations and core data structures/algorithms with formal reasoning and
empirical validation in Python. Representative topics: Logic and proof (direct,
contradiction, induction); asymptotics; recurrences; sorting and selection;
lists/queues/stacks; hashing; trees and BSTs; graph representations, BFS/DFS,
shortest paths; greedy methods; Union–Find; dynamic programming.
Learning outcomes: Students will:
- Prove correctness of basic data structures and
algorithms and analyze their complexity.
- Implement canonical structures/algorithms idiomatically in Python and validate them with tests.
- Select appropriate structures/algorithms for a given problem and justify the
choice.
- Connect abstract analysis to observed performance.
A rough outline for the course is:
- Week 1: Foundations, including sets, logic, predicates, and proofs
- Week 2: Asymptotics and correctness
- Week 3: Recursion and recurrences
- Week 4: Sorting
- Week 5: Basic data structures: arrays, lists, stacks, queues
- Week 6: Hacking and dictionaries
- Week 7: Trees
- Week 8: Graphs: representation and traversals
- Week 9: Shortest paths and DAGs
- Week 10: Greedy algorithms
- Week 11: MSTs and Union-Find
- Week 12: Dynamic programming
- Week 13: More dynamic programming
- Week 14: Complexity theory
- Week 16: More complexity theory plus review
The material of the class will primarily come from the following references,
both available freely online:
In general, I won't be taking attendance in lectures. However, you will miss important material if
you are not present, including homework discussion/hints as well as discussion about the final
project. You are responsible for any material covered in class; this includes course material as
well announcements such as changes in due dates, extra hints or corrections, etc.
I will do my best to also post these in the lecture
notes on the schedule page, but that is a courtesy and not a requirement, so please plan
accordingly! If you will miss a lecture, I'd suggest checking with a fellow student, since my tablet
does occasionally fail. You're also welcome to check in with me with any questions.
-
Homework (25%)
There will be homework due (almost) every week, for a total of about
10-12 homework assignments over
the course of the semester. Some homeworks will be written assignments turned in on Gradescope,
while others will be presented orally
to the instructor. See the homework page for more details.
For all homeworks, you are allowed to submit in groups of 2-3. In fact, given the difficult nature
of the
assignments, I encourage all of you to work with another student, as the best way to learn this
material is to discuss and problem
solve in a small group.
Reading (10%)
I will be uploading reading assignments from the course text to
Perusall this semester. Your grade for
reading is then set by the system based on how you comment on and interact with the material
assigned. (Please come talk to me during
the semester if you notice odd grades, as I'm happy to tinker with the grading system they use if
needed!) I do not extend any
reading due dates, but at the end of the semester will drop the lowest 3 scores, to cover any
illness or technical issues that
prevent completion.
A reading assignment will be due every morning we have class, at 8am. I plan to use your comments
and questions to target lecture to
the topics you are confused on.
-
In class quizzes/worksheets (30%): Each week or so, we will have an in
class quiz or exercise, which will closely mirror homework content. These dates
will be announced at least a week in advance, and will cover material from the
homeowrk.
Exams (35%)
- Midterm exam (15%): One midterm, date TBD
- Final Exam (20%): The tentative university time we are assigned is TBD. (I can't control this date, so I will update if the university decides to change
it.)
Letter grades will be based on each students overall percentage of awarded points according to the
following formula.
-
Student percentage above 93% will result in a grade of
A or better.
-
Student percentage above 90% will result in a grade of
A- or better.
-
Student percentage above 87% will result in a grade of
B+ or better.
-
Student percentage above 83% will result in a grade of
B or better.
-
Student percentage above 80% will result in a grade of
B- or better.
-
Student percentage above 77% will result in a grade of
C+ or better.
-
Student percentage above 73% will result in a grade of
C or better.
-
Student percentage above 70% will result in a grade of
C- or better.
-
Student percentage above 60% will result in a grade of
D or better.
-
Student percentage below 60% will result in a grade of
F.
Any modification to this scale at the end of the year will be in favor of the students.
That is we may later decide to award an A to a student who is slightly below the cutoff, but we
certainly will not deny an A from someone who is above the cutoff.
I am happy to regrade any assignments which you think were unfair or incorrect. Please email me a
written explanation of your question; you are also welcome and encouraged to come discuss it with
me, as that can often be helpful in understanding the issue better.
In general, late assignments will not be accepted or graded. However, life does happen, and
occasionally emergencies come up. So, once per semester, you are welcome to get a 3 day extension,
with no questions asked or no details needed, on any homework assignment. Please email myself and
the TAs before 11;59pm on the due date, if you choose to exercise this.
Note that this policy does *not* apply to Persusall readings. I will drop your lowest three
readings at the end of the semester, so that if you miss one or two due to travel or illnes, it will not hurt that
portion of your grade.
For any student raising children, I understand that minor illnesses and unforeseen disruptions
in childcare often put parents in the position of having to chose between missing class to stay home
with a child and leaving him or her with someone you or the child does not feel comfortable with.
While this is not meant to be a long-term childcare solution, occasionally bringing a child to class
in order to cover gaps in care is perfectly acceptable. (You are likely to meet mine at some point
this semester!)
All exclusively breastfeeding babies are welcome in class as often as is necessary to support the
breastfeeding relationship. Because not all women can pump sufficient milk, and not all babies will
take a bottle reliably, I never want students to feel like they have to choose between feeding their
baby and continuing their education. You and your nursing baby are welcome in class anytime.
I ask that all students work with me to create a welcoming environment that is respectful of all
forms of diversity, including diversity in parenting status. In all cases where babies and children
come to class, I ask that you sit close to the door so that if your little one needs special
attention and is disrupting learning for other students, you may step outside until their need has
been met. Non-parents in the class, please reserve seats near the door for your parenting
classmates. (Policy adapted from Dr. Melissa Cheyney)
As I am sure you are all aware, Notre Dame students are expected to abide by Academic Code of Honor
Pledge. “As a member of the Notre Dame community, I acknowledge that it is my responsibility to
learn and abide by principles of intellectual honesty and academic integrity, and therefore I will
not participate in or tolerate academic dishonesty."
In addition:
“All students must familiarize themselves with the Honor Code on the University’s website and pledge
to observe its provisions in all written and oral work, including oral presentations, quizzes and
exams, and drafts and final versions of essays.”
When in doubt about whether something is allowable, don’t assume that you are right – ask me first.
In the context of this course, I encourage students to discuss general course
material, which includes working on homework or practice problems, or discussing projects and
sharing ideas.
You are also
allowed to turn in homework assignments in pairs. I also encourage you to discuss
problems with other students, but please be careful to write up all solutions
separately in your own group, and do not copy any material from another student.
As a good rule of thumb, make sure to write your solutions without using any notes
or papers written while talking to anyone other than your partner.
You are allowed to use outside sources of information in this class, including
textbooks and webpages. If the complete and correct answer is on page 263 of the
textbook, the best solution you can submit is "See page 263 of the text." Period.
However, if you find a solution from any other source, such as a web page, a
journal paper, a different algorithms textbook, or your mom, you must rewrite
the solution in your own words, and you must properly cite your sources. Assume
the graders have access to all the official course material, but nothing else.
While we strongly encourge you to use any outside source at your disposal, please
remember that the homework is supposed to demonstrate that your understanding
material, not just how to use Google or LLMs. In particular, verbatim copying is worth
NOTHING, and will be considered a violation of the academic integrity policy.
(Note that I'm also pretty good with google as well as ChatGPT, so I wouldn't recommend copying!)
We strongly encourage you to use any printed, online, or living resource at your disposal to help
you solve homework problems, but you must cite your sources.
- If you use an idea from a book, cite the book.
- If you use an idea from a paper, cite the paper.
- If you use an idea from Wikipedia, cite
Wikipedia.
- If you use an idea from CS StackExchange, cite
CS StackExchange.
- If you use an idea from last semester's homework solutions, cite last semester's homework
solutions.
- If you use an idea from the class slack channel, cite the class slack channel.
- If you use an idea from another student, cite that student.
- If you use an idea from Chegg, cite Chegg.
- If you use an idea from ChatGPT, cite ChatGPT.
- If you use an idea from the bathroom graffiti at Fiddler's Hearth, cite the bathroom graffiti
at Fiddler's Hearth.
This is not an exhaustive list!
In general, just remember that submitting someone else's work without giving them proper credit is
plagiarism, even if you have the other person's explicit permission. Submitting someone
else's work without giving them proper credit is plagiarism, even if that “someone else” is a
computer program. Citing your sources will not lower your homework grade.
Allowing someone else to use your ideas without giving you credit is also an academic integrity
violation.
Students who violate academic integrity policies will be reported to the department,
particularly in cases where relevant sources are not cited or in cases of direct copying of another
student's work. First time
offenses on homework will result in a minimum of a failing grade on the assignment in question, with
egregious or repeated offenses resulting in failure in the course.
It is the policy and practice of The University of Notre Dame to provide reasonable accommodations
for students with properly documented disabilities. Students who have questions about Sara Bea
Accessibility Services or who have, or think they may have, a disability are invited to contact Sara
Bea Accessibility Services for a confidential discussion by emailing at sarabeacenter@nd.edu or by
phone at 574-631-7157. Because the University’s Academic Accommodations Processes generally require
students to request accommodations well in advance of the dates when they are needed, students who
believe they may need an accommodation for this course are encouraged to contact Sara Bea
Accessibility Services at their earliest opportunity. Additional information about Sara Bea
Accessibility Services and to learn more about the student process for requesting accommodations,
please visits Accessibility
Support. As an instructor, I encourage you to utilize these services, and feel free to reach out
if you'd like to discuss how this might help in the context of this specific class.
The University of Notre Dame is committed to a safe and excellent education for all student
enrolled, regardless of background. I share that commitment and strive to maintain a positive
learning environment based on open communication, mutual respect, and non-discrimination. In this
class we will not discriminate on the basis of race, sex, age, economic class, disability, veteran
status, religion, sexual orientation, color or national origin. Any suggestions as to how to further
such a positive and open environment will be appreciated and given serious consideration.