24
CS Body of Knowledge (ACM) Discrete Structure s Programmin g Fundamenta ls Algorithms & Complexity Operating Systems Architectu re & Organizati on Social & Prof. Issues Computational Sc. & Numerical Methods Source: Steelman Draft 2001, ACM

CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

Embed Size (px)

Citation preview

Page 1: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge (ACM)

Discrete Structures

Programming Fundamentals

Algorithms & Complexity

Operating Systems

Architecture & Organization

Social & Prof. Issues

Computational Sc. & Numerical Methods

Source: Steelman Draft 2001, ACM

Page 2: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge (ACM)

Discrete Structures

Programming Fundamentals

Algorithms & Complexity

Operating Systems

Architecture & Organization

Social & Prof. Issues

Computational Sc. & Numerical Methods

Source: Steelman Draft 2001, ACM

CS FundamentalsMostly Technology independent

Page 3: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge (ACM)

Discrete Structures

Programming Fundamentals

Programming Languages

Algorithms & Complexity

Net-Centric Computing

Operating Systems

Architecture & Organization

Graphics & Visual Programming

Information Management

Social & Prof. Issues

Computational Sc. & Numerical Methods

Source: Steelman Draft 2001, ACM

CS FundamentalsMostly Technology independent

Page 4: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge (ACM)

Discrete Structures

Programming Fundamentals

Programming Languages

Algorithms & Complexity

Net-Centric Computing

Operating Systems

Architecture & Organization

Graphics & Visual Programming

Information Management

Social & Prof. Issues

Computational Sc. & Numerical Methods

Source: Steelman Draft 2001, ACM

CS FundamentalsMostly Technology independent

Core Conceptual CoursesBest exemplified by a set of related technologies;

May or may not be influenced by University infrastructure

Page 5: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge (ACM)

Discrete Structures

Programming Fundamentals

Programming Languages

Algorithms & Complexity

Human Comp. Interaction

Net-Centric Computing

Operating Systems

Architecture & Organization

Graphics & Visual Programming

Intelligent Systems (AI)

Information Management

Social & Prof. Issues

Software Engineering

Computational Sc. & Numerical Methods

Source: Steelman Draft 2001, ACM

CS FundamentalsMostly Technology independent

Core Conceptual CoursesBest exemplified by a set of related technologies;

May or may not be influenced by University infrastructure

Page 6: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge (ACM)

Discrete Structures

Programming Fundamentals

Programming Languages

Algorithms & Complexity

Human Comp. Interaction

Net-Centric Computing

Operating Systems

Architecture & Organization

Graphics & Visual Programming

Intelligent Systems (AI)

Information Management

Social & Prof. Issues

Software Engineering

Computational Sc. & Numerical Methods

Source: Steelman Draft 2001, ACM

CS FundamentalsMostly Technology independent

Core Conceptual CoursesBest exemplified by a set of related technologies;

May or may not be influenced by University infrastructure

Can be taught independent of the above two categories

Page 7: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge

Programming Languages

Information Management

Net-centricComputing

Graphics & VisualProgramming

.NET Framework and C#/VB/J#/C++/

Component Pascal/Scheme/

Fortran/…

OO Languages

SQL Server

DataSets/XML

ADO .NET

Visio and UML

Data Storage, Transaction Mgmt

Programming the Web, Wireless, Mobile Computing, Network Security, Virtual Runtimes

XML Web Services, .NET Framework & .NET Compact Framework, MIT, SQL CE, ASP .NET

Graphics, Modeling, Animation, Visualization

WinForms, WebForms, GDI+ Libraries, Direct X

Page 8: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CS Body of Knowledge

Operating Systems

SoftwareEngineering

Human ComputerInteraction

Senior/CapstoneProjects

.NET Framework on any OS

File I/O, Resource Mgmt, Security, Memory Mgmt, Threading, Virtual Runtimes

.NET Framework, XML Web Services using Soap Toolkit, WSDK, UDDI SDK , VS .NET, Visio

System Analysis and Design, Component Programming, Distributed Systems

Using a GUI Toolkit, Cross-platform UI design, Multi-media applications

.NET Framework (desktop) on Windows, .NET Compact Framework on devices

DirectX, Speech SDK

Professional Practice

Build compiler extensions to any .NET language, Extend VS .NET AE Assignment Manager (Shared Source)

Pocket PC 2002 SDK, Smartphone SDK, Tablet PC SDK

Page 9: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge (ACM)Organization Theory

Organizational Behavior

Information Sys. Mgmt.

Decision Theory

Legal and Ethical Aspects of IS

Source: ACM (www.acm.org)

Managing Change

Professionalism

Interpersonal Skills

Risk Mgmt.

Page 10: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge (ACM)Organization Theory

Organizational Behavior

Information Sys. Mgmt.

Decision Theory

Legal and Ethical Aspects of IS

Source: ACM (www.acm.org)

Managing Change

Professionalism

Interpersonal Skills

Risk Mgmt.

Organizational and Management ConceptsMostly Technology independent

Page 11: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge (ACM)

Telecommunications

Organization Theory

Programming Languages

Organizational Behavior

System Dev. Tools and Techniques

Operating Systems

Computer Architectures

Information Sys. Mgmt.

Decision Theory

Legal and Ethical Aspects of IS

Source: ACM (www.acm.org)

Managing Change

Algorithms & Data Structures

Professionalism

Interpersonal Skills

Artificial Intelligence

Databases

Risk Mgmt.

Information And Business Analysis

Organizational and Management ConceptsMostly Technology independent

Page 12: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge (ACM)

Telecommunications

Organization Theory

Programming Languages

Organizational Behavior

System Dev. Tools and Techniques

Operating Systems

Computer Architectures

Information Sys. Mgmt.

Decision Theory

Legal and Ethical Aspects of IS

Source: ACM (www.acm.org)

Managing Change

Algorithms & Data Structures

Professionalism

Interpersonal Skills

Artificial Intelligence

Databases

Risk Mgmt.

Information And Business Analysis

Organizational and Management ConceptsMostly Technology independent

Information Technology core coursesBest taught with a set of related technologies

Page 13: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge (ACM)

Telecommunications

Organization Theory

Programming Languages

Organizational Behavior

Sys. Dev. Concepts & Methodologies

System Dev. Tools and Techniques

Operating Systems

Computer Architectures

Sys.& Information Concepts

Information Sys. Mgmt.

Decision Theory

Approaches to System Dev.

Legal and Ethical Aspects of IS

Source: ACM (www.acm.org)

Managing Change

Algorithms & Data Structures

Professionalism

Interpersonal Skills

Artificial Intelligence

Databases

Risk Mgmt.

App. Planning Project Mgmt.

Information And Business Analysis

Information Sys. DesignSystems Implementation and Testing Strategies

Sys. Operation and Maintenance

Sys. Dev. For Specific Types of Info. Sys.

Organizational and Management ConceptsMostly Technology independent

Information Technology core coursesBest taught with a set of related technologies

Page 14: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge (ACM)

Telecommunications

Organization Theory

Programming Languages

Organizational Behavior

Sys. Dev. Concepts & Methodologies

System Dev. Tools and Techniques

Operating Systems

Computer Architectures

Sys.& Information Concepts

Information Sys. Mgmt.

Decision Theory

Approaches to System Dev.

Legal and Ethical Aspects of IS

Source: ACM (www.acm.org)

Managing Change

Algorithms & Data Structures

Professionalism

Interpersonal Skills

Artificial Intelligence

Databases

Risk Mgmt.

App. Planning Project Mgmt.

Information And Business Analysis

Information Sys. DesignSystems Implementation and Testing Strategies

Sys. Operation and Maintenance

Sys. Dev. For Specific Types of Info. Sys.

Organizational and Management ConceptsMostly Technology independent

Information Technology core coursesBest taught with a set of related technologies

Tech choice heavily influenced by University infrastructure

Best taught with a set of related technologies

Page 15: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge

Algorithms & Data Structures

Information & Business Analysis

Databases EBusiness

.NET Framework and C#/VB/J#/C++/

Component Pascal/Scheme/

Fortran/… and Collection Classes in BCL

Data storage, programming control structures, abstract data types, data structures like arrays, records, stacks, queues, etc

DataSets/XML

(ADO .NET )

MS Access

(SQL Server and SQL CE)

Visio and UML

Logical & Physical DB Design, Data Flow diagrams, ER Diagrams

Data Storage, Transaction Mgmt, Relational DBs, Distributed Data design

SQL Server and SQL CE

.NET Framework & .NET Compact Framework

ADO .NET

Web-based Application development

Web-based infrastructure design using XML, WSDL, etc

Project Mgmt for web-based development projects

ASP .NET, ADO .NET, XML Web Services in .NET, MS Project

Page 16: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

IS Body of Knowledge

Information SystemsDesign

Application Planning

SystemsDevelopment Tools

Senior/CapstoneProjects

BizTalk Server

Commerce Server

.NET Framework,

XML Web Services using Soap Toolkit, WSDK, UDDI SDK , VS .NET

Component Programming, Distributed Systems

Large-scale system design & deployment

Writing programs for Business Systems

Security

Methodologies for Systems Development

.NET Servers

BCL in Framework

.NET Framework on multiple platforms

XML Web Services

Professional Practice

Extend VS .NET AE Assignment Manager (Shared Source)

Pocket PC 2002 SDK, Smartphone SDK, Tablet PC SDK

Design Trade-offs,

Designing System Components

Interoperability issues

Page 17: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

Curriculum Roadmap for IS

Mobile Computin

g

DBProgramm

ingUsing

ADO.NET

.NET Framework

& .NET Basic Class Library HTML & Web

Technology

Dynamic HTML

& JavaScript

GUI Programming in VB.NET or

C#(Windows

Application)

WebApplications(ASP.NET)

DistributedComputing

Relational Database

(SQL Server)

Intro. To Programmingin VB.NET or

C#

Object-Oriented Concepts and UML

IIS

Server-side

ElectronicCommerce Server &

BizTalk

Foundation

XML

& XS

L

.NET Server, MSMQ, etc.

Client-side

Web Services

Object-OrientedProgramming inVB.NET or C#

Minder Chen 2001-2002

Page 18: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge (ACM)

Discrete Structures

Testing and Fault Tolerance

Digital System Verification

Digital Signal Processing

Digital Systems Engg

Alternative Computing Paradigms

Source: Strawman Draft, Nov 2002, ACM

Social and Professional Issues

Operating Systems

Page 19: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge (ACM)

Discrete Structures

Testing and Fault Tolerance

Digital System Verification

Digital Signal Processing

Digital Systems Engg

Alternative Computing Paradigms

Source: Strawman Draft, Nov 2002, ACM

Social and Professional Issues

Operating Systems

CE Core Conceptual Mostly Technology independent

Page 20: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge (ACM)

Discrete Structures

Programming Languages

Testing and Fault Tolerance

Digital Logic

Digital System Verification

Digital Signal Processing

Digital Systems Engg

Alternative Computing Paradigms

Algorithms and Complexity

Source: Strawman Draft, Nov 2002, ACM

Social and Professional Issues

Computer Systems Engg

Software Engg

Computer Architecture & Organization

Embedded Systems

Operating Systems

Networks

CE Core Conceptual Mostly Technology independent

Page 21: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge (ACM)

Discrete Structures

Programming Languages

Testing and Fault Tolerance

Digital Logic

Digital System Verification

Digital Signal Processing

Digital Systems Engg

Alternative Computing Paradigms

Algorithms and Complexity

Source: Strawman Draft, Nov 2002, ACM

Social and Professional Issues

Computer Systems Engg

Software Engg

Computer Architecture & Organization

Embedded Systems

Operating Systems

Networks

CE Core Conceptual Mostly Technology independent

Tech choice influenced by University infrastructureBest taught with a set of related technologies

Page 22: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge (ACM)

Discrete Structures

Programming Languages

Testing and Fault Tolerance

Electronics

Digital Logic

Digital System Verification

Digital Signal Processing

Intelligent Systems and Automation

VLSI and ASIC Design

Digital Systems Engg

Alternative Computing Paradigms

Algorithms and Complexity

Source: Strawman Draft, Nov 2002, ACM

Social and Professional Issues

Computer Systems Engg

Software Engg

Computer Architecture & Organization

Embedded Systems

Operating Systems

Networks

CE Core Conceptual Mostly Technology independent

Tech choice influenced by University infrastructureBest taught with a set of related technologies

Page 23: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge (ACM)

Discrete Structures

Programming Languages

Testing and Fault Tolerance

Electronics

Digital Logic

Digital System Verification

Digital Signal Processing

Intelligent Systems and Automation

VLSI and ASIC Design

Digital Systems Engg

Alternative Computing Paradigms

Algorithms and Complexity

Source: Strawman Draft, Nov 2002, ACM

Social and Professional Issues

Computer Systems Engg

Software Engg

Computer Architecture & Organization

Embedded Systems

Operating Systems

Networks

CE Core Conceptual Mostly Technology independent

Tech choice influenced by University infrastructureBest taught with a set of related technologies

ElectivesCan be taught independent of the above two sets of courses

Page 24: CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &

CE Body of Knowledge

Digital Signal Processing

Networks EmbeddedSystems

ComputerSystems Engg

Languages targeting the Windows .NET Framework,

Direct X

.NET Framework, XML Web Services using Soap Toolkit, MIT, WSDK, UDDI SDK , VS .NET, SQL Server, SQL CE

Interactive Web-based apps, Wireless LANs, Mobile Computing and Data Access, Middleware and support tools

Mapping between languages and hardware, write programs that handles interrupts, manages memory, contains multiple processes, etc. , Tool support (compilers, design tools, debugging tools)

Win CE .NET or WinXP Embedded, Embedded C++/VB, VS .NET

Project Mgmt, Identify all phases of systems lifecycle

MS Project, Visio

Process and write audio streams, Multi-media network delivery of data, Image Processing