Undergraduate Programs

UMBC students in the Commons. Photo by Bruce Weller.

The department of Computer Science and Electrical Engineering offers two programs of undergraduate study, one leading to a Bachelor of Science degree in computer science, and the other leading to a Bachelor of Science degree in computer engineering. Both programs provide a balanced practical and theoretical approach to the study of software and hardware which includes the latest advances in these two areas. These programs emphasize the development of problem-solving skills applied to the analysis and design of real-world problems. Students in these programs are also given a broad background in the fundamentals of mathematics and the physical sciences. Because of the similarities of the two programs, students cannot double-major in computer science and computer engineering, nor can they major in computer engineering and minor in computer science.

Accreditation

The Bachelor of Science program in Computer Science is accredited by the Computing Accreditation Commission of ABET. The Bachelor of Science program in Computer Engineering is accredited by ABET's Engineering Accreditation Commission. ABET is recognized by the U.S. Department of Education and the Council for Higher Education Accreditation.

How the programs differ

The two programs differ in emphasis. Computer engineering focuses upon problems that arise from hardware and hardware development, whereas computer science concentrates on issues in computer applications and software development. Students are encouraged to develop hybrid programs of study that combine computer science/computer engineering with other disciplines, such as biology, chemistry, economics, geography, management science, mathematics, physics, visual arts and other related disciplines.

Graduates of the computer science program are well prepared for advanced studies and for problem-solving across the breadth of the discipline — the theory, design, development and application of computers and computer systems. Major areas within the computer science program include programming languages, algorithms, operating systems, computer architecture, database systems and theory of computation. The program is designed to provide students with a firm grounding in the basics in each of these areas, and deeper understanding in several of them.

Computer science is a rich and diverse discipline. Areas of interest to computer scientists range from theoretical studies to software engineering (performance analysis, human factors, software development tools) to the very practical development of software for business and industry. Computer scientists find their skills, especially their problem-solving skills, to have wide applicability in academic and in industrial settings.

The computer engineering program provides a practical and theoretical background in computer hardware, software, interfacing and design. Areas of interest to computer engineers range from circuit theory and digital signal processing through the study of software/hardware interfaces to the design and analysis of hardware systems and devices. Emphasis is placed on the development of problem-solving skills through hands-on laboratory experience with commercial electronic design software and hardware systems. These skills prepare computer engineers for a wide variety of academic and industrial positions.

The department has close ties with nearby centers of research and development such as NASA Goddard Space Flight Center, the National Institute of Standards and Technology, the Department of Defense, the Center for Computing Sciences, Northrop Grumman, and Bell Atlantic.

Not convinced yet? See the ACM's 10 Ten Reasons to Major in Computing.

Tracks

The Computer Science program currently has two undergaduate tracks. Student interested in these tracks must satisfy the regular requirements for a Computer Science as well as additional requirements of the track. Typically, these requirements can be fulfilled by careful selection of electives and will not require taking more courses than following the normal CMSC program. Students interested in a career as a game programmer can take the Game Development Track which follows the best industry advice to prepare students for technical positions in the games industry.  At the same time, it emphasizes fundamentals that will be equally valuable in other types of computer science positions. Students interested in computer security and cyber security can follow the Information Assurance Track that covers both practical skills and theoretical concepts. UMBC is designated by the NSA and DHS as a National Center of Excellence in Information Security and Assurance and this track addresses the requirements specified for this status.

The Computer Engineering program has two tracks, on in VLSI Architecture and Systems and another in Communications Engineering. See the Computer Engineering program pages for details.

Career and Academic Paths

Graduates of the computer science and computer engineering programs at UMBC find employment in government, industry and business. They are well prepared for careers in software and hardware development. Graduates have been admitted to outstanding graduate programs at such schools as MIT and the University of California-Berkeley. Others have found jobs with such employers as Bell Atlantic, Center for Computing Sciences, the Department of Defense, IBM, NASA, Northrop Grumman, and many other government agencies and businesses, including numerous exciting start-up companies.

The department's M.S. and Ph.D. programs, both in computer science and in electrical engineering, provide advanced training in their respective areas. Each of these programs provides students with additional marketable skills for career opportunities in business, industry, government agencies, and academic environments. Outstanding undergraduate students are encouraged to enroll in graduate level courses. The department also provides a combined B.S./M.S. program in computer science for those talented students who wish to quickly earn both a B.S. and M.S. degree. For more details, please see Combined B.S./M.S for Computer Science students or Combined B.S./M.S for Computer Engineering students.

Evening Option

Evening sections of many computer science courses are offered. Many of the requirements of the computer science major can be fulfilled by attending evening courses. However, many required courses for the computer engineering major are offered only in daytime sections. Thus, it is currently not possible to complete a computer engineering major without attending any daytime courses.