Courses at Carnegie
Mellon
Note: Some additional considerations in
choosing a college for Computer Science courses (my opinion)
Where are the Computer Science
offerings placed in the hierarchy?
Is it at least a
separate department? It is not at UNM.
At Carnegie Mellon
the courses are beyond department level, they have a school of
Computer Science.
How much government or other reasearch
money do they receive?
How current are the courses?
Are they still
offering C and Pascal and not Java and C++?
How many of the components of the
discipline do they offer?
Introduction
The following (abbreviated and edited)
comments were extracted from Carnegie Mellon's catalog as posted on the
Internet.
Carnegie Mellon has a school of
computer science. It is divided into the following components. In addition to
providing instruction, their researchers are active in developing operating
systems, programming languages, wearable computers, networks, and robotics.
The School of Computer Science hosts
seven departments, centers, and institutes as summarized below:
The Center for Automated Learning and
Discovery (CALD) pursues basic science in automated learning methods, including
data mining, statistical methodology, and knowledge discovery.
The Computer Science Department
(CSD), the oldest degree-granting unit in SCS, provides a solid foundation in
the practical and theoretical aspects of building and maintaining systems as
well as the tools needed to adapt easily to changing technologies.
The Entertainment Technology Center
(ETC) is based on the principle of having technologists and fine artists work
together to create new processes, tools, and visions for storytelling and
entertainment.
The Human-Computer Interaction
Institute (HCII), the largest and most diverse group of HCI researchers anywhere
in the world, is devoted to the design, implementation, and evaluation of
interactive computer-based technology.
The Institute for Software Research,
International (ISRI) creates innovative solutions to the problems of practical,
large-scale, and high-quality software-intensive systems.
The Language Technologies Institute
(LTI) draws on Carnegie Mellon's longstanding accomplishments in the natural
language processing of written and spoken language and information management.
The Robotics Institute (RI), founded
in 1979 to conduct basic and applied research in robotics technologies relevant
to industrial and societal tasks, and it is recognized worldwide as one of the
premier organizations of its kind.
Robotics Courses Offered.
Below is a partial list of courses
for which the Robotics Program currently grants credit toward the core and
specialized qualifiers.
The Robotics Program offers all
courses with a "16-" prefix. Other departments offering courses accepted by the
Robotics Program are Computer Science (CS), Electrical and Computer Engineering
(ECE), Mechanical Engineering (MechE), Statistics (Stat), Psychology (Psych),
the Graduate School of Industrial Administration (GSIA), and the Institute for
Complex Engineered Systems (ICES).
Foundations and principles of robotic manipulation. Topics include computational
models of objects and motion, the mechanics of robotic manipulators, the
structure of manipulator control systems, planning and programming of robot
actions.
Basic concepts in machine vision, including sensing and perception, 2D image
analysis, pattern classification, physics-based vision, stereo and motion, and
solid model recognition.
Machine Learning is concerned with computer programs that automatically improve
their performance through experience. This course covers the theory and practice
of machine learning from a variety of perspectives. We cover topics such as
learning decision trees, neural network learning, statistical learning methods,
genetic algorithms, Bayesian learning methods, explanation-based learning, and
reinforcement learning. The course covers theoretical concepts such as inductive
bias, the PAC and Mistake-bound learning frameworks, minimum description length
principle, and Occam's Razor. Programming assignments include hands-on
experiments with various learning algorithms. Typical assignments include neural
network learning for face recognition, and decision tree learning from databases
of credit records.
This course will teach how to acquire, represent, and render scenes from
digitized photographs. Toward this end, several image-based approaches will be
presented, with an emphasis on how to use these techniques to build practical
systems. This hands-on emphasis will be reflected in the programming
assignments, in which students will have the opportunity to acquire their own
images of indoor and outdoor scenes and develop the image analysis and synthesis
tools needed to render and view the scenes interactively on the computer. This
course will be appropriate for graduate students and advanced undergraduates.
A survey of neural net architectures and applications, with an in-depth look at
problems in pattern recognition and in knowledge representation.
The goal of this project course is to teach undergraduates (especially freshmen
and sophomores) how to build such things as robots and intelligent environments,
and how to get involved in research. In the process we will develop our
abilities to predict how technology will affect the future.
This course is designed as a first course in feedback control and systems for
computer science majors. Course topics will include systems, dynamic response,
feedback control, time and frequency domain analysis, Laplace transforms,
state-space design, digital control, and robotic control. Laboratory work will
include implementation of controllers for force feedback robotic devices.
Priorities will be given to those with robotics minor.
Basic concepts and tools for the analysis, design, and control of robotic
mechanisms. Topics covered include foundations of kinematics, kinematics of
robotic mechanisms, review of basic systems theory, control of dynamical
systems. Advanced topics will vary from year-to-year, including motion planning
and collision avoidance, adaptive control, and hybrid control.
This course deals with the science and engineering of computer vision, that is,
the analysis of patterns in visual images of the world with the goal of
reconstructing and understanding the objects and processes in the world that are
producing them. The emphasis is on physical, mathematical, and information
processing aspects of vision.
Topics covered include image
formation and representation, camera geometry and calibration, multi-scale
analysis, segmentation, contour and region analysis, energy-based techniques,
reconstruction of based on stereo, shading and motion, 3-D surface
representation and projection, and analysis and recognition of objects and
scenes using statistical and model-based techniques. The material is based on a
recent graduate-level textbook augmented with research papers, as appropriate.
The course involves considerable Matlab programming exercises.
Advanced issues in robot perception on a rotating basis including sensor design
and calibration, model-based and physics-based perception, parallel computing
for perception, speech and other non-vision
sensors, and perception system
design. This class has a major project component in Robotics research labs.
The principles and practices of quantitative perception (sensing) illustrated by
the devices and algorithms (sensors) that implement them. Learn to critically
examine the sensing requirements of proposed applications of robotics to real
problems, to specify the required sensor characteristics, to analyze whether
these specifications can be realized even in principle, to compare what can be
realized in principle to what can actually be purchased, to understand the
engineering factors that account for the discrepancies, and to design
transducing, digitizing, and computing systems that come tolerably close to
realizing the actual capabilities of available sensors.
To the extent that time and interest
permit, in addition to the sensing requirements of robot function (manipulation,
mobility) per se, illustrative applications will also be drawn from the domain
of observations that robots are employed to make (e.g., noninvasively locating
buried objects or skeletal features, or nondestructively characterizing natural
or manufactured materials), and the domain of infrastructures that robotic
applications depend on (e.g., broadcast communication and navigation signals).
Graduate-level introduction to Artificial Intelligence tailored toward the
algorithms and applications of robotics, manufacturing, and engineering
disciplines. Strong focus on modern numerical approaches to AI and robotics,
including Bayes nets, classical decision-theoretical problems such as
scheduling, and optimal and learning control of Markov systems. Motion planning
and spatial reasoning, neural nets, qualitative reasoning, and fuzzy logic are
covered in detail.
The course will provide a unified view of the statistical approaches in a number
of different fields like image processing, natural language, information
retrieval, code theory, computational biology, diagnosis and decision systems,
data mining. It will present what it means to construct and to use a statistical
model emphasizing the
specific computational problems posed by the
multidimensionality of the data and the size of the data sets.
The course will include direct
investigation in a new area that has grown at the boundary of three different
CMU schools (Astrophysics, Statistics and Computer Science) in the past 18
months as a result of the instructors' research collaboration called
"Computational AstroStatistics": the development and implementation of new,
statistically-robust, and computationally highly efficient tools to support
large sky astronomical surveys.
Sensor based robotic motion planning incorporates sensor information, reflecting
the current state of the environment, into a robot's planning process, as
opposed to classical motion planning, which assumes the robot has full knowledge
of the world prior to the planning event.
Kinematics, statics, and dynamics of robotic manipulator's interaction with a
task, focusing on intelligent use of kinematic constraint, gravity, and
frictional forces. Automatic planning based on mechanics. Application examples
drawn from manufacturing and other domains.
This course investigates topics that are critical in the development of
large-scale robotics systems. Such systems include, for example, mobile robots
operating in natural, unstructured environments, or automated equipment
operating in unstructured environments. Three broad classes of topics will be
investigated. Sensing strategies will be presented, including laser range
finders, radars, thermal, multispectral and IR
sensing. The discussion will focus on
"non-traditional" sensors needed for large-scale systems; conventional sensors
such as sonars will not be discussed.
Techniques for using sensor data for
classification of natural terrain will be discussed. Localization and mapping,
in particular state estimation and SLAM techniques will be discussed in detail.
Finally, planning techniques will be discussed, with an emphasis on navigation
over large areas will be presented. The course assumes basic knowledge of mobile
robots and sensors, as covered in 16-761 or 16-862. The classes will combine
lectures and seminar-style paper presentations.
Mechatronics is the synergistic integration of mechanism, electronics, and
computer control to achieve a functional system. Because of the emphasis upon
integration, this course will center around laboratory projects in which small
teams of students will configure, design, and implement several mechatronic
devices or systems. Lectures will complement the laboratory experience with
comparative surveys, operational principles, and integrated design issues
associated with the spectrum of mechanism, electronics, and control components.
Fourier transforms, the Nyquist sampling theorem, differential
equations, numerical methods, calculus of variations, differential geometry, and
related topics.
This course will explore both classical and modern approaches to planning.
Issues to be discussed include: how to represent actions and world state, how to
search for plans efficiently, how to deal with uncertainty in actions and the
world state, how to represent time, and how to dynamically combine planning and
execution.
Specific planning techniques to be
covered include: means-ends analysis, linear and non-linear planning, GraphPlan,
SatPlan, hierarchical planning, conditional planning, probabilistic planning
using Markov models (MDPs and POMDPs), integration of planning, perception and
execution, execution monitoring and replanning, planning and learning, and robot
(geometric) planning. There are no explicit prerequisites, but a basic knowledge
of AI
is assumed.
The promise of better performance, lower cost, and miniaturization of sensor and
actuator systems has motivated growth in the area of MicroElectroMechanical
Systems (MEMS): silicon-based integrated microsystems. MEMS technology has broad
applications such as inertial navigation, data storage, biochemical analysis,
micromanipulation, optical
displays, and microfluidic jet
systems. This course is an introduction to MEMS, intended for first and
second-year graduate students in ECE and Robotics who desire the engineering
background necessary for research in MEMS at Carnegie Mellon.
Mobile Robot Design is a unique course offering in that it allows students to
design and build a prototype robot. Prior developments include Skyworker, Dante
and lunar rover concepts.
The development of a mobile robot
requires diverse technical skills and experience. Students will become an
integral part of a team of Robotics Institute peers developing a new robot.
Through team meetings, guest speakers and system development, students will be
exposed to the interrelated effects of electronics, software and mechanisms on
the design process. Participants will move a conceptual design from paper to
implementation in a fast paced, and multidisciplinary environment.
Students will be provided an
opportunity to test their ability to apply theoretically sound approaches within
the constraints of a real design.
Students with interests in artificial
intelligence, navigation, path planning, simulation, machine vision, sensor
fusion, control, mechanism design and power systems, are encouraged to enroll.
Individuals will gain an understanding of the complexities of integrating
systems within a robot, and approaches that mitigate the difficulties, in a
learn-through-doing environment.
This course is a complete, hands-on introduction to Mobile Robot Programming.
Using six Nomad Scout robots and portable computers, we will survey topics
ranging from low-level control and obstacle avoidance, including PID control, to
high-level navigation, planning, robot-robot communication and cooperation.
Advanced Mobile Robot Programming is an advanced research and development course
for graduates of 16362 and 16862. In this class, teams of students conduct
research and prototype working robot architectures that are research-quality.
The best robot systems are generally demonstrated at the National Conference on
Artificial Intelligence.
This seminar will discuss both virtual and robotic humanoids. We will try to
identify what we know about humans that can help us program humanoids, and what
we know about humanoids that will help us understand ourselves. Readings will be
drawn from a wide range of fields.
Multiple redundant robots provide more reliable solutions to real-world tasks
than a single agent because the overall system is less sensitive to failure.
Reliability is not the only benefit multirobot systems offer; multirobot teams
can provide significant performance advantages as well. In order to realize
increased performance however, the system designer must address a number of new
challenges presented by the multirobot domain.
This course covers the mechanisms of human motor systems and control, using arm
movements as an example. The course starts with the anatomy of muscles, sensors,
spinal cords, and brains; then functional analyses of these system components
will follow. After system analysis, all components are integrated to study
feedback control dynamics.
Using physiological studies such as
psychophysical and lesion experiments, this course covers classical and modern
theories of how the nervous system may control movements. Advanced topics
include adaptation, representation, coordinate systems, cognitive involvement,
and rehabilitation techniques for motor-impaired patients. A project /
presentation is required to take the course for 12 units. Prerequisites: 21-241,
21-260, 24-451, or permission of the instructor.