CS 2420 Data Structures and Algorithms
- Division: Natural Science and Math
- Department: Computer Science & Engineering
- Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0
- Prerequisites: CS 1410 or CS 1420 or ENGR 1410
- Semesters Offered: Fall
- Semester Approved: Fall 2021
- Five-Year Review Semester: Summer 2026
- End Semester: Summer 2027
- Optimum Class Size: 20
- Maximum Class Size: 24
Course Description
This course covers data structures and algorithms in some depth. Topics include data structures, recursion, problem solving strategies, and complexity analysis. Sorting and searching algorithms are covered in detail.
Justification
This course is part of the recommended curriculum for software engineering and computer science majors at Snow College. This course is similar across USHE as CS 2420.
Student Learning Outcomes
- Students will know many basic data structures, recursion, complexity analysis, and common sorting and searching algorithms.
- Students will be able to use appropriate data structures and data abstraction.
- Students will be able to use recursion as a problem solving strategy.
- Students will be able to analyze complexity of algorithms and use appropriate sorting and searching algorithms.
Course Content
The following topics will be covered in this course: Data abstraction; Linked lists; Stacks and queues; Trees; Tables; Graphs; Recursion; Complexity analysis; Sorting and searching.
The course will present and encourage development of software that will interact effectively with software developed by others. Students taking this course will likely come from a variety of programming language backgrounds. Rather than minimizing these differences, the course will highlight how comparing and contrasting various programming experiences can help the class to better value and understand different language features.
Key Performance Indicators: Homework exercises 10 to 20%Programming projects 15 to 35%Quizzes 10 to 20%Examinations 25 to 55%Comprehensive final examination 15 to 25%Representative Text and/or Supplies: F. Carrano and J. Prichard, Data Abstraction and Problem Solving with Java: Walls and Mirrors, current edition, Addison WesleyM. Jamro, C# Data Structures and Algorithms, current edition, PacktM. McMillan, Data Structures and Algorithms Using C#, current edition, CambridgePedagogy Statement: This course will teach students problem-solving approaches that promote teamwork, such as coordinating development of an interface prior to working out more specific implementation details. By soliciting student discussion and drawing on student experiences, lectures will leverage and support strengths of students from varied backgrounds.Instructional Mediums: LectureOnline