Title: Richard J. LeBlanc, Jr.
121st Century Computing Curricula
- Richard J. LeBlanc, Jr.
- Professor, College of Computing
- Georgia Institute
- of Technology
- Atlanta, Georgia, USA
- rich_at_cc.gatech.edu
2CC2001 Project
- Joint Task Force on Computing Curricula 2001
(CC2001) established in late 1998 - Created by Computer Society of the Institute for
Electrical and Electronic Engineers (IEEE-CS) and
the Association for Machinery (ACM) - Charter to undertake a major review of
curriculum guidelines for undergraduate programs
in computing.
3A New Approach
- Curriculum 1991 included Computer Science and
Computer Engineering curricula recommendations in
a single document. - The CC2001 Task Force recognized a need to
address multiple disciples and draw on broader
expertise.
4Multiple Volumes
- Discipline-specific committees have completed or
are producing volumes in - Computer Science
- Information Systems
- Software Engineering
- Computer Engineering
- Information Technology
5Computing Curricula 2001 Structure
ACM Association for Information Systems
(AIS) Association of Information Technology
Professionals (AITP) IEEE Computer Society
Computer Engineering
Computing Curriculum - Computer
Engineering Steering Committee ACM IEEE Computer
Society
6Why are there so many?
- Computing (as a broad discipline) is now
subdivided into a variety of degree programs in
various countries - Factors in the division include
- Science or Engineering orientation
- Degree of hardware emphasis
- Degree of applications emphasis
- Names on volumes commonly used in USA as degree
program names
7Common Elements of Volumes
- Identify a body of knowledge
- Define core knowledge
- Describe courses and common structures to create
degree programs - Specify the intended results as outcomes or
characteristics of graduates
8Computer Science
- Sponsors
- ACM
- IEEE Computer Society
- Audience
- Broad group of programs that focus on science and
technology of computing
9Computer ScienceDistinguishing characteristics
- Approach to defining core knowledge
- Definition of curriculum alternatives through
curriculum strategies - Greater emphasis on professional practice than in
previous curriculum recommendations - Outcomes defined at minimal and modal levels
10CS Implementation Strategies
11Topic-Based Approach
CS210T. Algorithm Design and Analysis CS220T.
Computer Architecture CS225T. Operating
Systems CS230T. Net-centric Computing CS260T.
Artificial Intelligence CS270T. Databases CS280T.
Social and Professional Issues CS290T. Software
Development CS490. Capstone Project
12Compressed Approach
CS210C. Algorithm Design and Analysis CS220C.
Computer Architecture CS226C. Operating Systems
and Networking CS262C. Information and Knowledge
Management CS292C. Software Development and
Professional Practice
13Systems-Based Approach
CS120. Introduction to Computer
Organization CS210S. Algorithm Design and
Analysis CS220S. Computer Architecture CS226S.
Operating Systems and Networking CS240S.
Programming Language Translation CS255S. Computer
Graphics CS260S. Artificial Intelligence CS271S.
Information Management CS291S. Software
Development and Systems Programming CS490.
Capstone Project
14Web-Based Approach
CS130. Introduction to the World-Wide Web CS210W.
Algorithm Design and Analysis CS221W.
Architecture and Operating Systems CS222W.
Architectures for Networking and
Communication CS230W. Net-centric
Computing CS250W. Human-Computer Interaction
15Net-centric Computing
- Introduces the structure, implementation, and
theoretical underpinnings of computer networking
and the applications that have been enabled by
that technology. - Topics
- Communication and networking
- The web as an example of client-server computing
- Building web applications
- Network management
- Compression and decompression
- Multimedia data technologies
- Wireless and mobile computing
16Information Systems
- Sponsors
- ACM
- Association for Information Systems (AIS)
- Association of Information Technology
Professionals (AITP) - IEEE Computer Society (endorsement)
- Audience
- Programs that focus on the management of
information within the context of an organization
17Information SystemsDistinguishing characteristics
- Curriculum begins with organizational perspective
rather than a technology focus - Defines a single set of courses
- Strongest participation by a practice-oriented
processional organization - Detailed statement of expected outcomes
18IS Recommended Courses
19Software Engineering
- Sponsors
- ACM
- IEEE Computer Society
- British Computer Society
- Information Processing Society of Japan
- Australian Computer Society
- Audience
- Programs with an engineering emphasis on building
software to solve customer needs
20Software EngineeringDistinguishing
characteristics
- Breadth of international participation
- Development of Software Engineering Education
Knowledge (SEEK) starting from SWEBOK - Specific attempt to address multiple curriculum
structures required by diverse systems of
education
21SE Outcomes
- Graduates of an undergraduate SE program must be
able to - 1. Show mastery of the necessary body of
knowledge and skills to begin practice as a
software engineer. - 2. Work as an individual and as part of a team to
develop and deliver executable artifacts. - 3. Reconcile conflicting objectives, finding
acceptable compromises within limitations of
cost, time, knowledge, existing systems, and
organizations. - 4. Design appropriate solutions in one or more
application domains using engineering approaches
that integrate ethical, social, legal, and
economic concerns. - 5. Demonstrate an understanding of and apply
current theories, models, and techniques that
provide a basis for problem identification and
analysis, software design, development,
implementation and verification. - 6. Negotiate, work effectively, provide
leadership where necessary, and communicate well
with stakeholders in a typical software
development environment. - 7. Learn new models, techniques, and technologies
as they emerge and appreciate the necessity of
such continuing professional development.
22SEEK Knowledge Areas
- Computing Essentials (172)
- Mathematical Engineering Fundamentals (89)
- Professional Practice (35)
- Software Modeling Analysis (53)
- Software Design (45)
- Software Verification Validation (42)
- Software Evolution (10)
- Software Process (13)
- Software Quality (16)
- Software Management (19)
23Sample SE Curriculum Patterns
Recommended General Structure
Implemented in a CS Department in North America
24Computer Engineering
- Sponsors
- ACM
- IEEE Computer Society
- Audience
- Programs with an engineering emphasis on building
hardware and software systems - Distinguishing characteristics
- Greatest emphasis on hardware among the curricula
25Information Technology
- Sponsors
- Newly formed ACM SIGITE (Information Technology
Education) - Audience
- Programs with an emphasis on application of
computing technology in a variety of contexts - Distinguishing characteristics
- Still in early stages of development
26What Is the Significance of these
Recommendations?
- They provide an up-to-date view of our
discipline. - They represent the collected wisdom of many
Computing educators. - When they are broadly accepted, their structure
will provide a basis for textbooks and other
educational materials.
27How Can Any DepartmentUse So Much Advice?
- The collection of Computing Curricula volumes
will offer many - Courses
- Curriculum structures
- Implementation strategies
- Program Names
- This is a long way from the simplicity of
Curriculum 78!
28Consider the Role and Objectives of Your Program
- All of the Computing Curricula volumes describe
programs intended to produce certain kinds of
graduates - What are the characteristics of your university
and its students? - What kinds of jobs are available to your
graduates? - Is your department more oriented toward science,
engineering or applications
29Resource Requirements Are a Factor
- Faculty expertise is crucial, but can change with
time - Resources -- labs and other space impact what is
possible - Culture may even be a resource -- for example,
doing software engineering well requires group
work and interaction with customers other than
your faculty. Would this violate the
expectations of both students and faculty?
30Your Program is Unique
- It is defined by a combination of objectives,
resources and opportunities -- do you ever talk
about these things? - Building your program out of custom components
(courses) is costly -- books and on-line
materials will be available based on Computing
Curricula structures and courses - Try to find pieces of the curricula that fit your
context and objectives
31URL for Computing Curriculum Volumes
- Links to all of the volumes
- http//www.acm.org/education/curricula.html