Computer Science

Major: Computer Science
Degree Awarded: Master of Science in Computer Science (MSCS) or Doctor of Philosophy (PhD)
Calendar Type: Quarter
Total Credit Hours: 45.0 (MSCS); 90.0 (PhD)
Classification of Instructional Programs (CIP) code: 11.0701
Standard Occupational Classification (SOC) code: 11-3021; 15-1111; 15-1131; 15-1132; 15-1199

About the Program

The Department of Computer Science in the College of Computing & Informatics houses research groups actively conducting research on a wide range of topics in Computer Science including artificial intelligence, algorithms, computer vision and graphics, programming languages, networks, privacy and security, high-performance computing, software engineering, computer algebra, and algorithms. The department emphasizes both interdisciplinary and applied research and is supported by major federal research grants from the National Science Foundation, Department of Defense, Department of Energy, and the National Institute of Standards and Technology, as well as by private sources.

Master of Science in Computer Science
The Master of Science in Computer Science program is designed to provide breadth of understanding in the core topics of computer science, in-depth advanced material, and a range of topics in the research areas of the faculty. A balance of theory and practice is presented, preparing students to perform cutting edge research as well as training students to become practicing computer scientists or software engineers in business, industry, or government. A thesis option is available to prepare students for doctoral studies or other research-oriented career paths.

A graduate co-op is available for the Master of Science program. For more information, visit the Steinbright Career Development Center's website.

Doctorate in Computer Science
Students enrolled in the PhD in Computer Science program are expected to become an expert in a research area in computer science or its interdisciplinary field with other disciplines. They are expected to conduct research in considerable depth, and make substantial contributions through creative research and serious scholarship. The program is designed for students to ensure core knowledge of the fundamental computer science areas and to conduct bleeding edge research at the forefront of a selected area. Students are prepared for leadership careers in research and education in computer science and interdisciplinary work using computer science.

Additional Information

For more information about these programs, visit the College of Computing & Informatics' website.

Master of Science in Computer Science

General Requirements

Students must complete a minimum of 45.0 graduate credits for the MS degree. All students are required to submit a plan of study form with a Graduate Advisor at the beginning of their studies. Significant changes to the plan of study should be discussed with a Graduate Advisor.

Precore Classes

Precore classes may only count towards the degree requirement listed below as free electives with approval from a Graduate Advisor. Precore courses are intended for students without adequate CS background. The material in these courses is considered prerequisite knowledge for all other graduate CS courses.

  • CS 520 Foundations of Computer Science
  • CS 571 Programming Tools and Environments
Core Requirements18.0
Students must take 1 course marked "Core Candidate" from each of the 6 categories below. There are 2 Core Candidate courses in each category.
Theory
Data Structures and Algorithms I (Core Candidate)
Data Structures and Algorithms II
Theory of Computation (Core Candidate)
Advanced Data Structure and Algorithms
Approximation Algorithms
Computational Geometry
Intelligent Systems
Fundamentals of Databases (Core Candidate)
Introduction to Artificial Intelligence (Core Candidate)
Robot Laboratory
Advanced Artificial Intelligence
Game Artificial Intelligence
Knowledge-based Agents
Machine Learning
Programming Systems
Programming Languages (Core Candidate)
Software Design (Core Candidate)
Dependable Software Systems
Program Generation and Optimization
Reverse Software Engineering
Parallel Programming
Computer Systems
Operating Systems (Core Candidate)
Computer Networks (Core Candidate)
Advanced Operating Systems
Network Security
Distributed Systems Software
Vision and Graphics
Computer Graphics (Core Candidate)
Interactive Computer Graphics
Game Engine Programming
Introduction to Computer Vision (Core Candidate)
Advanced Computer Vision
Advanced Computer Graphics
Applications
Developing User Interfaces (Core Candidate)
High Performance Computing (Core Candidate)
Applied Symbolic Computation
Privacy
Cognitive Systems
Computer Algebra I
Computer Algebra II
Breadth Requirements 9.0
Students must take an additional 3 courses from the remaining courses above, spanning at least 2 of the listed categories.
Depth Requirements6.0
Students are required to complete at least 2 600- or 700-level Computer Science (CS) courses beyond the breadth requirement. The CS Independent Study course (CS I599, CS I699, CS I799 may be taken if approved by the College.
Additional Graduate-Level Courses6.0
Two additional graduate level courses are required. These courses are typically 600- or 700-level Computer Science (CS) courses. Graduate courses may be taken from outside the department, if on the list of approved external courses, and may include CS Independent Study (CS I599, CS I699, CS I799) and CS 997 Research in Computer Science, if approved by the College.
Other courses, such as intermediate 500-level and special topics, may also qualify for fulfilling this requirement. Students must check with their advisor to see if this is the case, and have these courses approved by the College. Any course offered by another department that is not on the list of approved external courses must be approved by the College, or it will not count towards the degree.
Thesis or Non-Thesis Option6.0
Thesis Option
Usually students pursuing a Master's Thesis will first do 3.0 research credits (CS I599, CS I699, CS I799 or CS 997) to obtain background knowledge required by the thesis topic. It is the responsibility of the student to find a thesis supervisor.
Master's Thesis
Non-thesis Option
The non-thesis option requires 2 additional 600- or 700-level Computer Science (CS) courses taken in place of the 6.0 thesis credits.
Total Credits45.0

PhD in Computer Science

Core Requirements18.0
Students must take 1 course marked “Core Candidate” from each of the 6 categories below. There are 2 Core Candidate courses in each category.
Theory
Data Structures and Algorithms I (Core Candidate)
Theory of Computation (Core Candidate)
Data Structures and Algorithms II
Advanced Data Structure and Algorithms
Approximation Algorithms
Computational Geometry
Intelligent Systems
Fundamentals of Databases (Core Candidate)
Introduction to Artificial Intelligence (Core Candidate)
Robot Laboratory
Advanced Artificial Intelligence
Game Artificial Intelligence
Knowledge-based Agents
Machine Learning
Programming Systems
Programming Languages (Core Candidate)
Software Design (Core Candidate)
Dependable Software Systems
Program Generation and Optimization
Reverse Software Engineering
Parallel Programming
Computer Systems
Operating Systems (Core Candidate)
Computer Networks (Core Candidate)
Advanced Operating Systems
Network Security
Distributed Systems Software
Vision and Graphics
Computer Graphics (Core Candidate)
Introduction to Computer Vision (Core Candidate)
Interactive Computer Graphics
Game Engine Programming
Advanced Computer Vision
Advanced Computer Graphics
Applications
Developing User Interfaces (Core Candidate)
High Performance Computing (Core Candidate)
Applied Symbolic Computation
Privacy
Cognitive Systems
Computer Algebra I
Computer Algebra II
Breadth Requirement12.0
Students must take another 4 intermediate and advanced courses from the remaining courses above, spanning at least 3 of the listed course categories while earning at least a grade of B in each course.
Depth Requirement18.0
Students are required to complete at least 18.0 credits of CS courses beyond the Breadth Requirement. These courses should be 600- or 700-level courses. Course selection must be approved by the student’s research advisor. The department will periodically offer topics courses, typically run in a seminar fashion, on current research areas of interest to faculty. As part of the Depth Requirements, 3.0 out of the 18.0 credits, but no more than 9.0 credits, are to be Independent Study work (CS 690).

Plan of Study

Upon entering the PhD program, each student will be assigned an Graduate Advisor, and with the help of the Advisor will develop and file a plan of study (which can be brought up to date when necessary). The plan of study should be filed with the Graduate Advisor no later than the end of the first term.

Qualifying Requirements

PhD student must pass each of the six core courses selected as part of the "Core Requirements" (one "Core Candidate" course from each of the listed categories) with a grade B+ or higher. If a student fails to meet this minimum grade requirement, he or she may either (1) take the other "Core Candidate" course in the same category and obtain a grade of B+ of higher; (2) retake the same course at the next offering; or (3) retake the final exam of the same course with permission by the instructor, if deemed appropriate by the instructor and the College. Normally, a student is expected to satisfy this requirement by the end of the student's first year. These requirements, including the remedial actions, must be completed by the end of the student's second year. Transfer credits may count towards these requirements subject to course instructor approval of the syllabus for the transferred course.

Candidacy Exam

The Computer Science candidacy examination serves to define the student’s research domain and to evaluate the student’s knowledge and understanding of various fundamental and seminal results in that domain. At this point the student is expected to be able to read, understand, analyze, and explain advanced technical results in a specialized area of computer science at an adequate level of detail. The candidacy examination will evaluate those abilities using a defined set of published manuscripts. The student will prepare a written summary of the contents of the material, present the summary orally, and answer questions about the material. The examination committee will evaluate the written summary, the oral presentation, and the student’s answers.

Thesis Proposal

After completing the candidacy examination successfully, the PhD candidate must prepare a thesis proposal that outlines, in detail, the specific problems that will be solved in the PhD dissertation. The quality of the research proposal should be at the level of, for example, a peer-reviewed proposal to a federal funding agency, or a publishable scientific paper. The candidate is responsible for sending the research proposal to the PhD committee two weeks before the oral presentation. The PhD committee need not be the same as the candidacy exam committee, but it follows the same requirements and must be approved by the Office of Graduate Studies. The oral presentation involves a 30-minute presentation by the candidate followed by an unspecified period during which the committee will ask questions. After the question and answer period, the candidate will be asked to leave the room and the committee will determine if the research proposal has been accepted. The research proposal can be repeated at most once.

Thesis Defense

After completing the research proposal successfully, the PhD candidate must conduct the necessary research and publish the results in a PhD dissertation. The dissertation must be submitted to the PhD committee two weeks prior to the oral defense. The oral presentation involves a 45-minute presentation by the candidate, open to the public, followed by an unspecified period during which the committee will ask questions. The question-and-answer period is not open to the public. After the question and answer period, the candidate will be asked to leave the room and the committee will determine if the candidate has passed or failed the examination. The candidate will be granted one more chance to pass the final defense if (s)he fails it the first time. Paperwork selecting the thesis committee and indicating the results of the thesis defense must be filed with the College of Computing & Informatics and the Graduate College.

Sample Plan of Study (MSCS)

Term 1Credits
Core Requirement Courses6.0
 Term Credits6.0
Term 2
Core Requirement Courses6.0
 Term Credits6.0
Term 3
Core Requirement Courses6.0
 Term Credits6.0
Term 4
Breadth Requirement3.0
Depth Requirement3.0
 Term Credits6.0
Term 5
Breadth Requirement3.0
Depth Requirement3.0
 Term Credits6.0
Term 6
Breadth Requirement3.0
Elective3.0
 Term Credits6.0
Term 7
Electives6.0
 Term Credits6.0
Term 8
Elective3.0
 Term Credits3.0
Total Credit: 45.0

Dual Degree Opportunities

Graduate students already enrolled in a master's degree program at Drexel have the opportunity, through the dual master's program, to work simultaneously on two CCI master's degrees and to receive both upon graduation. To be eligible, graduate students must be currently working on their first CCI master's degree when requesting admission to the second CCI master's degree. They must obtain approval from the graduate advisors of both programs and work out a plan of study encompassing coursework and/or research (thesis) credits for both degrees.

To satisfy dual degree requirements for the MSCS and another degree the plan of study must include the following: mandatory core, flexible core, breadth and one depth course for a total of 30.0 credits. To obtain a dual degree you must have a minimum of 60 credits, thesis and research credits will be in excess of the 30.0 credits required by MSCS. The dual degree for MSCS students is only available to on-campus students. Please contact your advisor for more information on program requirements as some CCI master's degree combinations may require additional prerequisites.

The dual master's student must complete the Change of Curriculum and Status form and obtain approvals from both graduate advisors. Final approval is granted by the Graduate College. The student is then registered in both majors simultaneously. Upon graduation, the student must file two Application for Degree forms.

Drexel University Libraries

Drexel University Libraries is a learning enterprise, advancing the University’s academic mission through serving as educators, supporting education and research, collaborating with researchers, and fostering intentional learning outside of the classroom. Drexel University Libraries engages with Drexel communities through four physical locations, including W. W. Hagerty Library, Hahnemann Library, Queen Lane Library and the Library Learning Terrace, as well as a vibrant online presence which sees, on average, over 8,000 visits per day. In the W.W. Hagerty Library location, College of Computing & Informatics students have access to private study rooms and nearly half a million books, periodicals, DVDs, videos and University Archives. All fields of inquiry are covered, including: library and information science, computer science, software engineering, health informatics, information systems, and computing technology. Resources are available online at library.drexel.edu or in-person at W. W. Hagerty Library.

The Libraries also make available laptop and desktop PC and Mac computers, printers and scanners, spaces for quiet work or group projects and designated 24/7 spaces. Librarians and library staff—including a liaison librarian for computing and informatics—are available for individual research consultations and to answer questions about materials or services.

iCommons

Located in Room 106 of the Rush Building, the College’s iCommons is an open lab and collaborative work environment for students. It features desktop computers, a wireless/laptop area, free black and white printing, more collaborative space for its students and a furnished common area. There is a fully equipped conference room for student use with a 42” display and videoconferencing capabilities. The iCommons provides technical support to students, faculty, and administrative staff. In addition, the staff provides audio-visual support for all presentation classrooms within the Rush Building. Use of the iCommons is reserved for all students taking CCI courses.

The computers for general use are Microsoft Windows and Macintosh OSX machines with appropriate applications which include the Microsoft Office suite, various database management systems, modeling tools, and statistical analysis software. Library related resources may be accessed at the iCommons and through the W.W. Hagerty Library. The College is a member of the Rational SEED Program which provides cutting-edge software development and project management software for usage in the iCommons and CCI classrooms. The College is also a member of the Microsoft Academic Alliance known also as “DreamSpark” that allows students free access to a wide array of Microsoft software titles and operating systems.

The iCommons, student labs, and classrooms have access to networked databases, print and file resources within the College, and the Internet via the University’s network. Email accounts, Internet and BannerWeb access are available through the Office of Information Resources and Technology.

Rush Building

The Rush Building houses classrooms, CCI administrative offices (academic advising, graduate admissions, faculty, etc.) and the iCommons computer lab (open to all CCI students). The building holds 6 classrooms equipped for audio-visual presentation. These rooms typically contain a networked PC, HD video player, ceiling mounted projectors, and other equipment for presentations and demonstrations. Four of these classrooms are fully equipped to function as laptop computing labs for networking, programming and database-related projects.

The Information Technology Laboratory, located in the Rush Building, consists of enterprise class information technology hardware that students would encounter in industry positions. The hardware includes 20 high powered workstations that are available to students and specialized networking lab simulation software. The hardware is networked and reconfigurable utilizing multiple virtual technologies as needed for the various classes the laboratory supports. In addition, a special system has been built into to the classroom to allow for conversion into a standard laptop computing lab utilizing motorized monitor lifts that allow the monitors and keyboards to recess into the desk.

University Crossings - Cyber Learning Center and Computer Lab

CCI also has classrooms, administrative office and faculty offices located in University Crossings, located at the corner of JFK Blvd. and Market Street. The building houses the Cyber Learning Center, a student computer lab, as well as several classrooms with video-conference enabled technology and media projection capabilities.

The Cyber Learning Center (CLC) provides consulting and other learning resources for students taking computer science classes. The CLC is staffed by graduate and undergraduate computer science students from the College of Computing & Informatics.

Both the CLC and UC Lab now serve as a central hub for small group work, student meetings, and TA assistance. The UC Lab is organized with desk space around the perimeter of the lab for individual or partner/pair-programmed student work, as well as with clusters of tables which can be connected as needed into pods to create workspaces for larger groups.

Research Laboratories

The College houses multiple research labs, led by CCI faculty, across Drexel’s main campus including: the Auerbach and Berger Families Cybersecurity Laboratory, Drexel Health and Risk Communication Lab, Socio-Technical Studies Group, Intelligent Information & Knowledge Computing Research Lab, Evidence-based Decision Making Lab, Applied Symbolic Computation Laboratory (ASYM), Geometric and Intelligent Computing Laboratory (GICL), High Performance Computing Laboratory (SPIRAL), Privacy, Security and Automation Laboratory (PSAL), Drexel Research on Play (RePlay) Laboratory, Software Engineering Research Group (SERG), Vision and Cognition Laboratory (VisCog) and the Vision and Graphics Laboratory. For more information on these laboratories, please visit the College’s research web page.

Alumni Garden

The Rush Building’s Alumni Garden provides additional collaborative space for students, faculty, professional staff and alumni. The Garden features wireless networking, tables with built-in power outlets, accessible covered patio and balconies and a bicycle rack. The Alumni Garden may be reserved for Drexel events.

3401 Market Street

3401 Market Street houses faculty offices and doctoral student workspaces. It also is home to College research groups such and University initiatives such as the Isaac L. Auerbach Cybersecurity Institute. The Institute’s Auerbach and Berger Families Cybersecurity Laboratory serves as University’s first training facility dedicated to identifying challenges and discovering solutions in the areas of cyber infrastructure protection and incident response.

Computer Science Faculty

Yuan An, PhD (University of Toronto, Canada). Associate Professor. Conceptual modeling, schema and ontology mapping, information integration, knowledge representation, requirements engineering, healthcare information systems, semantic web.
David Augenblick, MS (University of Pennsylvania). Associate Teaching Professor. Introductory and object-oriented programming, data structures and database systems, computer application project management, application of computer programming principles and solutions to engineering problems.
Marcello Balduccini, PhD (Texas Tech University) Senior Research Scientist, Applied Informatics Group. Associate Research Professor. Logic programming, declarative programming, answer set programming, knowledge representation, various types of reasoning
M. Brian Blake, PhD (George Mason University) Executive Vice President for Academic Affairs and Provost; Distinguished Professor of Systems and Software Engineeing; Joint Appointments with the College of Engineering and the College of Medicine. Software engineering approaches for integration of Web-based systems.
Mark Boady, PhD (Drexel University). Assistant Teaching Professor. Computer Algebra, complex symbolic calculations, automation of computation problems
David E. Breen, PhD (Rensselaer Polytechnic Institute). Associate Professor. Self-organization, biomedical image/video analysis, biological simulation, geometric modeling and visualization
Matthew Burlick, PhD (Stevens Institute of Technology). Assistant Teaching Professor. Image processing, machine learning, real-time video tracking, object detection and classification, statistics/probability, and acoustics
Yuanfang Cai, PhD (University of Virginia). Associate Professor. Formal software design modeling and analysis, software economics, software evolution and modularity.
Bruce W. Char, PhD (University of California-Berkeley). Professor. Symbolic mathematical computation, algorithms and systems for computer algebra, problem-solving environments parallel and distributed computation.
Christopher Geib, PhD (University of Edinburgh). Associate Professor. Decision making and reasoning under conditions of uncertainty, planning, scheduling, constraint, based reasoning, human computer and robot interaction, probabilistic reasoning, computer network security, large scale process control, user interfaces.
Colin Gordon, PhD (University of Washington). Assistant Professor. Software reliability, program behavior, concurrent and systems-level code, formal assurance, programming models, distributed computing, even testing
Rachel Greenstadt, PhD (Harvard University). Associate Professor. Artificial intelligence, privacy, security, multi-agent systems, economics of electronic privacy and information security.
Jeremy R. Johnson, PhD (Ohio State University). Professor. Computer algebra; parallel computations; algebraic algorithms; scientific computing.
Constantine Katsinis, PhD (University of Rhode Island). Teaching Professor. High-performance computer networks, parallel computer architectures with sustained teraflops performance, computer security, image processing.
Geoffrey Mainland, PhD (Harvard University). Assistant Professor. High-level programming languages and runtime support for non-general purpose computation.
Spiros Mancoridis, PhD (University of Toronto). Professor. Software engineering; software security; code analysis; evolutionary computation.
Adelaida Alban Medlock, MS (Drexel University). Associate Teaching Professor. Introductory programming; computer science education.
William Mongan, MS (Drexel University) Associate Department Head for Undergraduate Affairs, Computer Science. Associate Teaching Professor. Service-oriented architectures, program comprehension, reverse engineering, software engineering, computer architecture, computer science education, engineering education outreach
Ko Nishino, PhD (University of Tokyo) Associate Department Head for Graduate Affairs, Computer Science. Professor. Computer vision, computer graphics, analysis and synthesis of visual appearance.
Krzysztof Nowak, PhD (Washington University). Associate Teaching Professor. Fourier analysis, partial differential equations, image processing, wavelets, asymptotic distribution of eigenvalues, numerical methods and algorithms, computer science education.
Santiago Ontañón, PhD (University of Barcelona). Assistant Professor. Game AI, computer games, artificial intelligence, machine learning, case-based reasoning
Jeffrey L. Popyack, PhD (University of Virginia). Professor. Operations research, stochastic optimization, computational methods of Markov decision processes; artificial intelligence, computer science education.
William C. Regli, PhD (University of Maryland-College Park). Professor. Artificial intelligence; computer graphics; engineering design and Internet computing.
Jeffrey Salvage, MS (Drexel University). Teaching Professor. Object-oriented programming, multi-agent systems, software engineering, database theory, introductory programming, data structures.
Dario Salvucci, PhD (Carnegie Mellon University) Department Head, Computer Science. Professor. Human computer interaction, cognitive science, machine learning, applications for driving.
Kurt Schmidt, MS (Drexel University). Associate Teaching Professor. Data structures, math foundations for computer science, programming tools, programming languages.
Ali Shokoufandeh, PhD (Rutgers University) Senior Associate Dean of Research. Professor. Theory of algorithms, graph theory, combinational optimization, computer vision.
Erin Solovey, PhD (Tufts University). Assistant Professor. Human-computer interaction, brain-computer interfaces, tangible interaction, machine learning, human interaction with complex and autonomous systems.
Julia Stoyanovich, PhD (Columbia University). Assistant Professor. Data and knowledge management, big data, biological data management, search and ranking.
Brian Stuart, PhD (Purdue University). Associate Teaching Professor. Machine learning, networking, robotics, image processing, simulation, interpreters, data storage, operating systems, computer science, data communications, distributed/operating systems, accelerated computer programming, computer graphics.
Filippos Vokolos, PhD (Polytechnic University). Assistant Teaching Professor. System architecture, principles of software design and construction, verification and validation methods for the development of large software systems, foundations of software engineering, software verification & validation, software design, programming languages, dependable software systems.
  • Schedule of Classes
  • All Course Descriptions
  • Co-op
  • Academic Advising
  • Admissions
  • Tuition & Fees
LEARN MORE