COMP285: Algorithm Foundations for AI and Cyber-security

Undergraduate course, North Carolina A&T, Computer Science, 2021

As part of the Engineer in Residence program at Meta Platforms, I spent 6 months as a visiting faculty at North Carolina Agricultural and Technical State University.

Course Site

The entirety of the course content can be found at COMP285: Algorithm Foundations for AI and Cyber-security.

Background

North Carolina Agricultural and Technical State University (NC A&T for short) is a historically black university established in 1891 in Greensboro, NC. The total number of students enrolled in Spring ‘22 was 12,212, making it the largest HBCU in the US. The computer science department (in the College of Engineering) had about 380 total enrolled students, and has been growing steadily.

The computer science department itself is fairly small, with a graduate program focused primarily on cybersecurity and AI. The faculty, though relatively few, was amazing! The department is working hard to continue growing their in-house research endeavors, with a new AI/Cybersecurity lab that was recently opened. The main areas of research include: Artificial Intelligence & Machine Learning (NC A&T is part of Meta’s AI Learning Alliance (AILA)

  • Cyber Security
  • Advanced Biometrics
  • Social Computing
  • Developing an effective computer science curriculum - geared towards industry-specific software engineering - is something that NC A&T is working to improve, which is where Meta’s EIR partnership comes in and where we can make our biggest difference. This is where I also come in!

Course Information

Instructors: Luis A. Perez

Time: Mon, Wed & Fri 12:00 pm - 12:50 pm

Course Description

This course covers analysis of efficient algorithms for sorting, searching, dynamic structure manipulation, path-finding, fast multiplication, and other problems. It introduces algorithmic techniques such as recursion, divide-and-conquer, and dynamic programming. It develops the following tools for algorithmic analysis: correctness proofs, algorithm synthesis, and discusses issues in non-computability. This course also overviews non-deterministic algorithms, and develops techniques to classify computationally hard problems. The concept of non-deterministic polynomial (NP)-completeness is introduced, and basic issues related to NP-completeness are discussed.

Prerequisites: COMP 280, MATH 131.

Staff Contact

  • The best way to reach the staff is by making a private post on Piazza.
  • You may also reach Professor Perez by emailing him directly at [email protected] with any questions or concerns that you do not with to post to Piazza.

Course Grade: The course grade will be based on the following components:

  • 11 Homework assignments: 40% (that is 4.444% per homework, see below)
    • The lowest 2 homework scores will be dropped, so each of your 9 graded assignments compromize 4.444% of the course grade.
  • 1 Midterm Exam: 20%
  • 1 Final Exam: 25%
  • Participation/In-Class Exercises: 5%
  • Weekly Quizzes: 10%
  • Extra Credit: ~5%