Home | Back

Computer Science:


ACM/IEEE Computing Curricula 2001 Classification Scheme

3.0.0

Computer Science

   
3.1.0

Discrete Structures

3.1.1

Functions, Relations, and Sets

3.1.2

Basic logic

3.1.3

Proof techniques

3.1.4

Basics of counting

3.1.5

Graphs and Trees

3.1.6

Probability

   
3.2.0

Programming Fundamentals

3.2.1

Fundamental programming constructs

3.2.2

Algorithms and problem-solving

3.2.3

Object-oriented programming

3.2.4

Fundamental data structures

3.2.5

Recursion

3.2.6

Event-driven and concurrent programming

3.2.7

Using APIs

   
3.3.0

Algorithms and Complexity

3.3.1

Basic algorithm analysis

3.3.2

Algorithmic strategies

3.3.3

Fundamental computing algorithms

3.3.4

Distributed algorithms

3.3.5

Basic computability theory

3.3.6

Complexity classes P and NP

3.3.7

Automata theory

3.3.8

Advanced algorithmic analysis

3.3.9

Cryptographic algorithms

3.3.10

Geometric algorithms

3.3.11

Parallel algorithms

   
3.4.0

Programming Languages

3.4.1

Overview of programming languages

3.4.2

Fundamental issues in language design

3.4.3

Virtual machines

3.4.4

Introduction to language translation

3.4.5

Language translation systems

3.4.6

Type systems

3.4.7

Models of execution control

3.4.8

Declaration, modularity, and storage management

3.4.9

Programming language semantics

3.4.10

Programming paradigms

3.4.11

Language-based constructs for parallelism

   
3.5.0

Architecture  and Organization

3.5.1

Digital logic and digital systems

3.5.2

Machine level representation of data

3.5.3

Assembly level machine organization

3.5.4

Memory system organization and architecture

3.5.5

Interfacing and communication

3.5.6

Functional organization

3.5.7

Multiprocessing and alternative architectures

3.5.8

Performance enhancements

3.5.9 Architecture for networks and distributed systems
   
3.6.0

Operating Systems

3.6.1 Overview of operating systems
3.6.2

Operating system principles

3.6.3

Concurrency

3.6.4

Scheduling and dispatch

3.6.5

Virtual memory

3.6.6

Device management

3.6.7

Security and protection

3.6.8

File systems

3.6.9

Real-time systems

3.6.10

Fault tolerance

3.6.11 System performance evaluation
3.6.12 Scripting
   
3.7.0

Human-Computer Interaction

3.7.1

Foundations of human-computer interaction

3.7.2

Human-centered software evaluation

3.7.3

Human-centered software development

3.7.4

Graphical user-interface design

3.7.5

Graphical user-interface programming

3.7.6

HCI aspects of multimedia systems

3.7.7

HCI aspects of collaboration and communication

   
3.8.0

Graphics and Visual Computing

3.8.1

Fundamental techniques in graphics

3.8.2

Graphic systems

3.8.3

Geometric modeling

3.8.4

Basic rendering

3.8.5

Computer animation

3.8.6

Visualization

3.8.7

Virtual reality

3.8.8 Graphic communication
3.8.9 Advanced rendering
3.8.10 Advanced techniques
3.8.11 Computer vision
   
3.9.0

Intelligent Systems

3.9.1

Fundamental issues in intelligent systems

3.9.2

Search and constraint satisfaction

3.9.3

Knowledge representation and reasoning

3.9.4

Agents

3.9.5

Advanced search

3.9.6

Machine learning and neural networks

3.9.7

Natural language processing

3.9.8

AI planning systems

3.9.9

Robotics

3.9.10

Advanced knowledge representations and reasoning

   
3.10.0

Information Management

3.10.1

Database systems

3.10.2

Data modeling

3.10.3

Database query languages

3.10.4

Relational databases

3.10.5

Transaction processing

3.10.6

Distributed databases

3.10.7

Relational database design

3.10.8

Physical database design

3.10.9

Data Mining

3.10.10 Information models and systems
3.10.11 Digital libraries
3.10.12 Information storage and retrieval
3.10.13 Hypertext and hypermedia
3.10.14 Multimedia information and systems
   
3.11.0

Net-Centric Computing

3.11.1 Introduction to net-centric computing
3.11.2

Communication and networking

3.11.3

Web as example of client-server computing

3.11.4

Building web applications

3.11.5

Compression and decompression

3.11.6

Multimedia data technologies

3.11.7

Network management

3.11.8

Wireless and mobile computing

3.11.9

Network security

   
3.12.0

Software Engineering

3.12.1

Software processes

3.12.2

Software requirements and specifications

3.12.3

Software design

3.12.4

Software validation

3.12.5

Software tools and environments

3.12.6 Software evolution
3.12.7 Software project management
3.12.8 Component-based computing
3.12.9 Formal methods
3.12.10 Software reliability
3.12.11 Specialized systems development
   
3.13.0

Computational Science

3.13.1

Numerical analysis

3.13.2

Operations research

3.13.3

Modeling and simulation

3.13.4

High performance computing

   
3.14.0

Social and Professional Issues

3.14.1

History of computing

3.14.2

Social context of computing

3.14.3

Methods and tools of analysis

3.14.4

Professional and ethical responsibilities

3.14.5

Risks and liabilities of computer-based systems

3.14.6

Intellectual property

3.14.7

Privacy and civil liberties

3.14.8

Computer crime

3.14.9

Economic issues in computing

3.14.10

Philosophical frameworks

iLumina Digital Library Form ims_csc.htm v1.01



Last modified:
About · Technical Documents · Policies
Copyright © 2001-2003 iLumina.org