UMBC’s Computer Science and Electrical Engineering Department offers both M.S. and Ph.D. programs in Computer Science. Below you will find information on both Computer Science graduate programs, and information about how to apply. We also offer a M.P.S. (Masters in Professional Studies) in Cybersecurity, two graduate certificate programs in Cybersecuity and are developing an M.P.S. program and graduate certificate programs in Data Science.
M.S. in Computer Science
Students pursuing a Master’s of Science (M.S.) in Computer Science can choose from a thesis and a non-thesis option. The thesis option requires the completion of a thesis that must be defended with an oral examination and approved by the student’s master’s thesis committee. In addition, thesis M.S. students must complete 30 credit hours, including 3 core courses, 1 breadth course and 6 credit hours of research. The non-thesis option requires the completion of a scholarly paper. In addition, non-thesis M.S. students must complete 33 credit hours including 3 core courses and 3 credits of CMSC 698 for work on the scholarly paper. Both options must be completed within 5 years and students must maintain a minimum G.P.A. of 3.0. For more details about the Master’s program in Computer Science, see the Computer Science Graduate Handbook.
Ph.D. in Computer Science
Students pursuing a Doctorate of Philosophy (Ph.D.) in Computer Science are required to complete 11 courses, including 3 core courses and 1 breadth course and 18 credit hours of doctoral dissertation research. Ph.D. students must complete and defend their dissertation, pass the comprehensive portfolio, and pass the preliminary examination and admission to candidacy. In addition, Ph.D. students must complete a minimum of three years of full-time graduate study, with at least one year of full-time study at UMBC. The program must be completed within 4 years after admission to doctoral candidacy and students must maintain a G.P.A. of 3.0. For more details about the Ph.D. program in Computer Science, see the Computer Science Graduate Handbook.
- CMSC 611: Advanced Computer Architecture
- CMSC 621: Advanced Operating Systems
- CMSC 641: Design and Analysis of Algorithms
In addition to the core courses, a wide range of elective and special topics courses are offered in areas such as: cybersecurity and information assurance, natural language processing, databases, data mining, mobile and wearable computing, cognitive systems and architectures, semantic web, machine learning, and networking. For a list of Computer Science graduate courses, go here.
- Artificial Intelligence: Intelligent decision support, semantic representations and ontologies, interactive AI systems, preference modeling, reasoning under uncertainty.
- Machine Learning and Data Mining: Knowledge-intensive learning, preference learning, unsupervised perceptual learning, privacy-preserving data mining, ML applications.
- Multi-Agent Systems: Trust modeling, self-organizing agent networks and swarm systems.
- Wireless sensor networks: mobile applications, context-aware systems.
- Web 2.0: Semantic web, knowledge discovery and modeling, policy models, service-oriented computing.
- Graphics and Visualization: Light and shading, realistic and artistic rendering, graphics hardware, understanding data, use of color and texture for visualization, perceptual studies and evaluation.
- Game Development: Use of computer science concepts in game programming, especially graphics and AI, networks, parallel programming, and databases. Multidisciplinary team development.
Meet the Professors
|Dr. Penny Rheingans, Data Visualization
Dr. Penny Rheingans co-directs UMBC’s VAnGOGH lab, where she uses her knowledge in data visualization to solve problems in a variety of application areas. “I think it’s a really cool area because it allows me to synthesize things from a number of areas,” says Rheingans of the field, which allows her to combine techniques from computer graphics, art and illustration, and knowledge of human perceptual and cognitive systems. For more information, read her research profile.
|Dr. Tim Finin, Artificial Intelligence
Dr. Tim Finin specializes in artificial intelligence and has been working on developing smart phones that can gauge their user’s “context.” “What I have always found interesting since I was an undergraduate was the idea that we could make machines as smart as people,” explains Dr. Finin, whose research involving semantic web technology is directed towards realizing that goal. For more information, read his research profile.
Click here for a complete list of Computer Science Faculty.
How to Apply
Pre-requisites for Admission
An applicant to the graduate program in computer science is expected to have a strong background in computer science and mathematics courses. Applicants are expected to have taken the equivalent of the following UMBC courses:
- CMSC 203: Discrete Structures
- CMSC 313: Computer Organization & Assembly Languages
- CMSC 331: Principles of Programming Languages
- CMSC 341: Data Structures
- CMSC 411: Computer Architecture
- CMSC 421: Principles of Operating Systems
- CMSC 441: Algorithm Design and Analysis
- MATH 151: Calculus I
- MATH 152: Calculus II
- MATH 221: Introduction to Linear Algebra
- At least one more advanced math course
AND, at least 1 course from the following list:
- CMSC 435: Computer Graphics
- CMSC 451: Automata Theory & Formal Languages
- CMSC 455: Numerical Computations
- CMSC 461: Database Management Systems
- CMSC 471: Artificial Intelligence
- CMSC 481: Computer Networks
The Application Process
Apply online through UMBC’s Graduate School Website. Applicants must also submit:
- An Official Transcript
- Three Letters of Recommendation
- Statement of purpose
- Graduate Record Examination (GRE) scores
- TOEFL scores (International students only)
- Fall: January 1st
- Spring: June 1st
- Fall: January 1st (for financial consideration), June 1st
- Spring: June 1st (for financial consideration), November 1st