Note: These are the requirements for computer science majors who are following the 1998-2000 undergraduate catalog. The requirements for other years are available here.
Additional Information
Students who wish to obtain a B.S. degree in Computer Science must complete nineteen courses taken within six groups (63/64 credits total).
A grade of "C" or better is necessary for any course to be applied to the major. No course may be used in more than one category. Honors sections are offered in CMSC 201 and 202. Departmental recommendation is required for registration.
Transfer students majoring in computer science must complete at least 18 credits in CMSC, CMPE or ENEE courses at UMBC.
Each student who wishes to earn a B.S. degree in computer science must meet the following two gateway requirements:
a) CMSC 201
b) CMSC 202
a) CMSC 201
b) CMSC 202
c) MATH 151 or MATH 141
d) ENGL 100
e) BIOL 100, CHEM 101 or PHYS 121
(PHYS 121 is recommended for the computer science program)
These gateway requirements are effective fall 1998. They apply to those beginning their college education in fall 1998.
| CMSC 201/201H | Computer Science I |
| CMSC 202/202H | Computer Science II |
| CMSC 203 | Discrete Structures |
| CMSC 211* | Assembly Language Programming |
| CMSC 311* | Introduction to Computer Organization |
| CMSC 331 | Principles of Programming Languages |
| CMSC 341 | Data Structures |
| CMSC 421 | Principles of Operating Systems |
| CMSC 441 | Algorithms |
Note: Students who are transferring a CMSC 201 equivalency in a language other than C should take CMSC 106 prior to enrolling in CMSC 202. It is highly recommended that students without prior programming experience take CMSC 104 before registering for CMSC 201.
*Students have the option of taking the combination of CMSC 313 and 411 to satisfy the CMSC 211 and 311 requirements. If this option is taken, CMSC 411 does not count as an elective for Sections V and VI below.
Option 1:
| MATH 151 | Calculus and Analytical Geometry I |
| MATH 152 | Calculus and Analytical Geometry II |
| MATH 221 | Introduction to Linear Algebra |
Option 2:
| MATH 140 | Differential Calculus |
| MATH 141 | Integral Calculus |
| MATH 142 | Calculus Applications and Infinite Series |
| MATH 221 | Introduction to Linear Algebra |
| STAT 355 | Introduction to Probability and Statistics for Scientists and Engineers |
Note: STAT 451 or 453 my be substituted for STAT 355
| BIOL 100 | Concepts of Biology |
| CHEM 101 | Principles of Chemistry I |
| PHYS 121 | Introductory Physics I |
| CMSC 411 | Computer Architecture |
| CMSC 431 | Compiler Design Principles |
| CMSC 435 | Computer Graphics |
| CMSC 445 | Software Engineering |
| CMSC 451 | Automata Theory & Formal Languages |
| CMSC 455 | Numerical Computations |
| CMSC 456 | Symbolic Computation |
| CMSC 461 | Database Management Systems |
| CMSC 471 | Artificial Intelligence |
| CMSC 481 | Computer Networks |
| CMSC 483 | Parallel & Distributed Processing |
Note: Students may also choose electives in this category from computer engineering courses with special permission from the CSEE department.
| CMSC 109 | Programming Topics |
| CMSC 299 | Independent Study in Computer Science |
| CMSC 404 | The History of Computers and Computing |
| CMSC 498 | Independent Study in Computer Science for CMSC Interns and Co-op Students |
| CMSC 499 | Independent Study in Computer Science |
| ENGL 393 | Technical Writing |
Note: see sections on Co-op and Internship Information and on Independent Study for additional instructions for registering for CMSC 498 and CMSC 299 and CMSC 499. [an error occurred while processing this directive]