Course Syllabus

Course Information

Course name and number: CPSC 6109 - Algorithms Analysis and Design

Credit Hours: 3

Course Description: The need for efficient algorithms arises in nearly every area of computer science. This course covers the modern theory of algorithms, focusing on the themes of efficient algorithms and intractable problems. The course introduces many of the techniques that apply broadly in the design of efficient algorithms, and study their application in a wide range of application domains and computational models. Topics include Basic Data Structuring Problems, Recursion, Computational Complexity, Graph Algorithms, Greedy Algorithms, Dynamic Data Structures, Hashing, Approximation Algorithms, Linear programming, Parallel Algorithms and Novel Approaches to NP-Complete Problems.

Required Competencies/Prerequisites: None

Course Offering (days/times and room):

Course Registration Number (CRN):

Websites:

The last day to drop without a grade and receive a 100% refund: Friday, January 16 2026

Instructor Information

Textbooks and Materials

Required Textbook

Introduction to Algorithms, 4th Edition Cover
Introduction to Algorithms, Fourth Edition
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
ISBN: 9780262046305

Resources

We will use Java as the programming language for this course. You can use the IDE of your choice. For example, Netbeans IDE 8 or above (available for free download at: http://www.netbeans.org/). You will need access to a computer with Java. Note, the computers in the labs on the SCCT building have Netbeans.

Modules

  1. Computational Complexity & Recursion
  2. Sorting Algorithms
  3. Dynamic Data Structures & Binary Search Trees
  4. Hashing
  5. Dynamic Programming
  6. Greedy Algorithms
  7. Elementary Graph Algorithms
  8. Minimum Spanning Trees
  9. Single-Source Shortest Paths
  10. Parallel Algorithms
  11. Linear programming
  12. NP-Completeness
  13. Approximation Algorithms

Course Learning Outcomes

Course Objective: Upon completion of this course, students will

Activity Expectations and Assignment Requirements

Attendance

Section 01 (in-person)

I expect each student to be in attendance for each class in-person. Attendance will be calculated by your arrival and duration in class. It is your responsibility to make sure your attendance gets recorded correctly for every class meeting (see under Student Responsibilities below). If you cannot make a class, please inform me and get the relevant materials from a classmate.

Computers are permitted in lecture for note taking and completing exercises. Other activities such as web surfing, stock trading, and social networking are inappropriate. Not only do they distract you but also others.

Students that do not attend both of the first two lectures may be dropped from the course. Refer to the CSU Catalog (https://catalog.columbusstate.edu/academic-regulations/undergraduate-academic-regulations/) for more information on class attendance and withdrawal.

Section V01 (Online)

Attendance will be calculated for each module by calculating if at least 70% of the activities for that module were completed.

AI Policy

Artificial Intelligence (AI) tools, such as ChatGPT or Microsoft CoPilot, enable assistance in a variety of areas such as: brainstorming, outlining, learning, studying, code explanation of examples, practice questions, and understanding compilation errors. All of these areas are appropriate for this course (when used appropriately). Be aware that AI tools may not always be reliable. If you use an AI tool to assist with a graded assignment, include a statement like the following: "[AI tool name] was used in the preparation of this assignment. It was used in the following way(s): [e.g., brainstorming, outlining, grammatical correction] for [portion of the assignment]."

These same tools can also thwart learning by providing easy solutions. Consequently, using these tools for solution generation is not permitted. Providing instructions for an assignment, quiz or exam to AI tools is not allowed for this course. You cannot unsee what you have seen. Use of an AI tool to provide a solution for a graded assignment is considered an act of academic dishonesty.

Projects

There will be multiple projects in this course. Projects must be written in Java. They are due at 10:00 PM Eastern Time on the assigned due date (unless indicated otherwise).

If an assignment contains portions that are more than 75% similar to other material (not provided by the instructor), zero points will be awarded Additionally, an Academic Misconduct incident may be reported as well.
Students missing two or more projects will receive an F or FA in this course. It is recommended that you regularly keep a copy of your projects on a second device.

Project Late Policy

A total of at most 3 project late days will be granted for the entire semester for projects (and only for projects). For example, if Project 2 is turned in two days late and Project 3 is turned in one day late, then all of the late days for the semester have been used.

Exams

There will be an exam during the regular semester (in addition to the final). This will be proctored using Respondus LockDown Browser and Respondus Monitor. Using Respondus Monitor requires a fee of $15 per year. Respondus Monitor requires a webcam to work. These tools are known to not work with the following devices:

If you do not have a compatible laptop or desktop, you will need to find an alternative method to take each of the exams. Some options include:

Final Exam

The course final is comprehensive. Respondus Lockdown Browser and Respondus Monitor are required for the final exam. The final exam will be proctored and available between Friday, May 8, 2026 – and Monday, May 11, 2026. Failing the final may result in not passing the class.

Grading

Category Percentage
Quizzes 20%
Assignments and Projects   40%
Midterm Exam 20%
Final Exam 20%

Each of the grading categories is capped at 100%.

Course letter grades are determined by the final course average according to the following chart:
Final Grade Calculation
% Range Course
Grade
90 – 100 A
80 – 89 B
70 – 79 C
60 – 69 D
<60 F

Expectations

WHAT YOU CAN EXPECT FROM ME

WHAT IS EXPECTED FROM YOU

Information regarding student rights and responsibilities can be found in the CSU Student Handbook.

As a student in this course, you are responsible to:

Course Communication

E-mail

Technical Requirements/ Support

See the CougarVIEW Starter Guide for support with navigating this system.

Hardware Requirements

See the System Checker here. (GeorgiaVIEW’s system checker is compatible with CougarVIEW.)

Software Requirements

Browser Plugins (.pdf files, QuickTime files, .mp4 files) can be obtained at a browser's website:

Privacy Policies

Below are the links to the privacy policies for the tools that we will be using in this course: