Computer Science
Develop the technical proficiency employers are seeking and enhance your ability to craft innovative solutions to complex, real-world computing challenges.
Effectively collaborate with other experts to turn your ideas into reality when you earn our master’s degree in computer science. Increase your research options and job prospects, focusing on:
- Project management
- Communication
- Analytical skills highly valued in the industry
The coursework is divided into four categories: foundations, systems, computer science core, and the creativity requirement. For the creativity requirement, students can choose from several options, including courses in computer science, data science, human–computer interaction (HCI), an internship, and thesis or project.
Foundations (3 cr.)
Choose one:
- CSCI-B 501 Theory of Computing
- CSCI-B 503 Algorithms Design and Analysis (Fall and Spring)
- CSCI-B 505 Applied Algorithms
Systems (3 cr.)
Choose one:
- CSCI-P 536 Advanced Operating Systems (Spring)
- CSCI-P 538 Computer Networks (Fall)
Computer Science Courses (15 cr.)
Select four CSCI-B or CSCI-P courses at the 500 level or higher:
Data Science and AI
- CSCI-B 551 Elements of Artificial Intelligence
- CSCI-B 555 Machine Learning (INFO-H 515) (Fall)
- CSCI-P 558 Deep Learning (Spring)
- CSCI-B 561 Advanced Database Concepts (Fall)
- CSCI-B 565 Data Mining (Fall)
- CSCI-B 651 Natural Language Processing (Spring) P: CSCI-B 551 or CSCI-B 555 or INFO-H 515
Visual Computing
- CSCI-B 581 Advanced Computer Graphics
- CSCI-B 657 Computer Vision
- CSCI-P 583 Data Visualization (Spring)
Networks and Security
- CSCI-B 504 Introduction to Cryptography (Spring)
- CSCI-B 516 Engineering Cloud Computing (Fall and Spring)
- CSCI-P 538 Computer Networks (Fall)
- CSCI-P 539 Sensor Networks and the Internet of Things (Spring)
- CSCI-B 544 Security for Networked Systems
- CSCI-B 547 Systems and Protocol Security and Information Assurance
- CSCI-B 570 Wireless and Mobile Security (Spring)
- CSCI-B 577 Security Engineering (Fall)
Software Engineering
- CSCI-P 532 Object-Oriented Software Development (Spring)
- CSCI-P 565 Software Engineering I
- CSCI-P 566 Software Engineering II (P: CSCI-P 565) (Fall)
- CSCI-P 567 Software Quality Assurance (Fall)
- CSCI-P 632 Object-Oriented Software Management
Systems
- CSCI-B 534 Distributed Systems
- CSCI-B 543 Computer Architecture (Spring)
- CSCI-P 523 Programming Language Implementation P: CSCI-B 521
- CSCI-P 536 Advanced Operating Systems (Spring)
- CSCI-B 575 Quantum Computing and Applications (Fall)
Additional Computer Science Courses
- CSCI-B 501 Theory of Computing
- CSCI-B 505 Applied Algorithms
- CSCI-B 521 Programming Language Principles
- CSCI-B 522 Programming Language Foundations
- CSCI-B 541 Hardware System Design I
- CSCI-B 546 Malware Epidemic: Threat and Defense
- CSCI-B 555 Machine Learning
- CSCI-B 557 Music Information Processing: Audio
- CSCI-B 590 Topics in Computer Science
- CSCI-C 591 Research Seminar
- CSCI-B 599 Teaching in Computer Science
- CSCI-B 609 Topics in Algorithms and Computing Theory
- CSCI-B 649 Topics in Systems
- CSCI-B 659 Topics in Artificial Intelligence
- CSCI-G 901 Advanced Research
- CSCI-P 515 Specification and Verification
- CSCI-P 523 Programming Language Implementation
- CSCI-P 542 Hardware System Design II
- CSCI-P 556 Applied Machine Learning
May include an independent study:
- CSCI-Y 790 Graduate Independent Study
- CSCI-Y 791 Graduate Independent System Development
Creativity Requirement (9 cr.)
Choose from:
-
- Computer Science (CSCI-B, CSCI-P)
- Data Science (see list below)
- Human–Computer Interaction (see list below)
- CSCI-Y 798 Professional Practicum Internship
Up to 6 credit hours of:
- CSCI-Y 790 Graduate Independent Study
- CSCI-Y 791 Graduate Independent System Development
- CSCI-Y 792 Master’s Thesis
- CSCI-Y 793 Master’s Software Thesis
- INFO-H 695 Thesis/Project in Applied Data Science
- INFO-H 694 Thesis/Project in Human Computer Interaction
Data Science
- INFO-H 501 Introduction to Data Science
- INFO-H 611 Mathematical and Logical Foundations of Informatics (test-out available)
- LIS-S 511 Database Design (test-out available)
- PBHL-B 670 Introduction to Biostatistics in R (or PSY 60000 Statistical Inference or INFO-B 518 Applied Statistical Methods for Biomedical Informatics
- INFO-H 515 Statistical Learning (prerequisite: PBHL-B 670 or PSY 60000)
- INFO-H 516 Cloud Computing for Data Science (prerequisites: graduate database course and programming experience)
- INFO-H 517 Visualization Design, Analysis, and Evaluation (prerequisite: programming experience)
- INFO-H 518 Deep Learning Neural Networks
- INFO-P 502 Modeling Crisis
- LIS-S 506 Introduction to Research or INFO-I 575 Informatics Research Design
- NEWM-N 510 Web Database Development
Human-Computer Interaction
- INFO-H 541 Interaction Design Practice
- INFO-H 543 Interaction Design Methods
- INFO-H 561 Meaning and Form in HCI
- INFO-H 563 Psychology of HCI
- INFO-H 564 Prototyping for Interactive Systems
- INFO-H 565 Collaborative and Social Computing
- INFO-H 566 Experience Design for Ubiquitous Computing
- INFO-H 570 Tangible and Embodied Interaction
- INFO-I 575 Informatics Research Design
- INFO-H 581 Experience Design and Evaluation of Access Technologies
- INFO-H 582 UX Design Ethics
- INFO-H 583 Conversational User Interfaces
Thesis or Project
The Thesis/Project is available to highly motivated students ready to carry out publishable research. Students must prepare a prospectus and gain a commitment from a primary faculty advisor with research interests in computer science by the end of the first semester. By the end of the second semester, students must complete a course on research design and methods (e.g. LIS-S 506, or INFO-I 575), if indicated by the advisor. The thesis or project must be completed in two semesters or in a semester and summer. Thesis students register for a total of 6 credits, and project students register for a total of 3–6 credits. Students must prepare and defend a research proposal with a timeline of deliverables in addition to the thesis or project.
Nonmajor Courses (not for credit)
- CSCI-A 521 Computing Tools for Scientific Research
- CSCI-A 538 Network Technologies and Systems Administration
- CSCI-A 548 Mastering the World-Wide Web
- CSCI-A 590 Topics in Programming
- CSCI-A 591 Introduction to Computer Science
- CSCI-A 592 Introduction to Software Systems
- CSCI-A 593 Computer Structures
- CSCI-A 594 Data Structures
- CSCI-A 595 Fundamentals of Computing Theory
- CSCI-A 596 Programming Languages
- CSCI-A 597 Introduction to Programming I
Other Computer Science Courses
- CSCI-T 599 Topics in Computer Science Education
- CSCI-Y 799 Computer Science Colloquium
- CSCI-Y 890 Thesis Readings and Research
Last updated: 3/2024