Undergraduate Courses
The following list contains all undergraduate courses that can appear on the Computer Science schedule, including selected courses offered by other departments. (The schedules for the Summer 2025 and Fall 2025 terms are available, together with the schedules for previous years .) Please note that some courses are experimental and may not be offered on a regular basis. These may be subject to change each academic year.
Required Courses:
- CS 160 Exploring Computer Science
- CS 161 Introduction to Programming and Problem-solving
- CS 162 Introduction to Computer Science
- CS 163 Data Structures
- CS 205 System Programming and Architecture
- CS 250 Discrete Structures I
- CS 251 Discrete Structures II
- CS 302 Programming Methodologies and Software Implementation
- CS 305 Social, Ethical, and Legal Implications of Computing
- CS 314 Elements of Software Engineering
- CS 333 Introduction to Operating Systems
- CS 350 Algorithms and Complexity
- CS 358 Principles of Programming Languages
- CS 469 Software Engineering Capstone I
- CS 470 Software Engineering Capstone II
- CS 486 Introduction to Database Management Systems
Active Electives:
- CS 284 Algorithmic Thinking
- CS 311 Computational Structures
- CS 415P Parallel Programming
- CS 416P Computers, Sound and Music
- CS 418 Cultural Competence in Computing
- CS 423 Rust Programming
- CS 429 Exploring Fractals
- CS 430P Internet, Web, & Cloud Systems
- CS 431 Introduction to Performance Measurement, Modeling and Analysis
- CS 435 Accelerated Computing with GPU's and Xeon Phi
- CS 440 Deep Learning: Computational Structures and Programming
- CS 441 Artificial Intelligence
- CS 444 Natural Language Processing
- CS 445 Machine Learning
- CS 447P Computer Graphics
- CS 448 Virtual Reality
- CS 451 Numerical Computation
- CS 454 Software Engineering
- CS 457 Functional Programming
- CS 463 Intro to Web Development
- CS 464P Front End Web Development
- CS 465P Full Stack Web Development
- CS 466 Voice Assistants
- CS 480 Randomized Algorithms and Probabilistic Analysis
- CS 483 Introduction to Quantum Computer Science
- CS 485 Cryptography
- CS 487P Database Management Systems Implementation
- CS 488P Cloud & Cluster Data Management
- CS 489 Blockchain Development & Security
- CS 490 Introduction to Multimedia Computing and Networking
- CS 491 Introduction to Computer Security
- CS 492 Malware Reverse Engineering
- CS 493 Digital Forensics
- CS 494P Internetworking Protocols
- CS 495 Web and Cloud Security
- CS 496 Network Security
Special Topic Courses (Active):
- CS 410 Top: Advanced Functional Programming
- CS 410 Top: Advanced Java Programming
- CS 410 Top: Advanced Topics in Program Verification
- CS 410 Top: Adventures in Natural Language Processing
- CS 410 Top: AI and Humanities
- CS 410 Top: Applied Privacy and Data Governance
- CS 410 Top: Code Large Language Models
- CS 410 Top: Code Reading & Review
- CS 410 Top: Computational Photography
- CS 410 Top: Computer Game Design
- CS 410 Top: Computer Vision and Deep Learning
- CS 410 Top: Contemporary Software Development with Java and Android
- CS 410 Top: Data Clustering
- CS 410 Top: Data Engineering
- CS 410 Top: Data with Python
- CS 410 Top: Robust Software System Design
- CS 410 Top: Ethics in Artificial Intelligence
- CS 410 Top: Formal Proof Foundations
- CS 410 Top: Foundations of Computer Vision
- CS 410 Top: Foundations of Emerging Technologies
- CS 410 Top: Generative Security Applications
- CS 410 Top: Interactive Fiction
- CS 410 Top: Introduction to Computational Imaging
- CS 410 Top: Introduction to Computational Photography
- CS 410 Top: Introduction to Computer Vision
- CS 410 Top: Introduction to Data Mining
- CS 410 Top: Introduction to Healthcare Data Analytics
- CS 410 Top: Introduction to Privacy-aware Computing
- CS 410 Top: IoT Security
- CS 410 Top: Large Language Models
- CS 410 Top: Mobile and Wireless Networks
- CS 410 Top: Mobile Health
- CS 410 Top: Networked Markets
- CS 410 Top: Operating System Internals
- CS 410P Top: Programming Language Compilation
- CS 410 Top: Proof Assistants and Program Verification
- CS 410 Top: Reinforcement Learning
- CS 410 Top: Rust Embedded
- CS 410 Top: Rust Web Full-Stack
- CS 410 Top: Secure System Administration and DevOps
- CS 410 Top: Speech Synthesis
- CS 410P Top: The Joy of Coding with Java and Android
- CS 410 Top: Unconventional Cameras
- CS 410 Top: Usability Engineering
- CS 410 Top: Wireless Networks and Applications
Other Courses:
- CS 202 Programming Systems
- ECE 341 Intro. to Computer Hardware
- CS 420P Object-Oriented Programming and Design
- CS 421 Programming Language Implementation: Syntax and Stat
- CS 422P Programming Language Implementation: Code Generation
- CS 438 Computer Architecture
- CS 442P Advanced Artificial Intelligence: Combinatorial Games
- CS 443 Advanced Artificial Intelligence: Combinatorial Search
- CS 446 Advanced Topics in Machine Learning
- CS 452 Building Software Systems with Components
- CS 461P Open Source Software Development Laboratory
- CS 462 Advanced Open Source Software Engineering
- CS 467 The Wireless Web
- CS 497 Sensor Networks
- CS 498 Introduction to Wireless Network Protocols
Other Special Topics Courses:
- CS 199 Special Studies: Programming and Problem Solving: A First Exploration
- CS 299 Special Studies: Algorithmic Thinking
- CS 399 Special Studies: COBOL and Legacy Systems
- CS 410 Top: Advanced Topics in C++ Programming
- C S 410 Top: Advanced Topics in Concurrency
- CS 410 Top: Algorithms Coding
- CS 410P Top: Computers, Sound and Music
- CS 410 Top: Exploring Fractals
- CS 410 Top: Generative AI
- CS 410 Top: Introduction to HCI
- CS 410 Top: Introduction to Quantum Computing
- CS 410 Top: Introduction to Visual Computing
- CS 410 Top: Languages and Low-Level Programming
- CS 410 Top: Markets and the Internet
- CS 410 Top: Modern Agile and Other XP Software Engineering
- CS 410 Top: Modern Embedded Computing
- CS 410 Top: Natural Language Processing
- CS 410 Top: Network Security
- CS 410 Top: Rust for Small Systems Programming
- CS 410 Top: Rust Programming
- CS 410 Top: Rust Web Development
- CS 410 Top: Practicum in Asynchronous Systems and Algorithms
- CS 410 Top: Software Design Patterns
- CS 410 Top: Spoken Language Interfaces
- CS 410 Top: Theorem Proving and Program Verification
- CS 410 Top: Topics in Software Validation
- CS 410 Top: Unit Test Branching Strategy
- CS 410 Top: User Interfaces
- CS 410 Top: Virtual Reality
- CS 410 Top: Compilers and Interpreters
To review course descriptions of previously offered courses, please contact the instructor or review the PSU Bulletin .