CS Electives (choose 6, min 4 at 400-level)
(choose 6)
x !== 'CSCD305') : selectedElectives.push('CSCD305')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD305') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD305 — C++ Programming (3 cr)
Covers C++ including pointers, memory management, classes, inheritance, polymorphism, exception handling, STL, namespaces, and GUI programming.">
CSCD305
x !== 'CSCD371') : selectedElectives.push('CSCD371')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD371') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD371 — .NET Programming (3 cr)
Introduces .NET Programming and the .NET framework. Topics include assemblies, delegates, events, threading, serialization, database connectivity, and GUI components.">
CSCD371
x !== 'CSCD377') : selectedElectives.push('CSCD377')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD377') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD377 — Introductory Computer Graphics (3 cr)
Basic underlying concepts and techniques of 3D modeling and animation using OpenGL Shading Language.">
CSCD377
x !== 'CSCD379') : selectedElectives.push('CSCD379')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD379') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD379 — .NET Web Application Development (3 cr)
Fundamental principles of multi-tier web applications using the .NET Framework. Topics include web standards, portability, and usability.">
CSCD379
x !== 'CSCD396') : selectedElectives.push('CSCD396')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD396') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD396 — Experimental Course (1-5 cr)
Topics course covering emerging areas in computer science. Topics vary by quarter.">
CSCD396
x !== 'CSCD427') : selectedElectives.push('CSCD427')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD427') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD427 — Advanced Database Management Systems (3 cr)
Current trends in database technologies: secondary storage, index structures, query processing, query optimization, concurrency control, transaction management, distributed databases, data mining.">
CSCD427
x !== 'CSCD429') : selectedElectives.push('CSCD429')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD429') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD429 — Data Mining (3 cr)
Automatic discovery of patterns, changes, associations, and anomalies in massive databases. Topics include data preparation, frequent pattern mining, classification, and cluster analysis.">
CSCD429
x !== 'CSCD430') : selectedElectives.push('CSCD430')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD430') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD430 — Big Data Analytics (3 cr)
Basic concepts of big data computing including MapReduce, Spark, and analysis of semi-structured and unstructured data.">
CSCD430
x !== 'CSCD439') : selectedElectives.push('CSCD439')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD439') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD439 — CSCD439
No description available">
CSCD439
x !== 'CSCD445') : selectedElectives.push('CSCD445')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD445') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD445 — GPU Computing (3 cr)
General-purpose GPU computing (GPGPU) for parallelizing computations traditionally performed by the CPU. Applications demanding high performance.">
CSCD445
x !== 'CSCD467') : selectedElectives.push('CSCD467')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD467') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD467 — Parallel and Cloud Computing (3 cr)
Cluster and Cloud computing using networked computers. Topics include synchronization, distributed file systems, MapReduce, VPC technology, and Cloud architecture.">
CSCD467
x !== 'CSCD470') : selectedElectives.push('CSCD470')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD470') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD470 — 3D Computer Graphics Principles (3 cr)
Basic and advanced theoretical concepts of 3D computer graphics illustrated using 3D rendering software.">
CSCD470
x !== 'CSCD471') : selectedElectives.push('CSCD471')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD471') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD471 — Advanced 3D Computer Graphics (3 cr)
Implementation of 3D graphics theory using cross-platform 3D graphics API. Topics include graphics primitives, virtual camera, perspective projection, and lighting.">
CSCD471
x !== 'CSCD473') : selectedElectives.push('CSCD473')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD473') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD473 — Data Visualization (3 cr)
Tools and approaches for scientific data visualization with hands-on projects. Covers cutting-edge information visualization tools and techniques.">
CSCD473
x !== 'CSCD474') : selectedElectives.push('CSCD474')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD474') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD474 — Game Design and Development 1 (3 cr)
Game design principles including analysis frameworks, prototyping, testing, balance, and AI. Students learn Unity and produce guided games demonstrating tiling, terrain generation, and C# scripting.">
CSCD474
x !== 'CSCD475') : selectedElectives.push('CSCD475')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD475') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD475 — Game Design and Development 2 (3 cr)
Application of game design principles. Students create three games from scratch in Unity and emulate releasing them to the real world.">
CSCD475
x !== 'CSCD477') : selectedElectives.push('CSCD477')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD477') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD477 — Virtual Reality with Computer Graphics and Game Engines (3 cr)
VR using computer graphics with hands-on projects. Game engines as implementation platforms for graphics programming assignments.">
CSCD477
x !== 'CSCD480') : selectedElectives.push('CSCD480')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD480') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD480 — Intelligent Systems (3 cr)
AI, knowledge representation, reasoning, planning, machine learning, expert systems, intelligent agents, and search strategies for real-world systems.">
CSCD480
x !== 'CSCD483') : selectedElectives.push('CSCD483')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD483') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD483 — Modeling and Simulation (3 cr)
Tools and techniques for modeling, simulation, visualization and analysis of real-world physical and virtual systems.">
CSCD483
x !== 'CSCD484') : selectedElectives.push('CSCD484')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD484') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD484 — Machine Learning (3 cr)
Supervised learning: decision trees, linear regression, logistic regression, neural networks, model ensembles. Unsupervised: clustering, PCA for dimensionality reduction.">
CSCD484
x !== 'CSCD485') : selectedElectives.push('CSCD485')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD485') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD485 — Deep Learning (3 cr)
Neural network deep learning models: CNNs, RNNs, LSTMs, GANs, Diffusion Models, and Transformers. Training strategies including Dropout and batch normalization.">
CSCD485
x !== 'CSCD495') : selectedElectives.push('CSCD495')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD495') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD495 — Internship (1-10 cr)
Supervised professional experience in a computing-related position. Graded Pass/Fail.">
CSCD495
x !== 'CSCD499') : selectedElectives.push('CSCD499')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CSCD499') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CSCD499 — Directed Study (1-5 cr)
Independent study on a topic of mutual interest to student and faculty advisor.">
CSCD499
x !== 'CYBR303') : selectedElectives.push('CYBR303')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CYBR303') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CYBR303 — Computer and Information Security (3 cr)
Computing security including threat types, virus/malware infection, and defensive techniques such as OS security, email security, internet security, browser tools, and firewalls with hands-on practice.">
CYBR303
x !== 'CYBR410') : selectedElectives.push('CYBR410')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CYBR410') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CYBR410 — Applied Cyber Defense (3 cr)
Hands-on course with practical experiences in cybersecurity threats, mitigations, malware analysis, and cyber defense scenarios.">
CYBR410
x !== 'CYBR434') : selectedElectives.push('CYBR434')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CYBR434') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CYBR434 — Network Security (3 cr)
Practical topics in network security including policy, malicious code, intrusion detection, and cryptographic protocols.">
CYBR434
x !== 'CYBR437') : selectedElectives.push('CYBR437')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CYBR437') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CYBR437 — Secure Coding (3 cr)
Secure program characteristics and vulnerabilities. Topics include buffer overflows, injection attacks, and secure coding standards in Java, C, and C++.">
CYBR437
x !== 'CYBR463') : selectedElectives.push('CYBR463')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('CYBR463') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="CYBR463 — Applied Cryptography (3 cr)
Modern cryptography including symmetric and asymmetric cryptosystems, secure hash functions, digital signatures, and PKI.">
CYBR463
x !== 'EENG360') : selectedElectives.push('EENG360')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('EENG360') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="EENG360 — Hardware Description Languages (4 cr)
Introduces hardware description languages (Verilog/VHDL) and CAD tools for designing complex electronic systems and VLSI circuits.">
EENG360
x !== 'EENG460') : selectedElectives.push('EENG460')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('EENG460') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="EENG460 — Computing Systems: Organization and Design (4 cr)
Covers computer system design including processor architecture, MIPS assembly, pipelining, memory hierarchy, and performance optimization.">
EENG460
x !== 'EENG461') : selectedElectives.push('EENG461')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('EENG461') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="EENG461 — Embedded Systems Design (4 cr)
Covers embedded computing system design including hardware-software integration, optimization, microcontroller programming, and real-time applications.">
EENG461
x !== 'EENG462') : selectedElectives.push('EENG462')"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all"
:class="selectedElectives.includes('EENG462') ? 'bg-emerald-500 text-white border-emerald-500 ring-2 ring-emerald-300' : 'border-slate-200 text-slate-600 hover:border-emerald-300'"
class="px-2.5 py-1.5 rounded-lg text-xs font-medium border transition-all tip"
data-tip="EENG462 — Real Time Embedded Systems (4 cr)
Covers real-time software and hardware design for embedded systems with emphasis on real-time operating systems, networking, and security.">
EENG462