Honors Program

Computer Science Departmental Honors


Computer science majors who have received an A in both CMSC 201 and CMSC 202 (Computer Science I and II) are eligible to participate in the computer science honors program. Students in the program must maintain a 3.25 overall GPA and a 3.5 GPA in CMSC courses. To receive departmental honors, students must complete the following courses with a grade of B or better:

  • CMSC 341H Data Structures,
  • Two CMSC 4xx honors courses (except CMSC 404 and CMSC 495-499)

and complete a CMSC 495 Honors Thesis under the direction of a faculty advisor. (Note that the credits for CMSC 495 are in addition to the usual requirements for a computer science major.)

For detailed information and forms, see the Guidelines for CMSC 495. There are also examples of honors theses from past Honors students.


To apply for the Computer Science Departmental Honors program, send email to Professor Richard Chang (chang at umbc.edu) with the following information:

  • Your name and student ID.
  • A list of CMSC courses you have taken and the grade received in each.
  • Your most recent GPA.

Please include “CS Departmental Honors Application” in your email message’s Subject field.

You should apply to the departmental honors program at the same time that you request permission to enroll in CMSC 341H. If you are currently enrolled in CMSC 202, then admission to the program and enrollment in CMSC 341H is contingent upon your receiving an “A” in CMSC 202.


Frequently Asked Questions

Q:  What is the purpose of the Computer Science Departmental Honors Program?

A: The purpose of the program is to challenge computer science majors to excel and to do more than the minimum required for graduation. In particular, the honors thesis is an opportunity for students to engage in original thinking and to complete a project that draws upon the skills and knowledge acquired in previous courses. Students interested in research with faculty are strongly encouraged to participate in the departmental honors program.

Q:  Do I have to be a member of the Honors College to participate?

A: No, you do not need to be a member of the UMBC Honors College to participate in the departmental honors program. The two are separate.

Q:  What is the difference between an honors course and a regular course?

A: Honors courses place a greater emphasis on depth of understanding and typically have greater expectations in terms of active student participation in classroom discussions, in-depth reading and technical writing. There is also a higher expectation of the students’ programming abilities and computer science preparation. Honors courses need not cover more material or proceed at a faster pace (although this might be the natural consequence of having a class composed of high-achieving students). In short, when you are enrolled in an honors course, you definitely have to think harder and you might have to work harder.  The Characteristics of Honors Courses are available from the UMBC Honors College.

Q:  When will the computer science honors courses be offered?

A: Starting Fall 2004, the CSEE Department will offer one section of CMSC 341H each Fall semester and at least one section of CMSC 4xxH in the Spring semester. The following is a viable schedule for completing the departmental honors requirements in two years:

year 1
year 2
CMSC 495


Additional honors courses might be offered, depending on demand and the department’s scheduling needs.

Q:  For members of the UMBC Honors College, do computer science honors courses count?

A: The expectation is yes, a computer science honors course should count as an honors course for the Honors College. However, it is the prerogative of the Honors College to make this determination. As far as the distribution of honors courses is concerned, computer science honors courses would fall under the “Mathematics/Natural Sciences” area.

Q:  I will be a freshmen at UMBC in the Fall and I am interested in the honors program. What computer science courses should I take?

A: We expect that the typical student for the computer science departmental honors program is ready for CMSC 201 Computer Science I in his/her first semester. To enroll in CMSC 201 you must have prior programming experience (e.g., a programming course in high school). AP credit is helpful, but not required.

Thus, you should take CMSC 201 Computer Science I in the Fall then CMSC 202 Computer Science II and CMSC 203 Discrete Structures in the Spring. This will give you the prerequisites for CMSC 341H in the Fall of your second year. However, you should also make sure that you’ve satisfied the gateway requirements by the end of your first year. This means taking ENGL 100 Composition, MATH 151 Calculus I and a science course (one of BIOL 100, CHEM 101 or PHYS 121).

A typical first-year schedule for a student interested in the honors program is as follows.

Freshman Year
Fall Semester
CMSC 201 Computer Science I 4
ENGL 100 Composition 3
MATH 151 Calculus I 4
First-Year Seminar 3
total = 14
Spring Semester
CMSC 202 Computer Science II 4
CMSC 203 Discrete Structures 3
MATH 152 Calculus II 4
Science I 4
total = 15

Note that CMSC 201H, the honors version of CMSC 201, is usually offered in the Fall semester. CMSC 201H is not a requirement for participation in the honors program.

Q:  I placed out of CMSC 201 with an AP exam and I’m interested in the Computer Science Departmental Honors program. What courses should I take and when?

A: If you’ve placed out of CMSC 201, then the requirement for an “A” in CMSC 201 is waived. The recommendation is that you take CMSC 202 and CMSC 203 during the Fall semester of your first year then CMSC 313 and/or CMSC 331 during the following Spring semester. After that, CMSC 341H will fit nicely in your schedule for the Fall semester of your second year. You should attempt CMSC 202 in the Fall semester instead of the Spring semester because if it turns out that you really should take CMSC 201 at UMBC, you will find this out sooner rather than later and take CMSC 201 in the Fall and CMSC 202 in the Spring.

Q:  I am a “good” student, but missed my chance to take CMSC 341H. Can I still participate in the honors program?

A: Such cases will be handled on a case-by-case basis. If you received an “A” in CMSC 341 and you have a good idea for an honors thesis, you have a strong case (assuming that you satisfy all the other requirements for membership in the honors program). A recommendation from a CSEE faculty member is also very helpful. To proceed, petition the honors program director — currently, Prof. Richard Chang (chang at umbc.edu).

Q:  I am a transfer student and I received “A’s” in the equivalent of CMSC 201 and CMSC 202. Can I participate in the honors program?

A: Due to the large variation in grading at different institutions, we want you to have done well in a UMBC computer science course. If you take CMSC 341 at UMBC and receive an “A”, then you may petition the honors program director — currently, Prof. Richard Chang (chang at umbc.edu). Such cases will be handled on a case-by-case basis.

Q:  I am a good student but I am not in the honors program. Am I allowed to enroll in a computer science honors course?

A: By permission of the instructor and on a space available basis, “good” students who are not in the honors program may be allowed in a computer science honors course. However, enrollment in honors courses is capped and priority will be given to students participating in the departmental honors program and to members of the UMBC Honors College.  Note: “CMSC 4xxH fits my schedule better” is not a good reason to enroll in an honors course.

Q:  Will my transcript indicate that I participated in the departmental honors program?

A: Departmental honors will be indicated on your transcript, but not on the diploma.