Common Requirements for Graduate Competency
in Professional Masters Programs
in the School of
Computer Science at Carnegie Mellon
-DRAFT-
Professional masters programs for which the School of Computer Science
grants a professional Masters
degree will expect their graduates to be competent in the following
areas. For interdisciplinary programs
housed chiefly in another college the list may be adapted somewhat. We
identify six essential competency
areas. For each we list several examples of that kind of competency as
it appears in various of the
interdisciplinary areas represented in our professional programs. We
expect students to be fluent (i.e., able to
generate results) in at least one area on the list, and we expect them
to be able to read/discuss prepared
content in two others. The lists are representative, not exclusionary
-- they maybe extended when
appropriate.
The specific manner in which competency is demonstrated may vary from
one program to another. Each
program already requires expects its students to be familiar with some
of these topics before they're admitted.
Each program already expects its students to achieve a very high degree
of competency in some of these
topics before graduation. The purpose of this common requirement is to
set a baseline for what we can
expect each student to know when he or she graduates. The competency
may therefore be demonstrated by
prerequisite, by a specific course, by faculty certification based on
project performance, or in other ways the
faculty determines to be sufficient.
Essential Competency Areas
Analytical Competency
The hallmarks of this area are the need for rigor, analysis, and
symbolic computation. This requires facility
with formal, usually mathematical, systems and with the corresponding
validation or proof techniques.
Topics include
Requirements Competency
The hallmark of this area is the ability to figure out what product you
should be building. This requires the
ability to elicit requirements, analyze their consistency, validate
them, and capture them in specifications and
requirements documents. Topics include
Domain analysis
Use cases/scenarios
Domain-specific validation strategies
Problem frames
Corpus analysis for natural language
Delphi studies
Tradeoff analysis
QFD
Contextual inquiry and design
Robot decomposition techniques
Sensor capabilities and limitations
Control capabilities and limitations
Contextual Inquiry interviewing
Questionnaire design
Design Competency
The hallmark of this area is the ability to design a system that is
bigger than you can keep track of in your
head and that will be modified over time by other people. It requires
the ability to resolve conflicting
constraints appropriately and to address needs in the context of
resource limitations. Topics include
Data flow analysis
Control flow analysis
Module decomposition
Buy vs. build decisions
Architectural issues
Contextual inquiry and design
Task analysis
Robot architecture building
Contextual Design from work models
Implementation Competency
The hallmark of this area is the ability to create systems of practical
scale and scope that will be used by real
people. It entails fluency in abstraction, algorithms, use of existing
program libraries or generation tools,
creation of usable interfaces. It requires understanding of the
underlying system structures: user interfaces,
control, data, and communication. Topics include creation and modification of:
Java/C++/Ada/etc. programs of thousands of lines involving multiple components
Databases with tables, queries, forms, reports, and embedded code
External SQL
Specific user interfaces with interface development tools
Prototypes of applications in Visual Basic or similar environment
Rich grammars for natural language
Robot navigation systems
Multi-robot cooperative systems
Interleaving planning and execution
Correctness/Evaluation Competency
The hallmark of this area is the ability to determine whether a product
satisfies (or a product in development
will satisfy) the needs of its user, purchaser, or sponsor. It entails
competency in an appropriate portfolio of
techniques, the ability to establish correctness/acceptance/evaluation
criteria appropriate to the product at
hand, and the ability to select from among those techniques the ones
that best match the criteria. Techniques
include
Formal verification
Testing
Simulation
Performance evaluation
Reviews
Precision and recall for IR
Accuracy and coverage (for machine translation and speech understanding)
Productivity enhancement
Usability testing
Usability inspection methods (e.g. heuristic evaluation, cognitive
walkthrough)
Experimental design
Extra-technical Competency
The hallmark of this area is the ability to work effectively within an
organization. It requires competency in
written and verbal communication sufficient to work in teams,
presentation planning, team organization,
project planning, and understanding the way a product fits into business
processes.
For further information, contact Mary Shaw, Associate Dean for
Professional Programs.