Course Syllabus

Syllabus

CS 2420 -- Intro to Algorithms and Data Structures

Course staff

Instructor Prof. Aaron Wood
Email aaron@cs.utah.edu
Department Kahlert School of Computing
Office MEB 3408
Office Hours See Instructions on how to get help
TAs TBA

Course

Course CS 2420-020
Semester Fall 2025
Credit Hours 4
Department Kahlert School of Computing
Prerequisites C- or better in CS 1410 or CS 1420
Location WEB L104
Time Tue/Thu 10:45am–12:05pm
Lab Location MEB 3225
Lab Time Fri (variable time, check your class schedule)

Course Description

Goals & Objectives

This course provides an introduction to the problem of engineering computational efficiency into programs. Students will learn about classical algorithms (including sorting, searching, and graph traversal), data structures (including stacks, queues, linked lists, trees, hash tables, and graphs), and analysis of program space and time requirements. Students will complete extensive programming exercises that require the application of elementary techniques from software engineering.

Warning: The pacing in this class is brisk.  Students should be aware that not all of the topics they need to know are covered during class meetings and lab sessions.  Students should spend a considerable amount of time studying and practicing course concepts outside of class.

Learning Objectives

At the end of this course, students will be able to:

  • implement, and analyze for efficiency, fundamental data structures (including lists, graphs, and trees) and algorithms (including searching, sorting, and hashing)
  • employ Big-O notation to describe and compare the asymptotic complexity of algorithms, as well as perform empirical studies to validate hypotheses about running time
  • recognize and describe common applications of abstract data types (including stacks, queues, priority queues, sets, and maps)
  • apply algorithmic solutions to real-world data
  • use generics to abstract over functions that differ only in their types
  • appreciate the collaborative nature of computer science by discussing the benefits of pair programming

Students can expect to achieve these outcomes only if they attend class meetings and lab sessions, as well as complete Canvas quizzes, assignments, and exams in good faith and on time.

Course Materials

Website

The CS 2420 Canvas course is always under development, with regular updates to the class schedule, course notes, provided code samples, assignment specifications, resources, etc.

Textbook

Regular reading is assigned from online notes, books, and articles linked from Canvas.

Course notes

The materials generated during a class meeting will be posted to Canvas following the class meeting. These materials are to augment the class meeting, not replace it. Attendance is crucial for success in the class.

Laboratory practice

Lab sessions meet on Fridays to give students guided practice applying the concepts of CS 2420.  To avoid more participants than can be managed by the TA(s), students should regularly attend the lab section for which they are registered.  Infrequently attending a different lab section is allowed and need not be approved by the instructor.  Students should bring their own laptops or plan to borrow a laptop from the Marriott Library for the semesterLinks to an external site..

Personal computers

Students may use their own computers for completing assignments and taking Canvas quizzes; however, broken tools or computers, or network connectivity issues are not sufficient basis for a deadline extension.  Plan ahead and use a campus lab computer if your own is not working.

Attendance

Attendance is expected at class meetings (Tuesdays/Thursdays) and at lab sessions (Fridays). Neither class meetings nor lab sessions will be recorded. Students who miss class do to illness or emergency are responsible for catching up by visiting instructor during office hours or TAs during help hours.

Students are expected to engage with the instructor and classmates during class meetings and lab sessions. Laptops and mobile devices are permitted for note taking; however, research has shown that handwritten note taking is more beneficial to students than typed note taking.1 In addition, handwritten notes will help prepare students for the exams which require students to handwrite solutions. In addition, laptops and mobile devices often act as distractions for students who may be tempted to multitask during class meetings and lab sessions, hampering their ability to focus on new and complex material. For these reasons, students are discouraged from using laptops and mobile devices during class except when the context requires it.

1. Mueller, P. A. & Oppenheimer, D. M. (2014). The pen is mightier than the keyboard: Advantages of longhand over laptop note taking.  Psychological Science, 25(6), 1159-1168. doi:10.1177/0956797614524581.

Communication

Please review the communication methods and requirements for this course:

Preferred Contact Methods

All class announcements and student questions (public or private) take place on Piazza — sign up right away and set notifications appropriately.

Office Hours

The instructor will hold regular office hours. Appointments outside of those hours are welcome and encouraged.

Evaluation

Your grade in this course will be evaluated by:

  • Exams -- 53%
  • Assignments -- 30%
  • Labs -- 7%
  • Quizzes -- 5%
  • Participation -- 5%

Course Policies

Assignments

Programming assignments and analysis documents

The instructions for each assignment and its due date are posted on Canvas at least one week before it must be submitted. It is the student's responsibility to ensure the successful and timely submission of each programming assignment — start early and follow the instructions carefully.  Corrupted or missing files are not grounds for extensions — double-check your submissions and save a digital copy of all of your work in your CADE account.  The timestamps of files outside of your CADE account are not trusted.

Each assignment's deadline is followed by a two-day late period.  Late submissions are penalized 10 points for each day beyond the deadline.  Note that 12:00am marks the start of a new day and -10 points.

Unless otherwise noted, assignments are to be completed using pair programming.  Rarely, a student may have an extenuating circumstance that prevents working with a partner.  Therefore, a student may complete up to three assignments without a partner.  Students should plan to exercise this option only when it is impossible to work with a partner, and most students should not exercise this option at all.

Exams

All exams are paper-based and will be administered in person. The midterm exams will be held during class in the usual classroom during regular class time. The final exam is cumulative and will be held in the usual classroom at the designated time.

  • Thursday, 25 September -- Midterm #1
  • Thursday, 30 October -- Midterm #2
  • Thursday, 11 December, 10:30am--12:30pm -- Final Exam

Exams cannot be missed and will not be given at an alternate time except in the case of medical emergencies.

Students must bring their UCard to the exams, as they will be asked to show their UCard when turning in their exam. No other form of identification may be used for this purpose.

Quizzes

Quizzes will be given weekly via Canvas, reviewing the material covered recently in class meetings and lab, as well as preparing for an upcoming assignment.  These Canvas quizzes are distinguished from those completed during labs. 

Each quiz's deadline is followed by a one-day late period.  A late submission is penalized 10%. The lowest quiz score will be dropped for the final grade.

Lab Sessions

Each lab is comprised of a TA-led activity and a lab quiz on Canvas, to be completed by students each Friday. The lowest lab score will be dropped for the final grade.

Participation

The participation portion of the grade will be based on polling during class time. In-class polling will be conducted via PollEverywhere. Get your account set up early to avoid missed participation points. The lowest three participation scores will be dropped for the final grade.

Grading

Grading for this course

The final grade for the course is determined using the following weights:

  • Exams -- 53%
  • Assignments -- 30%
  • Labs -- 7%
  • Quizzes -- 5%
  • Participation -- 5%

Regrades

Students desiring to appeal a score on an assignment or exam must do so via Gradescope. For any canvas quiz, the appeal must be made via a private post to instructors or in person. All such appeals are due no later than one week after the score is published.

Letter grades

Letter Percentage
A 100%–93%
A- 92.9%–90%
B+ 89.9%–87%
B 86.9%–83%
B- 82.9%–80%
C+ 79.9%–77%
C 76.9%–73%
C- 72.9%–70%
D+ 69.9%–67%
D 66.9%–63%
D- 62.9%–60%
E 59.9%–0%

Getting Help

To get help understanding course material, students may

  • see the Teaching Assistant(s) during TA Help Hours
  • see the instructor during office hours or during an appointment
  • post a question to Piazza

Academic Misconduct

Students are bound by the CS 2420 and Kahlert School of computing academic misconduct policies.

Other policies and guidelines

  • The use of AI in this course is strictly prohibited.

Students are bound by the Kahlert School of Computing and Price College of Engineering policies and guidelines.

Accommodations

Disclaimer

Accommodations will be considered on an individual basis and may require documentation.

Please contact your instructor and/or teaching assistant as soon as possible (preferably shortly before the semester begins) to request accommodations of any kind.

Extreme personal circumstances

Please contact your instructor as soon as possible if an extreme personal circumstance
(hospitalization, death of a close relative, natural disaster, etc.) is interfering with your ability to
complete your work.

Religious Practice

To request an accommodation for religious practices, contact your instructor at the beginning of the semester.

Active Duty Military

If you are a student on active duty with the military and experience issues that prevent you from participating in the course because of deployment or service responsibilities, contact your instructor as soon as possible to discuss appropriate accommodations.

Disability Access

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services (CDS). CDS will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.

If you will need accommodations in this class, contact:

Center for Disability Services
801-581-5020
disability.utah.edu
162 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Changes to the Syllabus

This syllabus is not a contract. It is meant to serve as an outline and guide for your course. Please note that your instructor may modify it to accommodate the needs of your class.

You will be notified of any changes to the Syllabus.

UOnline Expectations

UOnline Student Expectations

Though the online format allows students greater flexibility to complete their work, this course does have a structure and timeline! As such, the following is expected of all students in this class:

  • Students must be self-motivated, organized, and willing to stay on top of their schedules. Students should take control of their learning while in this course.
  • Students are expected to follow the Core Rules of Netiquette at all times while participating in the class and communicating with others.
  • Students will log in to the course a minimum of 3 times per week.
  • Students are not expected to interact with their classmates in person. Students may be expected to work with classmates via online communication options like Canvas Discussions, video conferencing, or other communication technologies of choice (Groupme, FaceTime, Google Hangouts, etc).
  • Students will regularly check for course updates and will update their Canvas notification settings to ensure they receive timely notifications from the course.
  • Students will contact their instructor or teaching assistant in a timely manner if they have any questions, are struggling with course materials, or need further assistance from their instructor.
    • If you do not hear back within 3 days after sending a message, please contact your instructor/TA again.
  • Students will follow all official University of Utah policies regarding interpersonal conduct, academic dishonesty, and other rights and responsibilities of students outlined in the University of Utah Student Handbook and Code of Student Rights and Responsibilities.

UOnline Instructor Expectations

Your course instructor is an expert in the topics you will learn about this semester. Your instructor is your mentor and facilitator of the classroom experience, aided by teaching assistants. Instructors are committed to:

  • The instructor will design the course to include lectures, learning materials, and assignments that are accessible and provide students with opportunities to learn and practice course content.
  • The instructor and teaching assistants will ensure that the course remains a safe space where students can engage with difficult content thoughtfully and respectfully.
  • The instructor and teaching assistants will interact with the class regularly via announcements, virtual office hours (one-on-one video conferencing), emails/the Canvas Inbox, feedback on assignments, and comments on Discussions, among other methods.
  • The instructor and teaching assistants will respond to students in a timely manner: within 48 hours, not including weekends and holidays.
  • The instructor and teaching assistants will be available for an individual consultation via virtual office hours (one-on-one video conferencing), email, or phone and will not require students to meet in person.
  • The instructor and teaching assistants will provide relevant feedback in a timely manner.
  • The instructor and teaching assistants will follow all official University of Utah policies regarding interpersonal conduct, accommodations, and other important duties.

University Policies

Americans With Disabilities Act (ADA)

The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities.

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability & Access (CDA). CDA will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.

In compliance with ADA requirements, some students may need to record course content. Any recordings of course content are for personal use only, should not be shared, and should never be made publicly available. In addition, recordings must be destroyed at the conclusion of the course.

If you will need accommodations in this class, or for more information about what support they provide, contact:

Center for Disability & Access

801-581-5020
disability.utah.edu

Third Floor, Room 350
Student Services Building
201 S 1460 E
Salt Lake City, UT 84112 

Safety at the U

The University of Utah values the safety of all campus community members. You will receive important emergency alerts and safety messages regarding campus safety via text message. For more safety information and to view available training resources, including helpful videos, visit safeu.utah.edu.

To report suspicious activity or to request a courtesy escort, contact:

Campus Police & Department of Public Safety

801-585-COPS (801-585-2677)
dps.utah.edu
1735 E. S. Campus Dr.
Salt Lake City, UT 84112

Addressing Sexual Misconduct

Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status, or genetic information.

If you or someone you know has been harassed or assaulted, you are encouraged to report it to university officials: 

Office of Equal Opportunity and Title IX

801-581-8365
oeo.utah.edu
135 Park Building
201 Presidents' Cir.
Salt Lake City, UT 84112

Office of the Dean of Students

801-581-7066
deanofstudents.utah.edu
270 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

To file a police report, contact:

Campus Police & Department of Public Safety

801-585-COPS (801-585-2677)
dps.utah.edu
1735 E. S. Campus Dr.
Salt Lake City, UT 84112

If you do not feel comfortable reporting to authorities, the U's Victim-Survivor Advocates provide free, confidential, and trauma-informed support services to students, faculty, and staff who have experienced interpersonal violence.

To privately explore options and resources available to you with an advocate, contact:

Center for Campus Wellness

801-581-7776
wellness.utah.edu
350 Student Services Building
201 S. 1460 E.
Salt Lake City, UT 84112

Academic Misconduct

It is expected that students comply with University of Utah policies regarding academic honesty, including but not limited to refraining from cheating, plagiarizing, misrepresenting one’s work, and/or inappropriately collaborating. This includes the use of generative artificial intelligence (AI) tools without citation, documentation, or authorization. Students are expected to adhere to the prescribed professional and ethical standards of the profession/discipline for which they are preparing. Any student who engages in academic dishonesty or who violates the professional and ethical standards for their profession/discipline may be subject to academic sanctions as per the University of Utah’s Student Code: Policy 6-410: Student Academic Performance, Academic Conduct, and Professional and Ethical Conduct.

Plagiarism and cheating are serious offenses and may be punished by failure on an individual assignment, and/or failure in the course. Academic misconduct, according to the University of Utah Student Code:

“...Includes, but is not limited to, cheating, misrepresenting one’s work, inappropriately collaborating, plagiarism, and fabrication or falsification of information…It also includes facilitating academic misconduct by intentionally helping or attempting to help another to commit an act of academic misconduct.”

For details on plagiarism and other important course conduct issues, see the U's Code of Student Rights and Responsibilities.

 

Course Summary:

Course Summary
Date Details Due