COSC 351 - Spring 2024

Course Information

  • Instructor: Dr. Aaron Garrett (garrettal@wofford.edu)
  • Class Meeting (Olin 213): MWF 10:30a-11:20a
  • Office Hours (Olin 204E): MW 2:00p-4:30p; TR 12:30p-2:30p; or by appointment
  • Textbook: None
  • Required Software Coddy (discussed in class)
  • Final Exam: See the Registrar’s page

Catalog Description

A study of the design and analysis of algorithms for solving problems, including dynamic programming, divide-and-conquer algorithms, greedy algorithms, graph algorithms, and search algorithms. Evaluation of time-space trade-offs.

Prerequisite: (COSC 240 with a minimum grade of D or MATH 260 with a minimum grade of D) and COSC 350 with a minimum grade of C.

Goals

  • Understand algorithm strategies, including brute-force, greedy, divide and conquer, dynamic programming, randomized, branch-and-bound, and recursive backtracking.
  • Solve problems by applying suitable strategies.
  • Know standard graph algorithms, including those to find the shortest path and a spanning tree.
  • Write programs in C and in C++.
  • Use components of the C standard library and the C++ Standard Template Library (STL) based on reading API documentation.
  • Understand the concepts of encapsulation, inheritance, and polymorphism in the context of C++.
  • Understand the concepts of template and operator overloading in the context of C++.

Grades

Your grade in the course will be based on a combination of assignments, projects, and exams.

Assignments
Assignments are short exercises that reinforce the core concepts.
Projects
Projects are more complex problems that require a combination of concepts.
Exams
Exams are timed assessments of conceptual understanding.
Homeworks
Homeworks are ungraded (but recommended) practice with the course material.
Artifact Points
Assignments 200
Projects 400
Midterm Exam 200
Final Exam 200
Total 1000

The usual grading scale will be applied to the accumulated points: 93–100: A, 90–92: A-, 87–89: B+, 83–86: B, 80–82: B-, 77–79: C+, 73–76: C, 70–72: C-, 60–69: D, 0–59: F.

Policies

Attendance

You are expected to attend class meetings and come to class prepared. That includes having completed assigned readings, problem sets, and tutorials.

You are expected to dedicate your attention to what is going on in class and to participate fully in classroom activities, including discussions. No laptops or tablets are to be used in class unless being used for a classroom exercise. (Notes may be taken using a device if needed as an approved accommodation.)

Refer to the General Policy Regarding Attendance in the Wofford College Student Handbook. The policy makes you responsible for catching up on missed classes. If you must be absent for class, please email me in advance to let me know.

Make-up exams are not available. If you have a legitimate, excused absence during the midterm exam, then you must make it up during the final exam period.

Assignment Deadlines

Late assignments will not be accepted without a legitimate excuse. All assignments are expected to be submitted by 11:55p ET on the posted deadline.

Academic Integrity

The Honor Code requires faculty, staff, and students to maintain a high standard of individual honor and integrity. While I may specify some assignments as collaborative, work represented as your own must be your own. If you have any doubt about what is appropriate for a given assignment, you should contact me for clarification.

Accommodations

If you have a disability that requires assistance or accommodation, or if you have questions related to any accommodations for testing, note takers, readers, etc., please contact Dean Beth Wallace by telephone at (864) 597-4371 or in person by visiting the Hugh R. Black Infirmary. You must arrange accommodations during the first week of classes.

Note: This syllabus is subject to change with notice.