The Department of Computer Science offers three graduate degrees with optional tracks:
- Master of Science in Computer Science (MS CS)
- Artificial Intelligence Track
- Cybersecurity Track
- Master of Science in Information Science (MS IS)
- Applied Data Science Track
- Doctor of Philosophy (PhD)
In addition, an Advanced Certificate in Cybersecurity is offered in collaboration with the Department of Electrical and Computer Engineering. The Department of Computer Science also has an Artificial Intelligence Micro-Credential program.
Master of Science in Computer Science (MS CS)
The Master of Science in Computer Science degree focuses on the design and application of computing systems, including the design of hardware and software components, hardware-software trade-offs and the diverse applications of computing.
Requirements - MS CS
Holders of a baccalaureate degree in computer science or a related field are invited to apply for admission to the MS CS program. Students whose undergraduate degrees are not in computer science may be required to complete some preparatory work in addition to fulfilling the requirements listed below. All MS CS students must complete 31 credits of computer science graduate courses.
1. Complete the following four core courses (total of 12 credits):
- CS 520 Computer Architecture and Organization
- CS 550 Operating Systems
- CS 571 Programming Languages
- CS 575 Design and Analysis of Computer Algorithms
2. Complete the courses in one of the following two options (total of 19 credits):
- Project Option: Six electives approved by the student’s faculty advisor (making a total of ten courses) and a one-credit project the student develops and presents
- Thesis Option: Five electives approved by the student’s faculty advisor (making a total of nine courses) and a four-credit thesis the student writes and defends
Students may choose electives from the list below. One chosen elective must be a large software development course. Large software development courses are marked below.
- CS 515 Social Media Data Science Pipeline*
- CS 524 Intelligent Mobile Robotics
- CS 526 Internet of Things
- CS 527 Mobile Systems Security
- CS 528 Computer Networks and Data Communications**
- CS 532 Database Systems
- CS 533 Information Retrieval*
- CS 535 Introduction to Data Mining
- CS 536 Introduction to Machine Learning**
- CS 540 Advanced Topics in Object-Oriented Programming*
- CS 541 Game Development for Mobile Platforms*
- CS 542 Design Patterns*
- CS 544 Programming for the Web*
- CS 545 Software Engineering
- CS 547 High Performance Computing*
- CS 551 Systems Programming*
- CS 552 Introduction to Cloud Computing
- CS 553X Software Security
- CS 555 Introduction to Visual Information Processing*
- CS 556 Introduction to Computer Vision
- CS 557 Introduction to Distributed Systems*
- CS 558 Introduction to Computer Security***
- CS 559 Science of Cyber Security
- CS 560 Computer Graphics*
- CS 565 Introduction to Artificial Intelligence
- CS 572 Compiler Design*
- CS 576 Programming Models for Emerging Platforms***
- CS 601 CS Research Methodology Seminar
- CS 634 Web Data Management***
- All CS 580 and CS 680 Special Topics courses**
* Large software development course
** Will count as a large software development course dependent on course instructor; large software development courses will be announced well in advance of the start of the semester
*** Counts as a large software development course only with completion of course project
3. Maintain a B average in all graduate coursework.
With approval of the faculty advisor and director of graduate studies, at most, two courses may be taken from other departments in Watson College or from other schools within the University.
Requirements - MS CS with Artificial Intelligence (AI) Track
To complete the AI track in the MS CS, students must replace four electives in the MS CS with the following:
1. Two required AI courses:
- CS 536 Introduction to Machine Learning
- CS 565 Introduction to Artificial Intelligence
2. Two AI electives chosen from the following list:
- CS 515 Social Media Data Science Pipeline
- CS 524 Intelligent Mobile Robotics
- CS 535 Introduction to Data Mining
- CS 555 Introduction to Visual Information Processing
- CS 556 Introduction to Computer Vision
- CS 580 - Certain approved CS topics course in areas such as Computational Social Science, Deep Learning, and Natural Language Processing. The Computer Science web-page will maintain a current listing.
Note: Students who take the AI track in the MS CS must still complete the four core courses, a project or thesis and fulfill the requirement to take a minimum of one large software development course. The MS CS requires 31 total credit hours, with or without a track.
Requirements - MS CS with Cybersecurity Track
To complete the cybersecurity track in the MS CS, students must replace four electives with the following:
1. Two required cybersecurity courses:
- CS 558 Introduction to Computer Security
- CS 559 Science of Cybersecurity
2. Two cybersecurity electives chosen from the following list:
- CS 527 Mobile Systems Security
- CS 528 Computer Networks
- CS 536 Introduction to Machine Learning
- CS 553X Software Security
- CS 580 - Certain approved CS topics course in areas such as Hardware and Systems Security and Data Privacy. The Computer Science web-page will maintain a current listing.
Note: Students who take the cybersecurity track in the MS CS must still complete the four core courses, a project or thesis, and fulfill the requirement to take a minimum of one large software development course. The MS CS requires 31 total credit hours, with or without a track.
Master of Science in Information Science (MS IS)
The Master of Science in Information Sciences prepares students for careers in information technology, spanning from the design configuration and deployment of information processing systems to the management of teams tasked with work of this nature.
Requirements - MS IS
Holders of a baccalaureate degree who have adequate programming skills in at least one programming language are invited to apply for admission to the MS IS program. International applicants must satisfy the University-required English proficiency requirement.
1. Complete the following three required courses (a total of nine credits):
- INFO 501 Information Systems I: Python and Data Mining
- INFO 502 Information Systems II: Management of Systems
- INFO 532X Database Systems
2. Complete a total of 21 credits (seven elective courses) chosen from the following list:
- INFO 505X Software Project Management
- INFO 531X Enterprise Network Security
- INFO 533X Web Based Information Retrieval and Search
- INFO 535X Applied Data Mining
- INFO 536X Applied Machine Learning
- INFO 537 Tools for Data Science
- INFO 541X Mobile Applications for Social Networks
- INFO 542X OO Design in Java+Design Patterns
- INFO 544X Web-based Programming
- INFO 553X Blockchain and Beyond
- INFO 554X Data Analytics for Security
- INFO 558X Web and Database Security
- INFO 559X Information Systems Security
- CS 515 Social Media Data Science Pipeline
- CS 527 Mobile Systems Security
- CS 558 Introduction to Computer Security
- CS 580 - Certain approved CS topics course in areas such as Natural Language Processing. The Computer Science web-page will maintain a current listing.
3. Complete the INFO 595 Termination Project course
4. Maintain a B average for all graduate coursework
Requirements - MS IS with Applied Data Science Track
To meet the requirements to complete the applied data science track in the MS IS, students must complete the following courses within their 21 credits of electives.
1. Two required applied data science courses:
- INFO 535X Applied Data Mining
- INFO 536X Applied Machine Learning
2. Two applied data science electives chosen from the following list:
- INFO 505X Software Project Management
- INFO 533X Web Based Information Retrieval and Search
- INFO 537 Tools for Data Science
- INFO 554X Data Analytics for Security
- INFO 558X Web and Database Security
- INFO 559X Information Systems Security
- CS 515 Social Media Data Science Pipeline
- CS 580 - Certain approved CS topics course in areas such as Natural Language Processing. The Computer Science web-page will maintain a current listing.
PhD in Computer Science
The doctoral program leads to a PhD degree in computer science. Students admitted into the program typically have a master’s degree in computer science or a closely related discipline. Students must complete the requirements listed to earn the PhD.
A more detailed description of the requirement follows. Beyond these program-specific requirements, the academic policies of the Graduate School Manual for doctoral degrees must be satisfied.
Admission to the Program
For admission to the doctoral program, current students in the computer science MS program should discuss their intentions to continue into the PhD program with their faculty advisor of choice and the director of graduate studies. Students with their MS in computer science, or a closely related field, from other institutions should apply through the Graduate School application process. For students with exceptional academic backgrounds and research experiences, it is possible to pursue a direct BS-to-PhD path (without earning an MS along the way).
Because of the wide range of potential research topics and the limited enrollment in the PhD program, preliminary discussions between the applicant and the intended faculty advisor are expected to occur before admission.
Credit and Coursework Requirements
For full-time students without a prior MS degree, a minimum of 60 credits must be completed. At least 42 credits (14 courses) must come from courses. This includes four core courses, and two 600-level courses (CS 697 cannot be used to fulfill this requirement). A maximum of 12 credits may be earned from Independent Study courses. These 54 credits must be completed before admission to candidacy. The remaining credits may be pre-dissertation research or dissertation research taken after admission to candidacy.
For full-time students with a prior MS degree, a minimum of 30 credits must be completed. At least 18 credits (six courses) must come from courses. This includes the four core courses (if MS is from another institution), and two 600-level courses (CS 697 cannot be used to fulfill this requirement). A maximum of six credits may be earned from Independent Study courses. These 24 credits must be completed before admission to candidacy. The remaining credits may be pre-dissertation research or dissertation research taken after admission to candidacy.
All PhD students are required to have a minimum of 24 credit hours in residence.
Guidance Committee
In the first year of study in the PhD program, students must form an approved guidance committee. The guidance committee consists of at least three members from the Computer Science Department; however, in addition, students may propose members from other schools at °®¶¹´«Ã½, and, with Graduate School approval, faculty from other universities or professionals from outside academia may also be included. The guidance committee advises the student and evaluates and certifies the student's performance throughout the program of study and research. If a guidance committee requires any changes to the committee members, the student must notify the department’s graduate administrative assistant.
PhD students are required to identify an outside examiner from the approved list at least one month prior to the defense of the dissertation presentation.
Learning Contract
In consultation with the guidance committee, the student prepares a learning contract in which a program of study is specified, including the major area of research, additional course requirements, teaching requirement, evaluation procedures and the form of the comprehensive examination and research proficiency examination. Although the learning contract may be modified as the research interests of the student develop, to ensure competence and depth in the major area and breadth in relevant disciplines, each modification must be approved by the guidance committee and the director of graduate studies and must be properly documented.
The learning contract consists of two steps. The first step of the learning contract is to be completed at the beginning of the second semester as a PhD student and requires the entries for the title page, relevant prior graduate coursework and degrees, course requirements to be completed and reading list. The second step of the learning contract is to be completed by the end of the third semester and requires the entries for the major research area, teaching requirement, progress evaluation procedure, and the colloquium and prospectus. A copy of the learning contract is placed on file with the computer science graduate administrative assistant.
Comprehensive Qualifying Exam Requirements
Every PhD student must complete the qualifying exam (also known as the PhD comprehensive examination). The comprehensive exam ensures that every PhD candidate has the breadth of general computer science knowledge covered in the required four core courses (Computer Algorithms, Computer Architecture, Operating Systems and Programming Languages). The qualifying exam requirement is waived if the student has a 3.5 grade point average for the four core courses. If a student has taken a matching graduate course in another graduate program, with an appropriate grade, the student may take some other elective for credit at °®¶¹´«Ã½ in consultation with their guidance committee and the director of graduate studies.
In the event that a student does not receive a qualifying exam waiver, the student must pass the qualifying exam, as determined by the student’s PhD committee.
Research Proficiency Examination (RPE)
Students must pass the RPE related to the topic of research, administered by the student's guidance committee. The RPE consists of an oral presentation and the submission of a technical document with thorough related work study. The oral presentation should be announced at least one week in advance of the presentation. A copy of the RPE report must be submitted to the computer science graduate administrative assistant.
Candidacy
Once the course requirements, comprehensive qualifying exam and the RPE are completed, the student is recommended for admission to candidacy.
Colloquium and Prospectus
The primary purpose of the prospectus is to assess the PhD student’s progress toward completing the dissertation and specific plans for achieving the research objectives. The PhD guidance committee will assess the student’s research competence at the PhD level.
The prospectus should describe the motivation and justification for the selected research topic. It should include background material and current status of the intended research area with references, specific research objectives to be achieved for the completion of the dissertation, concrete plans toward completion and evidence of progress toward the objectives.
The announcement about the prospectus presentation must be made in the department at least one week before the presentation. A copy of the final prospectus must be submitted to the graduate administrative assistant.
Proficiency in Teaching
Doctoral candidates must demonstrate proficiency in teaching. Students must complete at least six public presentations with at least one of them being a colloquium in the Department of Computer Science colloquium series. The remaining teaching requirements may be satisfied with any of the following options:
- Teach a CS course at °®¶¹´«Ã½ as an instructor of record or under the supervision of a faculty member
- RPE presentation
- Prospectus presentation
- Dissertation defense presentation
- Any public presentation that is announced at least one week in advance
- Lecture given to students in a normal class (including guest lecturing)
- Paper presentation at a technical conference/symposium/workshop
Dissertation
With the guidance of the dissertation advisor, the student completes research and preparation of the dissertation, which is an original written contribution demonstrating originality and competence in the chosen field of research. The guidance committee has direct charge of all matters pertaining to the dissertation, which must have the committee's unanimous approval before arrangements are made for the final examination for the degree.
In defense of the dissertation, the student is required to pass an oral examination in the form of a presentation open to the University community. The announcement must be made at least 10 days in advance of the presentation. The oral presentation is evaluated by the student’s guidance committee and an outside examiner. The decision to recommend the candidate for the doctoral degree is made by unanimous vote of the guidance committee and the outside examiner.
Advanced Certificate in Cybersecurity
The Advanced Certificate in Cybersecurity will document a student's completion of a formally organized suite of courses in information systems security. The program will introduce a breadth of cybersecurity concepts in a foundational course that is common to all students in the program, but will allow depth in chosen areas of emphasis. In addition to the foundational course, each student will take one course each related to analysis, design and applications as they pertain to information systems security. The intent of the program is not to provide a comprehensive self-contained competency, but rather to provide the student with special attention, in the context of an MS program or in professional practice, to information security issues inherent in computer science and electrical and computer engineering subject matter. It therefore highlights security dimensions of existing coursework and professional experience.
General Academic Program Requirements
The Advanced Certificate in Cybersecurity is designed to:
- Address depth and breadth of information science and security topics
- Attract both CS and ECE undergraduates or students in closely related disciplines
- Offer flexibility in choosing courses for certificate
Students will take a common foundational course and at least one course in three focus areas:
- Design: creation and specification of secure systems (software or hardware) from elementary design principles
- Analysis: assess and quantify security aspects and dimensions of software and hardware systems
- Application: use existing tools and templates to defend systems or exploit vulnerabilities to become penetration testers or "red-team" assessors
The student must maintain at least a B average in four courses spanning all four general areas:
- Cybersecurity Foundations: Fundamentals of Computer Security (WTSN 551) or Introduction to Computer Security (CS 558)
- Design Course: Cyber-Physical Systems Security (EECE 567) or Operating Systems (CS 550)
- Analysis Course: Science of Cybersecurity (CS 559), Fundamentals of Steganography (EECE 562), Contemporary Stats Cybersecurity (EECE 580I), Network Security (EECE 657), Hardware-Based Security (EECE 658), or Cryptography and Information Security (EECE 560)
- Applications: Cyber-Physical Systems Security (EECE 567), Network Computer Security (EECE 565), Software Security (CS 553X), Mobile Systems Security (CS 527), Operating Systems (CS 550), or Hardware and Systems Security (CS 580A)
Admission
The Advanced Certificate in Cybersecurity program is open to graduate students in computer science, electrical and computer engineering or a closely related area as an add-on certificate program or as a standalone certificate program to non-matriculated students. Non-matriculated students who intend to apply to °®¶¹´«Ã½ to earn the certificate, but not a graduate degree, are required to hold a bachelor's degree in CS, ECE or a closely related area.
Artificial Intelligence Micro-Credential Program
The Artificial Intelligence (AI) Micro-Credential program will document a °®¶¹´«Ã½ University student's completion of a formally organized suite of courses tailored to AI. The program will formally introduce students to the fundamental theories and methods of AI to a reasonable level, both in breadth and depth. The program offers two required courses as the foundation to AI: CS 565 Introductions to Artificial Intelligence and CS 536 Introduction to Machine Learning. Students who have taken these two required courses shall be equipped with the essential foundation of AI. In addition to these two required courses, students in this program are also required to take two electives out of a wide suite of the courses offered in the MS CS program related to AI, ranging from specific applications such as using machine learning techniques to address issues in social media to specific areas within AI such as computer vision, natural language processing and robotics. The intent of the program is not to provide a comprehensive self-contained competency, but rather to provide students with the special attention, in the context of the existing MS CS program or existing professional practice, to AI as a focus area to help the students become well-prepared for the emerging era of AI.
General Academic Program Requirements
The AI Micro-Credential program within the existing MS CS program is designed to:
- Embrace the phenomenal needs in our society for AI
- Offer fundamental knowledge of AI to a reasonable level both in breadth and depth
- Help train the AI workforce for our society
Students in this program are asked to complete the two required courses:
- CS 565 Introduction to Artificial Intelligence
- CS 536 Introduction to Machine Learning
In addition, students must also complete two electives from a wide suite of MS CS courses related to AI, such as:
- CS 524 Intelligent Mobile Robotics
- CS 533 Introduction to Information Retrieval
- CS 535 Introduction to Data Mining
- CS 555 Introduction to Visual Processing
- CS 556 Introduction to Computer Vision
- CS 580 - Certain approved CS topics course in areas such as Natural Language Processing. The Computer Science web-page will maintain a current listing.
An average of B or above for all courses must be achieved in order to complete this program.
Admission
The Artificial Intelligence Micro-Credential program is open for °®¶¹´«Ã½ graduate students already admitted into the MS CS program, or °®¶¹´«Ã½ graduate students already admitted into a related program (e.g., electrical and computer engineering) with the required background. The program is also open to °®¶¹´«Ã½ University CS seniors. People outside °®¶¹´«Ã½ may also apply for admission into this program, subject to the review and approval of the CS department.