• CS 4720

    Mobile Application Development
     Rating

    3.05

     Difficulty

    3.14

     GPA

    3.67

    Last Taught

    Spring 2026

    Mobile computing devices have become ubiquitous in our communities. In this course, we focus on the creation of mobile solutions for various modern platforms, including major mobile operating systems. Topics include mobile device architecture, programming languages, software engineering, user interface design, and app distribution. Prerequisite: CS 3140 with a grade of C- or better

  • CS 4730

    Computer Game Design
     Rating

    4.33

     Difficulty

    3.50

     GPA

    3.61

    Last Taught

    Spring 2026

    This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering. Prerequisite: CS 3140 with a grade of C- or better

  • CS 4740

    Cloud Computing
     Rating

    2.88

     Difficulty

    2.24

     GPA

    3.61

    Last Taught

    Spring 2026

    Investigates the architectural foundations of the various cloud platforms, as well as examining both current cloud computing platforms and modern cloud research. Student assignments utilize the major cloud platforms. Prerequisite: CS 3140 with a grade of C- or better

  • CS 4750

    Database Systems
     Rating

    3.52

     Difficulty

    2.28

     GPA

    3.74

    Last Taught

    Spring 2026

    Introduces the fundamental concepts for design and development of database systems. Emphasizes relational data model and conceptual schema design using ER model, practical issues in commercial database systems, database design using functional dependencies, and other data models. Develops a working relational database for a realistic application. Prerequisite: CS 2120 and 3140 with a grade of C- or better

  • CS 4760

    Network Security
     Rating

    2.86

     Difficulty

    3.00

     GPA

    3.55

    Last Taught

    Summer 2025

    This course covers the principles of secure network communications and the application of network security. Topics include: attack types, attack surfaces, attack phases, network security devices.(a)symmetric key encryption, cryptographic hash function, authentication/identification techniques, key distribution, and data integrity assurance. Also, currently used security mechanisms and protocols will be discussed. Prerequisite: CS 3710 with a grade of C- or better

  • CS 4770

    Natural Language Processing
     Rating

     Difficulty

     GPA

    Last Taught

    Spring 2026

    This course explores Natural Language Processing (NLP), examining how computers are trained to understand and process human language. Students will gain a thorough understanding of both core NLP concepts and advanced techniques, including text analysis, language modeling, machine translation, question answering, text generation, conversation modeling, and the latest advancements in large language models. Prerequisite: CS 3100 with a grade of a C- or better and APMA 3080 or equivalent.

  • CS 4771

    Reinforcement Learning
     Rating

     Difficulty

     GPA

    Last Taught

    Spring 2026

    This course aims to give an introduction to basic ideas and concepts of RL while avoiding deep dive in mathematical treatments. The course will help the student build an intuitive understanding of RL and give students hands-on experience on small-scale RL problems. Prerequisite: CS 2100 with a grade of C- or better or successfully complete the CS 2100 place out test.

  • CS 4774

    Machine Learning
     Rating

    3.22

     Difficulty

    3.10

     GPA

    3.75

    Last Taught

    Spring 2026

    An introduction to machine learning: the study of algorithms that improve their performance through experience. Covers both machine learning theory and algorithms. Introduces algorithms, theory, and applications related to both supervised and unsupervised learning, including regression, classification, and optimization and major algorithm families for each. Prerequisites: CS 3100 with a grade of C- or better. Background in topics covered in Probability and Linear Algebra is required.

  • CS 4790

    Cryptocurrency
     Rating

     Difficulty

     GPA

    Last Taught

    Spring 2026

    This course is a general introduction to cryptocurrencies and blockchain applications. Students will understand the theoretical concepts that underlay cryptocurrencies, and implement both their own cryptocurrencies as well as develop applications that run on existing cryptocurrencies. Students will see the ethics, legal, and policy aspects pertaining to the subject. Prerequisite: CS 3100 with a grade of C- or better

  • CS 4971

    Capstone Practicum II
     Rating

    4.00

     Difficulty

    2.50

     GPA

    3.45

    Last Taught

    Spring 2026

    This course is one option in the CS fourth-year thesis track and is the continuation from CS 4970. Under the practicum track, students will take two 3-credit courses, CS 4970 and CS 4971. These courses would form a year-long group-based and project-based practicum class. There would be an actual customer, which could be either internal (the course instructor, other CS professors, etc.) or external (local companies, local non-profits, etc.). Prerequisite: CS 4970 or Instructor Permission.