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. The course requires familiarity with Java Programming Language.

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 12, 2024

Deadline to withdraw with a WP (Withdraw Pass):  Friday, March 1, 2024

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

Attendance is required by the university and will be recorded at the beginning of each class. It may also be used in determining grades. Additionally, it is the student's responsibility to independently cover any materials missed. Makeup exams or quizzes are generally not given, so please make sure you are present for all exams and quizzes.

Section 01 (50% online)

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 can not 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 (100% Online)

Attendance will be calculated for each module based on completing at least 70% of the activities for that module.

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 is required for the final exam. For Section 01 (50% online), the final exam is scheduled for Friday, May 1, 2024, 1:30 – 4:00 PM in the same room as the classroom. For Section V01 (100% online), the final exam will be proctored and available between Friday, May 1 2024 – and Monday, May 4, 2024. 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: