Computer Science

Apply For Program

Program Details

  • No. 1 UMBC computer program
  • ABET accredited program
  • Top 100 computer science programs in the U.S.

Introduction

Earn your bachelor’s degree in computer science at UMBC-Shady Grove and unlock innovation, creativity, and the power to solve real-world problems. Our unique model helps you save on tuition while earning the same UMBC degree as four-year students. You’ll graduate with skills in computer theory, design, architecture, development, and application.

UMBC’s computer science program is ABET-accredited, meaning it is internationally-recognized for meeting high standards. Plus, you can narrow your focus by completing one or both optional program tracks in cybersecurity and data science.

Steps to Your Degree

Complete 45 to 70 credits of required and recommended prerequisite coursework in areas like computer science, discrete structures, and calculus and analytic geometry.
Apply, get admitted, and join us at UMBC-Shady Grove.
Finish at least 45 credits for a total of 120 credits that fulfill all major requirements.
Graduate with your B.S. in Computer Science!

More About the Program

Prerequisites

Required Transfer Coursework

  • Computer Science I with a grade of B or higher
  • Computer Science II with a grade of B or higher
  • Discrete Structure with a grade of C or higher
  • Calculus and Analytic Geometry I with a grade of C or higher
  • Calculus and Analytic Geometry II with a grade of C or higher

Students must earn the required grade within two attempts of each course. Withdrawal from a course counts as an attempt.

Recommended Transfer Coursework
The following prerequisites are strongly recommended prior to transfer:

  • Natural science including a sequence in Biology, Chemistry, or Physics that must include at least one lab, with a grade of C or higher and no more than one prior attempt
  • Introduction to Linear Algebra with a grade of C or higher and no more than one prior attempt
  • English Composition

It is also recommended that you complete as many of the following courses as possible before transfer. These courses are required for graduation from UMBC and many cannot be taken at UMBC-Shady Grove:

  • 2 Arts and Humanities courses (from at least two different disciplines)
  • 3 Social Science courses (from at least two different disciplines)
  • World Language 201-Level (consult advisor about exceptions)

For full transfer requirements visit the COEIT transfer information webpage.

Montgomery College Agreement

If you are completing your associate degree at Montgomery College, we encourage you to follow our articulation agreement. This agreement outlines the exact courses you should take to prepare for transfer: A.A. Computer Science and Technologies / B.S. in Computer Science (PDF)

STEM Ready

Students currently enrolled in Montgomery County Public Schools or at Montgomery College can join our STEM Ready pathway to explore opportunities in science, technology, engineering, and math before transfer to UMBC-Shady Grove.

GET STEM READY

Advising & Next Steps

All students are strongly encouraged to complete pre-transfer advising before joining us at UMBC-Shady Grove. Explore pre-transfer advising options.

You’re also welcome to contact Assistant Director of Advising Kim Casimbon directly at sgcoeitadvising@umbc.edu if you have any questions about prerequisites, the program, or your future in computer science.

Admitted and current students should visit our advising FAQs.

Major Requirements

UMBC Graduation Requirements

  • Minimum of 120 academic credits
  • Minimum of 2.0 GPA
  • 45 upper-level (300 & 400-level) credits

Computer Science B.S. Requirements

UMBC-Shady Grove Course Schedule

Cybersecurity and Data Science Tracks

UMBC-Shady Grove students may declare two available tracks as part of their computer science program.

UMBC-Shady Grove courses for the cybersecurity track:

  • CMSC426 Principles of Computer Security
  • CMSC481 Computer Networks
  • CMSC487 Intro to Network Security
  • CMSC449 Malware Analysis

UMBC-Shady Grove courses for the data science track:

  • CMSC462 Introduction to Data Science
  • CMSC471 Introduction to Artificial Intelligence
  • CMSC478 Introduction to Machine Learning
  • Data Science Special Topics Course

Learn more about the cybersecurity and data science tracks to see all applicable UMBC courses.

Course Descriptions

Please view the Undergraduate Catalog for full course descriptions. Visit USG’s website to learn which classes will be available during the upcoming semester.

CMSC 304 Ethical Issues in Information Technology (3 credits)

A survey course that reviews social issues and the ethical impact of information technology throughout the world. The course examines the policy issues that relate to the use of information technology, such as persona, privacy, rights of access, security, transborder information flow and confidentiality.


CMSC 313 Computer Organization and Assembly Language Programming (3 credits)

This course introduces the student to the low-level abstraction of a computer system from a programmer’s point of view, with an emphasis on low-level programming. Topics include data representation, assembly language programming, C programming, the process of compiling and linking, low-level memory management, exceptional control flow, and basic processor architecture.


CMSC 331 Principles of Programming Languages (3 credits)

This course examines the theory, design and implementation of programming languages and provides students with an introduction to programming languages that are likely to be new to them. Topics include specifications of syntax and semantics, declarations, binding, allocation, data structures, data types, control structures, control and data flow, concurrency, and the implementation and execution of programs. The major language paradigms will be described and explored, including imperative, object-oriented, functional, logic programming, concurrent and others. Programming projects will provide experience in several languages.


CMSC 341 Data Structures (3 credits)

An examination of a range of advanced data structures, with an emphasis on an object-oriented approach. Topics include asymptotic analysis; various binary search trees, including red-black and splay trees; skip lists as alternatives to binary search trees; data structures for multidimensional data such as K-D trees; heaps and priority queues, including binary heaps, binomial heaps, leftist heaps (and/or other mergeable heaps); B-trees for external storage; other commonly used data structures, such as hash tables and disjoint sets. Programming projects in this course will focus on implementation issues for data structures and on empirical analysis of their asymptotic performance.


CMSC 411 Computer Architecture (3 credits)

This course covers the design of complex computer systems making heavy use of the components and techniques discussed in CMSC 313, CMPE 212 and CMPE 310. All parts of the computer system – CPU, memory and input/output – are discussed in detail. Topics include information representation, floating-point arithmetic, instructions set design issues (RISC vs. CISC), microprogrammed control, hardwired control, pipelining, memory cashes, bus control and timing, input/output mechanism and issues in the construction of parallel processors.


CMSC 421 Principles of Operating Systems (3 credits)

This course gives students hands on experience with all phases of the data science process using real data and modern tools. Topics that will be covered include data formats, loading, and cleaning; data storage in relational and non-relational stores; data analysis using supervised and unsupervised learning, and sound evaluation methods; data visualization; and scaling up with cloud computing, MapReduce, Hadoop, and Spark.


CMSC 441 Design and Analysis of Algorithms (3 credits)

This course studies fundamental algorithms, strategies for designing algorithms, and mathematical tools for analyzing algorithms. Fundamental algorithms studied in this course include algorithms for sorting and searching, hashing, and graph algorithms. Mathematical tools include asymptotic notations and methods for solving recurrences. Algorithm design strategies include the greedy method, divide-and-conquer, dynamic programming, and randomization.


CMSC 447 Software Engineering I (3 credits)

This course introduces the basic concepts of software engineering, including software life cycle, requirements analysis and software design methods. Professional ethics in computer science and the social impact of computing are discussed as an integral part of the software development process. Additional topics may include tools for software development, software testing, software metrics and software maintenance.


STAT 355 Probability and Statistics (4 credits)

An introduction to applied statistics designed for science majors and others with demonstrated quantitative ability. Topics include nature of statistical methods, random variables and their distribution functions, general principles of estimation and hypothesis testing. A laboratory introduces students to computer techniques in statistical analysis.

The program requires 62 credits taken at UMBC as well as:

  • 28 credit hours required in computer science
  • 4 credits of statistics
  • 12 credits of required computer science coursework for the cyber track or 12 credits for the data science track
  • 9 credits of electives, including 3 credits of technical electives

Career Opportunities

Computer science offers many career opportunities:

  • The average annual salary for computer programmers is $101,000 in the Washington, DC, area – Bureau of Labor Statistics, 2023
  • Washington DC is #3 for employment in computer programming and computer and information research science – Bureau of Labor Statistics, 2023
  • Montgomery County employers searching for these employees include Leidos, Booz Allen Hamilton, Marriott, Geico, and Lockheed Martin

Learn more about computer science career paths (PDF).

Alumni Spotlight

Photo of Ray

Ray Karyshyn '23

Computer Science

“After graduating from UMBC, [I] secured a position as a systems engineer at Northrop Grumman. [I have] successfully applied concepts learned from courses to real-world situations through system modeling, requirement analysis, and healthy customer relations.”

Photo of Carol

Carol Rios Rocha '22

Computer Science

“Since earning my computer science degree, I have leveraged my technical academic background to work with software development, system architecture, IT project portfolio management, and business processes."

Photo of Michael

Michael Metzler '22

Computer Science

“Since graduating from UMBC, I have been working in software development and data analysis. I work with a wide array of customers to design and build software that addresses their challenges and furthers their success.”

B.S. in Computer Science Information Request




HIDDEN
The below IDs are only relevant in PRODUCTION. If connecting this form to any other environment, you will need to work with a system admin to find the correct IDs for the test environment. 







This is the link to the General RFI form Campaign in Salesforce. If creating a new form, you should create a new Campaign in Salesforce and link up the ID here.

This will be set if using the Digital Inquiry Link from the Salesforce Campaign.






By submitting this form, I agree to allow UMBC to contact me by email for the purposes of following up on my interests, including program information, application deadlines, and upcoming events.