In the Master of Science in Computer Science program, you will develop the skills and knowledge necessary to analyze, synthesize, and evaluate solutions for real-world problems using techniques from computer science. By staying updated on current practices in systems, networks, tools, algorithms, and advanced topics, you will demonstrate expertise in the field.
Learning Outcomes
- Apply appropriate algorithmic solutions to real-world problems.
- Explain how to secure/defend computer systems, data storage, and/or data communications using appropriate modern techniques.
- Utilize modern artificial intelligence techniques such as deep-learning systems, large-language models, recurrent and convolutional neural networks to handle difficult tasks such as natural language understanding, image classification, and analysis of large data sets.
- Employ modern techniques of operating systems, such as virtualization and the Internet of Things (IoT), to provide computer resources in a secure, efficient, and dependable manner.
- Work effectively in a real-world software development environment, including demonstrating appropriate oral and written communication skills.
Program Requirements - 30 credits
Core Courses (12 credits)
One core course must be taken from each of the following four core areas:
- COSC 510 or 511 Advanced Operating Systems and Computer Architecture
- COSC 512 or 513 Artificial Intelligence and Data Management Systems
- COSC 514 or 515 Networks and Security
- COSC 516 or 517 Algorithms and Models of Computation
Advanced Courses (3 credits)
Advanced courses build on the core courses and provide more depth in the core areas.
- COSC 521 Automated Theorem Proving
- COSC 522 Data Compression
- COSC 523 Machine Learning
- COSC 524 Natural Language Processing
- COSC 525 String Processing
- COSC 560 Algorithms/Graph Theory
Internship (0-3 credits)
A requirement of the program is to gain useful, real-world experience applying the
tools and concepts acquired in the course of study.
If you have no prior, relevant work experience, you will be required to complete an
internship or employment experience, typically during the summer term.
If you have prior, relevant work experience, you may satisfy the internship requirement
by submitting suitable materials. These materials include an academic reflection that
addresses the skills, knowledge, techniques and design principles related to computer
science acquired in your work, along with a portfolio of related work projects, including
design documents, programs and documentation as appropriate, which demonstrate a mastery
of these areas.
Electives (12-15 credits)
The computer science electives must be at the 500 level or above. If a core area has
been satisfied, any additional course taken in that core area may be counted as an
elective.
You may take up to six credits of 500-level courses outside the program with departmental
approval. These credits may be earned at Duquesne or at other approved institutions,
including at Carnegie Mellon or the University of Pittsburgh through cross-registration.
- COSC 530 Web-based Systems
- COSC 531 Parallel and Distributed Computing
- COSC 532 Data Visualization
- COSC 533 Compilers
- COSC 535 Theory of Programming Languages
- CPMA 551 Digital Image Processing
- CPMA 565 Numerical Methods
- CPMA 566 Operations Research
- CPMA 573 Statistical Computing