Checklists for CMSC 104, 201 & 202


Q:  I took a course at another institution. Is it equivalent to CMSC 104, 201 or 202?

A: You can use the following checklists to help you determine whether you have programming experience that is equivalent to students who have taken CMSC 104, CMSC 201 and CMSC 202 at UMBC. You should check off a concept or skill below only if you are able to incorporate it in a programming project with little or no help.


CMSC 104 Checklist: You have programming experience that is equivalent to CMSC 104, if you have the following skills and understand the following concepts in some high-level programming language (not necessarily C).

Concepts Skills
  • the compilation process
    (preferrably on UNIX)
  • Boolean expressions
  • simple data types
  • incremental programming
  • if statements
  • for loops and while loops
  • one-dimensional arrays
  • input/output functions
  • functions
    (parameter passing by value only)

CMSC 201 Checklist: You have programming experience that is equivalent to CMSC 201, if you have the following skills and understand the following concepts in C, in addition to those listed above for CMSC 104.

Concepts Skills
  • functional/procedural abstraction
  • abstract data types
  • top-down design
  • separate compilation
  • libraries
  • character and string handling
  • memory allocation
  • program testing and debugging
  • writing functions, using header files
  • advanced pointer manipulations
  • multi-dimensional arrays
  • pointers as function parameters
  • file I/O
  • structures and arrays of structures
  • linked lists, stacks and queues

CMSC 202 Checklist: You have programming experience that is equivalent to CMSC 202, if you have the following skills and understand the following concepts in C, in addition to those listed above for CMSC 104 and CMSC 202.

Concepts Skills
  • Object-Oriented Programming
  • exceptions
  • functional parameters
  • searching and sorting
  • Big-Oh notation
  • recursion
  • classes and inheritance
  • polymorphism
  • writing recursive functions
  • advanced C++ programming
  • C++ operator overloading
  • quicksort and mergesort
  • trees
  • C++ class derivation
  • C++ templates
[an error occurred while processing this directive]