| ||||||
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