Appendix 7 -- DETAILED BODY OF INFORMATION

SYSTEMS KNOWLEDGE

2102

This appendix is a table that shows the complete IS Body of Knowledge elements with learning unit numbers in column one through column four. The column number corresponds to depth of knowledge. For example, knowledge element 1.1.1, Fundamental Data, is to be achieved in learning unit 3 up to depth of knowledge level 1 (awareness/recognition). The same unit is to be learned to level 4 (applications knowledge) in learning unit 44. Appendix 6 contains knowledge level definitions and explanations. Appendix 8 has detailed definitions of the learning units.

2109

Learning Unit Numbers at IS'97 Depth of Knowledge Levels Body of

Knowledge

Source

IS'97 Body of Knowledge Elements in Four Levels

of Detail (subject area, subareas, topics and subtopics)

Level 1 Level 2 Level 3 Level 4 CS IS SE




3, 13.10




42




43




44








n

n

n

n





1








1

1



1

1.0 Information technology

1.1 Computer architectures

1.1.1 Fundamental data representation: non-numeric, numeric (integers, reals, errors, precision)

1.1.1.1 Basic machine representation of numeric data

1.1.1.2 Basic machine representation of non-numeric data

1.1.1.3 Finite precision of integer and floating point number representation

1.1.1.4 Errors in computer arithmetic and related portability issues

1.1.1.5 Basic concepts of computer architecture

42, 13.10 62 43     1   1.1.2 Physical representation of digitized information: e.g., data, text, image, voice, video
1, 7 62, 64 62  

n

n

n

n

n

n

1















1

1

1.1.3 CPU architectures: CPU, memory, registers, addressing modes, instruction sets

1.1.3.1 Basic organization; von Neumann, block diagram, data paths, control path, functional units, instruction cycles

1.1.3.2 Instructions and addressing modes: instruction sets and types

1.1.3.3 Instructions and addressing modes: assembly-machine language

1.1.3.4 Addressing modes

1.1.3.5 Control unit; instruction fetch and execution, operand fetch

1.1.3.6 CISC, RISC

1.1.3.7 Computer organization

1.1.3.8 Memory systems

1 7, 38, 62, 64 36  

n

n

n

n

n

n

n

n

n

1

n















1

1.1.4 Computer system components: busses, controllers, storage systems, peripheral devices

1.1.4.1 Peripherals: I/O and interrupts

1.1.4.2 Peripherals: input/output control methods, interrupts

1.1.4.3 Peripherals: external storage, physical organization and drives

1.1.4.4 Auxiliary storage, tape, optical

1.1.4.5 Storage systems and technology

1.1.4.6 Space allocation, hierarchy

1.1.4.7 Main memory organization, bus operations, cycle times for selection and addressing

1.1.4.8 Cache memory, read/write

1.1.4.9 Virtual memory

1.1.4.10 Interfaces between computers and other devices (sensors, effector, etc.)

  62    

n



1

n
1.1.5 Multiprocessor architectures

1.1.5.1 Systems architectures (single multi-processing and distributed processing, stack, array, vector, multiprocessor and hypercube architectures, supercomputers)

1.1.5.2 Client server technologies

62 64    

n

n

n

n

n

n

n

n

n

1 1 1.1.6 Digital logic and systems

1.1.6.1 Logic elements and switching theory; minimization concepts and implementation of functions

1.1.6.2 Propagation delays and hazards

1.1.6.3 Demultiplexers, multiplexers, decoders, encoders, adders, subtractors, comparators, shift registers, counters

1.1.6.4 ROM, PROM, EPROM, EAPROM, RAM

1.1.6.5 Analysis and synthesis of synchronous circuits, asynchronous vs synchronous circuits

1.1.6.6 Register transfer notation, conditional and unconditional

1.1.6.7 Algorithmic state machines, steering networks, load transfer signals

1.1.6.8 Tristates and bus structures

1.1.6.9 Block diagrams, timing diagrams, transfer language



1, 3, 13.1045


13.11, 46, 48


13.16, 47, 48, 50, 51, 54, 56, 57, 59, 60, 91, 98, 103


50, 51, 92, 100,

110





n

n

n

n

n

n



1


n















1

1

1.2 Algorithms and data structures

1.2.1 Formal problems and problem solving

1.2.1.1 Problem solving strategies using greedy algorithms

1.2.1.2 Problem solving strategies using divide and conquer algorithms

1.2.1.3 Problem solving strategies using back- tracking algorithms

1.2.1.4 Software design process; from specification to implementation

1.2.1.5 Problem recognition statement and algorithmic determination; procedural abstraction; parameters

1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual; management task)

1.2.1.7 Formal verification concepts

1.2.1.8 Formal models of computation

13.1,

13.10

56,

13.11

44, 50, 54, 57, 60   1 1 1 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked-lists, stacks, queues, trees, graphs
1, 3 42, 50 43     1   1.2.3 Complex data structures: e.g., of data, text, voice, image, video, hypermedia
  53 43, 47, 49, 51, 52, 54, 56, 57, 58, 59, 60, 91, 94, 98,

103

50, 51, 92, 100,

110



n

n

n

n

n

n

1   1.2.4 Abstract data types

1.2.4.1 Purpose and implementation of abstract data types

1.2.4.2 Informal specifications

1.2.4.3 Formal specifications, pre-conditions and post-conditions, algebraic specifications for abstract data types

1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to hierarchy charts

1.2.4.5 Correctness, verification and validation: pre- and post-conditions, invariants, elementary proofs of code and design reading, structured walkthroughs

1.2.4.6 Control structures; selection, iteration, recursion; data types and their uses in problem solving

13.10 55 50, 53, 57, 58, 59, 98  

n

n

n

1 1 1.2.5 File structures: sequential, direct access, hashing, indexed

1.2.5.1 Files (structure, access methods): file layouts; fundamental file concepts; sequential files; non-sequential files

1.2.5.2 Files (structure, access methods): directories contents and structure, naming, searching, access, backups

1.2.5.3 Files (structure, access methods): system security overview, security methods and devices, protection, access, authentication

3 14, 53, 57, 60    

n

n

n

1 1 1.2.6 Sorting and searching data structures and algorithms

1.2.6.1 Sorting algorithms (shell sort, bucket sort, radix sort, quick sort), editing, reporting, updating

1.2.6.2 Searching algorithms (serial search, binary search, and binary search tree)

1.2.6.3 Searching, hashing, collision resolution

  83    

n

n

n

n

n

n

n

n

1 1















1

1.2.7 Algorithm efficiency, complexity and metrics

1.2.7.1 Asymptotic analysis at upper and average bounds; big "O", little

1.2.7.2 Time vs space trade-offs in algorithms

1.2.7.3 Complexity classes P, NP, P-space; tractable and intractable problems

1.2.7.4 Lower bound analysis (for sorting)

1.2.7.5 NP-completeness

1.2.7.6 O (n "squared") sorting algorithms

1.2.7.7 O (n log n) sorting algorithms

1.2.7.8 Backtracking, parsing, discrete simulations, etc.

1.2.7.9 Fundamentals of analysis of algorithms

61      

n

n

1 1 1.2.8 Recursive algorithms

1.2.8.1 Recursive algorithms connection with mathematical induction

1.2.8.2 Comparison of iterative and recursive algorithms

61         1   1.2.9 Neural networks and genetic algorithms
61      

n

n

n

n

n

n

n

n

n

1





























n
1.2.10 Advanced considerations

1.2.10.1 Computable functions: models of computable functions selected from Turing machines, RAM, (partial) recursive functions, lambda calculus, Church's thesis

1.2.10.2 Machines, e.g. Universal Turing Machine

1.2.10.3 Decision problems: recursive and recursively enumerable problems; undecidable problems

1.2.10.4 Models of parallel architectures

1.2.10.5 Algorithms for parallel architectures

1.2.10.6 Mathematical problems: well-conditioned and ill-conditioned problems

1.2.10.7 Mathematical problems: iterative approximation to mathematical problems; Newton's method; Gaussian elimination

1.2.10.8 Mathematical problems: error classification; computational, representational, and methodological distinctions

1.2.10.9 Mathematical problems: applications of iterative approximation methods in sciences and engineering

1.2.10.10 Bounds on computing: computability and algorithmic intractability



13.10


61, 104
   



1


1
1.3 Programming languages

1.3.1 Fundamental programming language structures; comparison of languages and applications

  61     1 1 1 1.3.2 Machine and assembly level languages
  13.11, 61 50  

n

n

n

1





1.3.3 Procedural languages

1.3.3.1 Procedural programming advantages and disadvantages

1.3.3.2 Basic type declarations; arithmetic operators and assignment; conditional statements; loops and recursion

1.3.3.3 Procedures, functions, and parameters; arrays and records

13.10 61 103     1   1.3.4 Non-procedural languages: logic, functional, event driven
13.10 61 51 104   1   1.3.5 Fourth-generation languages
61 101 46 104   1   1.3.6 Object oriented extensions to languages
  38, 46, 61 46, 50, 71, 93,

104

 

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

1













































1

1

















1

1.3.7 Programming languages, design, implementation and comparison

1.3.7.1 History of early languages

1.3.7.2 Evolution of procedural languages

1.3.7.3 Evolution of non-procedural languages

1.3.7.4 Virtual computers

1.3.7.5 Elementary and structured data types

1.3.7.6 Creation and application of user defined data types

1.3.7.7 Expressions, order of evaluation, and side-effects

1.3.7.8 Subprograms and coroutines as abstractions of expressions and statements

1.3.7.9 Exception handling

1.3.7.10 Mechanisms for sharing and restricting access to data

1.3.7.11 Static vs dynamic scope, lifetimes, visibility

1.3.7.12 Parameter passing mechanisms; reference, value, name, result, etc.

1.3.7.13 Varieties of type checking disciplines and their mechanics

1.3.7.14 Stack-based application of storage

1.3.7.15 Heap-based application of storage

1.3.7.16 Finite state automata as restricted models of computation and acceptors of regular expressions

1.3.7.17 Application of regular expressions to programming language analysis

1.3.7.18 Use of context-free grammars as a formal description device for programming language syntax

1.3.7.19 Equivalence of context free grammar and pushdown automata

1.3.7.20 Use of pushdown automata in parsing programming languages

1.3.7.21 Language translation process, compilers to interpreters

1.3.7.22 Programming language semantics

1.3.7.23 Functional programming paradigms and languages

1.3.7.24 Parallel programming constructs

1.3.7.25 Procedural languages: implementation issues; performance improvement, debugging, anti-bugging

1.3.7.26 Compilers and translators

1.3.7.27 Very high level languages: SQL, 4th-GL

1.3.7.28 Object-oriented design, languages, and programming

1.3.7.29 Logic programming languages: LISP, PROLOG; logic oriented programming

1.3.7.30 Code generators

1.3.7.31 Expert system shells

1.3.7.32 Software design languages



1


7, 62


82
 

n


1


1
1.4 Operating systems

1.4.1 Architecture, goals and structure of an operating system; structuring methods, layered models, object-server model

1 7, 36, 62, 65, 67 71, 82     1   1.4.2 Interaction of operating system and hardware architecture
  62, 65, 67    

n

n

n

n

n

n

n

n

1 1



1

1.4.3 Process management: concurrent processes, synchronization

1.4.3.1 Tasks, processes, dispatching context switchers, role of interrupts

1.4.3.2 Structures, ready list, process control blocks

1.4.3.3 Concurrent process execution

1.4.3.4 Sharing access, race conditions

1.4.3.5 Deadlock; causes, conditions, prevention

1.4.3.6 Models and mechanisms (e.g., busy waiting, spin locks, Deker's algorithm, semaphores, mutex locks, regions, monitors

1.4.3.7 Preemptive and non-preemptive switching

1.4.3.8 Schedulers and scheduling policies

  67    

n

n

n

n

n

n

n

1 1 1.4.4 Memory management

1.4.4.1 Physical memory and registers

1.4.4.2 Overlays, swapping, partitions

1.4.4.3 Pages and segments

1.4.4.4 Placement and replacement policies

1.4.4.5 Thrashing, working sets

1.4.4.6 Free lists, layout; servers, interrupts; recovery from failures

1.4.4.7 Memory protection; recovery management

62, 67 62 71  

n

n

n

n

n

n

n

1















n

1

1.4.5 Resource allocation and scheduling

1.4.5.1 Protocol suites (communications and networking); streams and datagrams

1.4.5.2 Internetworking and routing; servers and services

1.4.5.3 Types of operating systems: single user, multi-user, network

1.4.5.4 Synchronization and timing in distributed and real time systems

1.4.5.5 Special concerns in real-time systems; failures, risks, and recovery

1.4.5.6 Operating system utilities

1.4.5.7 Hardware evolution; economic forces and constraints

1.4.5.8 Architecture of real-time and embedded systems

1.4.5.9 Special concerns in embedded real-time systems: hard-timing requirements; reliability, robustness, and fault tolerance; input and output considerations; awareness of issues pertaining to time; concurrency; complex interfaces of device/device and device/software; inadequacy of testing for real-time systems

  65, 67 71     1   1.4.6 Secondary storage management
  65, 67 71     1   1.4.7 File and directory systems
62 65, 67, 94 71     1   1.4.8 Protection and security
36 70       1   1.4.9 Distributed operating systems
  19, 61, 65, 68,

101

52, 69     1   1.4.10 OS support for human interaction: e.g., GUI, interactive video
62 37, 70       1   1.4.11 OS interoperability and compatibility: e.g., open systems
62   68     1   1.4.12 Operating system utilities, tools, commands and shell programming
62   68     1   1.4.13 System administration and management

1.4.13.1 System bootstrapping/initial program load

1.4.13.2 System generation

1.4.13.3 System configuration

1.4.13.4 Performance analysis, evaluation and monitoring

1.4.13.5 System optimization and tuning

1.4.13.6 System management functions: backup, security and protection, adding and deleting users



4, 13.7


7, 35, 37, 62, 64
   



n



n



1
1







1

1.5 Telecommunications

1.5.1 International telecommunication standards, models, trends

1.5.1.1 Computer networks and control: topologies, common carriers, equipment configuration, error detection and correction, polling and contention protocols, security and encryption

1.5.1.2 Network design and management: network architectures (ISO, SNA, DNA), protocols (X.25, ISO, etc.)

4, 64 32, 62 40  



n
1   1.5.2 Data transmission: media, signaling techniques, transmission impairments, encoding, error detection, compression

1.5.2.1 Communications system technology: transmission media, analog-digital, communications hardware and software

  37, 62 40     1   1.5.3 Line configuration: error control, flow control, multiplexing
4, 13.7, 64 38, 62, 63 32, 41, 94  



n
1

1

1







1

1

1.5.4 Local area networks

1.5.4.1 Topologies, medium access control, multiplexing

1.5.4.2 Local area networks and WANs: topology, gateways, uses (functions and office automation), PBXs

1.5.4.3 Requirements determinations, performance monitoring and control, economics

1.5.4.4 Architecture of distributed systems

1.5.4.5 Hardware aspects of distributed systems

13.7 4, 35, 36, 38, 62 40, 64, 94     1   1.5.5 Wide area networks: switching techniques, broadcast techniques, routing
4 37, 38, 62, 64 32     1   1.5.6 Network architectures and protocols
  4       1   1.5.7 Internetworking
  33, 35, 37, 38, 39, 62 34, 41, 94     1   1.5.8 Network configuration, performance analysis and monitoring
  35, 37       1   1.5.9 Network security: encryption, digital signatures, authentication
62 37       1   1.5.10 High-speed networks: e.g., broadband ISDN, SMDS, ATM, FDDI
  37     1 1   1.5.11 Emerging networks: ATM, ISDN, satellite nets, optic nets, etc., integrated voice, data and video
62 33, 37, 64, 68 40     1   1.5.12 Application: e.g., client server, EDI, EFT, phone network, e-mail, multimedia, video conferencing, value-added networks

1.5.12.1 Methods of transmitting graphical and video information using telecom, data compression, client-server display techniques, e.g., AOL interface, XWindows



1, 4, 24, 42


2, 13.6, 58, 111


13.12, 81, 91, 92, 94, 98


92




n

n

n



1


1
1.6 Database

1.6.1 DBMS: features, functions, architecture

1.6.1.1 DBMS (features, functions, architecture); components of database system (data, dictionary, application programs, users, administration)

1.6.1.2 DBMS: overview of relational algebra

1.6.1.3 Logical design (DBMS independent design): ER, object oriented

13.6, 42 13.12, 58, 111 47, 81, 88, 89, 91, 92, 94, 98 92, 100, 110

n

n

1   1.6.2 Data models: relational, hierarchical, network, object, semantic object

1.6.2.1 Relational data model terminology; mapping conceptual schema to a relational schema

1.6.2.2 Conceptual modeling (e.g., entity-relationship, object-oriented)

1.6.2.3 Model type interconversion (e.g. hierarchical to relational, etc.)

111   47, 81, 92, 98   1 1   1.6.3 Normalization
  13.12 81, 94, 95, 98 92, 110 n 1   1.6.4 Integrity (referential, data item, intra-relation): representing relationships; entity and referential integrity
13.6, 24 2, 13.12, 111 47, 81, 88, 89, 91, 94, 95, 98 92, 100 1 1   1.6.5 Data definition languages (schema definition languages, graphical development tools, dictionaries, etc.)
1, 13.6,

13.10, 24

13.13, 47 47, 91, 103 92, 100

n

n



n

1   1.6.6 Application interface

1.6.6.1 Function supported by typical database system; access methods, security, deadlock and concurrency problems, 4th generation environments

1.6.6.2 DML, query, QBE, SQL, etc.: database query language; data definition, query form, update sub-language, expressing constraints, referential integrity, embedding in a procedural language

1.6.6.3 Application and user interfaces (DML, query, QBE, SQL)

1.6.6.4 Event driven screen objects (buttons, list boxes, etc.)

1.6.6.5 Physical transaction processing ; client-server considerations

1.6.6.6 Client and server distribution of processing considerations

24 2 81, 103 91   1   1.6.7 Intelligent query processors and query organization, OLAP tools
13.7, 24 36     1 1   1.6.8 Distributed databases, repositories and warehouses
1, 4 91 94   1 1   1.6.9 DBMS products: recent developments in database systems (e.g., hypertext, hypermedia, optical disks)
61       1 1   1.6.10 Database machines and servers
1, 13.5 13.7, 91, 98 94, 110  

n

n

n

1



1
1.6.11 Data and database administration

1.6.11.1 Data administration

1.6.11.2 Database administration: social impact of database systems; security and privacy

1.6.11.3 Ownership and access controls for data and application systems

1.6.11.4 Role and capability based access models

1.6.11.5 Replication

1.6.11.6 System capacity planning

1.6.11.7 Redundancy, safety and backup planning and administration

  98, 111 81, 91   n 1   1.6.12 Data dictionary, encyclopedia, repository
1   13.7   1 1   1.6.13. Information retrieval: e.g. internet tools, image processing, hypermedia




42, 88
   



n

n

n



1
  1.7 Artificial intelligence

1.7.1 Knowledge representation

1.7.1.1 History, scope and limits of artificial intelligence; the Turing test

1.7.1.2 Social, ethical, legal, and philosophical aspects of artificial intelligence

1.7.1.3 Problems and state spaces

  42, 88     1 1   1.7.2 Knowledge engineering
  42, 88    

n

n

n

n

1









1
1.7.3 Inference processing

1.7.3.1 Basic control strategies (e.g., depth-first, breadth-first)

1.7.3.2 Forward and backward reasoning

1.7.3.3 Heuristic search (e.g., generate & test, hill climb, breadth-first search, means-ends analysis, graph search, minimax search)

1.7.3.4 Expert systems and shells

42         1   1.7.4 Other techniques: fuzzy logic, CASE-based reasoning, natural language and speech recognition
  42    

n

n

n

n

n

1







1
1.7.5 Knowledge-based systems

1.7.5.1 Natural language, speech and vision

1.7.5.2 Pattern recognition

1.7.5.3 Machine learning

1.7.5.4 Robotics

1.7.5.5 Neural networks





13.12




17, 18, 95
   



1




1
  2.0 Organizational and management concepts

2.1 General organization theory

2.1.1 Hierarchical and flow models of organizations

  17, 18, 33     1 1   2.1.2 Organizational work groups
13.3 18, 33     1 1   2.1.3 Organizational span: single user, work group, team, enterprise, global
4 17, 22, 26, 94       1   2.1.4 Role of IS within the enterprise: strategic, tactical and operations
4, 13.3 8, 17, 22, 25, 95,

116

      1   2.1.5 Effect of IS on organizational structure; IS and continuous improvement
  18, 36, 95, 125       1   2.1.6 Organizational structure: centralized, decentralized, matrix
13.2 25       1 1 2.1.7 Organizational issues pertaining to use of software systems in organizations


13.2, 13.8, 25


9, 18, 26


94, 114, 121,

122, 124

   



1

1

1

1

1

  2.2 Information systems management

2.2.1 IS planning

2.2.1.1 Alignment of IS planning with enterprise planning

2.2.1.2 Strategic IS planning

2.2.1.3 Short-range IS planning

2.2.1.4 Re-engineering

2.2.1.5 Continuous improvement

  29, 65, 125 116     1   2.2.2 Control of the IS function: e.g., EDP auditing, outsourcing
13.1 18, 120 87, 116, 127





91









118
 

1

1

1

1

1

  2.2.3 Staffing and human resource management

2.2.3.1 Skills planning

2.2.3.2 Staff performance management

2.3.3.3 Empowerment/job ownership

2.2.3.4 Education and training

2.2.3.5 Competition, cooperation and reward structures

  18, 26, 125       1   2.2.4 IS functional structures -- internal vs outsourcing
3 13.15, 26, 62, 125 121, 122     1   2.2.5 Determining goals and objectives of the IS organization
  95, 116, 121,

122, 125

78, 94     1   2.2.6 Managing IS as a business: e.g., customer definition, defining IS mission, IS critical success factors
  18, 115 15     1   2.2.7 CIO and staff functions
62 29, 116, 121,

122, 125

94     1   2.2.8 IS as a service function: performance evaluation -- external/internal, marketing of services
  116, 121, 122,

125

      1   2.2.9 Financial administration of IS: e.g., funding and chargeout
3, 13.1, 24, 25, 62 4, 5, 8, 14, 17, 22,

25, 42

9, 30, 78, 94, 115     1   2.2.10 Strategic use of IS: e.g., competitive advantage and IS, process re-engineering, IS and quality, IS global impact and international considerations
1, 3 2, 3, 13.1 14, 94     1   2.2.11 Knowledge work, end user computing: support, role, productivity, activities
  116, 125       1   2.2.12 IS policy and operating procedures formulation and communication
13.5, 62 94 116   1 1   2.2.13 Backup, disaster planning and recovery
13.15 124       1   2.2.14 Management of emerging technologies
13.5, 62









18, 33, 34, 94,

125

40, 41, 83, 91,

94, 115

   

1

1

1

1

1

1

1

1

1























1

n

1

2.2.15 Management of sub-functions

2.2.15.1 Telecommunications management

2.2.15.2 Computer facilities management: e.g., automated operations of distributed processing, capacity planning, site maintenance

2.2.15.3 Management of group decision support systems

2.2.15.4 Data administration

2.2.15.5 Ownership of data and application systems

2.2.15.6 Optimizing the climate for creativity

2.2.15.7 Quality management: e.g., reliability and quality engineering; QC teams

2.2.15.8 Management consulting relationships, outsourcing

2.2.15.9 Managing for resource contention

2.2.15.10 Operational issues associated with system installation, transition, operation, and retirement

2.2.15.11 Controlling activities and disciplines which support software evolution and maintenance

2.2.15.12 Software engineering activities: development, control, management, operations

3, 62 1, 14 56, 94   n 1   2.2.16 Security and control, viruses and systems integrity
  18       1   2.2.17 Computer operations management: e.g. tape/DASD management, scheduling, automation-cross functional context


6


17, 25, 42, 45, 58


78, 91, 92, 94,

116



100
 

1
  2.3 Decision theory

2.3.1 Measurement and modeling

6 21 115   1 1   2.3.2 Decisions under certainty, uncertainty, risk
  1, 14, 22, 94, 125 6, 115     1   2.3.3 Cost/Value of information, competitive value of IS
  21 30, 33, 79, 80     1   2.3.4 Decision models and IS: optimizing, satisficing
  21 30, 33, 79, 80, 94, 99, 106, 113 86, 112, 114   1   2.3.5 Group decision process
 

18, 26, 94
     

1
  2.4 Organizational behavior

2.4.1 Job design theory

  4, 18       1   2.4.2 Cultural diversity
13.4   86, 94, 120 80, 113   1   2.4.3 Group dynamics
13.4 8, 25 94, 98, 99, 106,

113, 120, 121,

122

80, 86, 116   1   2.4.4 Teamwork, leadership and empowerment
  80 86, 94, 96, 120,

121, 122

    1   2.4.5 Use of influence, power and politics
    86, 121 97   1   2.4.6 Cognitive styles
  86 94, 99, 121, 122     1   2.4.7 Negotiating and negotiating styles
13.3 8 86, 94, 98, 99,

106, 121, 122

80, 113, 116   1   2.4.8 Consensus building
 



96, 97
   

1
  2.7 Managing the process of change

2.7.1 Reasons for resistance to change

    96, 97     1   2.7.2 Strategies for motivating change
    96, 97     1   2.7.3 Planning for change
    96, 97     1   2.7.4 Managing change
 

12, 73, 119, 123
     

1
1 2.8 Legal and ethical aspects of IS

2.8.1 Software sales, licensing, and agency

  12, 123 73  

n
1   2.8.2 Contract fundamentals

2.8.2.1 Contract law

  15, 40, 85, 90,

119, 120, 123

73   1 1   2.8.3 Privacy law
  39, 73, 120     1 1   2.8.4 Agencies and regulatory bodies
13.3 73, 119, 123 12, 85  

n

n

n

1 1 2.8.5 Ethics and Protection of intellectual property rights

2.8.5.1 Protection of intellectual property

2.8.5.2 Forms of intellectual property, means for protecting it, and penalties for violating it

2.8.5.3 Ethics (plagiarism, honesty, privacy, hackers): uses, misuses, and limits of computer technology

  31, 85, 119 12, 121, 122  



1

1

1

1

1

1

1



1







1

1

1

1

1

1

1



1













1
2.8.6 Ethics: Personal and professional responsibility and codes; ethical models; ethical and social analysis

2.8.6.1 Personal responsibility: Principles of honesty, fairness, autonomy, justice, and beneficence shared among all people

2.8.6.2 Professional responsibility: Expectations and trust due to knowledge and skills

2.8.6.3 Professional codes of ethical conduct for responsible computing professionals

2.8.6.4 Motivation for and importance of ethical behavior: the hacker mentality vs professional behavior

2.8.6.5 Ethical models: Bentham's utilitarianism, Kant's moral imperative, Rawles' negotiation of social contracts, Covey's Principle Centered Leadership

2.8.6.5 Elements of ethical analysis: discussion of ethical claims; dealing with ethical choices; questionable ethical approaches (naive relativism, egoism, agency and legalism)

2.8.6.6 Ethical Analysis: arguing from example, analogy and counter-example; identifying stakeholders and ethical issues; application of ethical codes; identifying and evaluating alternate courses of action

2.8.6.7 Social Analysis: social contextual influence on development and technology usage; power relations in social interaction; technology embodies the values of the developers; diversity of populations; utilization of empirical data in design and development

13.2, 125 31, 119 12, 73   n   1 2.8.7 Risks, losses and liability in computing applications
12 119       1 1 2.8.8 Warranties
 

85
   

1


1
1 2.9 Professionalism

2.9.1 Current literature periodicals, professional, academic journals

  11, 85     1 1   2.9.2 Certification issues
  11, 85 12, 85   n 1   2.9.3 Professional organizations: e.g. DPMA, ACM, TIMS, ASM, DSI, ACE, IEEE, ASQC, AIS, IAIM, INFORMS
  11, 85     n 1   2.9.4 Professional conferences
  25       1   2.9.6 IS industry: manufacturers, OEMs, system integrators, software developers
4 16, 17     n     2.9.7 Historical and social context of computing
   

74, 86, 117
    1

1

  2.10 Personal and Interpersonal Skills

2.10.1 Communication skills

13.4 8, 56 74, 99, 117 113, 114   1   2.10.2 Interviewing, questioning and listening
  94 117, 120     1 1

1

2.10.3 Presentation skills

2.10.3.1 Oral and written communications

2.10.3.2 Graphics and use of multimedia

2.10.3.3 Training: goals, objectives, computer based

  12, 94 107     1   2.10.4 Consulting skills
  117 56, 74 117   1

1

1

1

1

2.10.5 Writing skills

2.10.5.1 Fundamentals of technical writing

2.10.5.2 Principles and standards for documentation

2.10.5.3 Development of software documentation

2.10.5.4 Documentation tools

2.10.5.5 Writing as a means for life long learning

2.10.5.6 Writing journals as a method for capturing observations

2.10.5.7 Writing problem solutions and answers to issues to explore knowledge

3, 10 14, 31, 85, 112 86, 87, 121, 122 92   1   2.10.6 Proactive attitude and approach
3, 10 14, 20 12, 87, 121, 122 107   1   2.10.7 Personal goal setting, decision making, and time management
3, 10 25, 78, 112 87, 120 114   1   2.10.8 Principle centered leadership
    86     1   2.10.9 Principles of negotiation
13.2 8, 12, 19 72, 86, 100 105   1   2.10.10 Fostering creativity and opportunity finding
13.1



3, 5, 22, 23




62
   



1
  3.0 Theory and development of systems

3.1 Systems and information concepts

3.1.1 General systems theory

3, 5, 13.8 13.8, 22 1, 50, 62, 65, 100   1 1

1

1

3.1.2 Systems concepts: e.g., structure, boundaries, states, objectives

3.1.2.1 Fundamental concepts of information theory

3.1.2.2 Reasoning about organizational systems, software products and processes

3.1.2.3 Relationships of users and suppliers to the system

4 5, 22, 62 22, 60 116   1   3.1.3 Properties of open systems
13.1 5, 8, 13.8, 25, 38 1, 22, 46, 50, 67,

94

116   1   3.1.4 System components and relationships
1 5, 8, 25 22, 64, 78, 116     1 1 3.1.5 Systems control: standards, control theory, feedback, loops, measurement, quality
4, 13.1 7, 16, 17, 22       1   3.1.6 Properties of information systems
13.2

2, 13.8,

13.14, 8, 116



13.9, 76, 90


116




n

n

n

n

n

n



1




n

n





1

1

1

n

1

1

3.2 Approaches to systems development

3.2.1 Systems development models: e.g., SDLC, prototyping

3.2.1.1 Systems development life cycle: software life-cycle models (iterative enhancement, phased development, spiral, waterfall)

3.2.1.2 Developing with prototyping

3.2.1.3 Developing with packages

3.2.1.4 Data oriented development techniques

3.2.1.5 Process oriented development techniques

3.2.1.6 Object oriented development techniques: bottom-up design; support for reuse

3.2.1.7 Systems engineering considerations

3.2.1.8 Software as a component of a system

3.2.1.9 Software process and product-life cycle models

3.2.1.10 Software generation methods and tools: design and coding from scratch, program and application generators, very high level languages, reusable components

3.2.1.11 System design methods and tools

  2, 13.8 56, 91, 116     1   3.2.2 Package acquisition and implementation
    2, 13, 91 110   1   3.2.3 Integrating software components
  14 3, 13.2     1   3.2.4 End User developed systems
    48, 76, 90 91, 116   1   3.2.5 Selecting a systems development approach


24


8


96
 

1


1




1

1

3.3 Systems development concepts and methodologies

3.3.1 Organizational and software process modeling

3.3.1.1 Modeling concepts

3.3.1.2 Advanced modeling concepts, including asynchronous and parallel models

  58 88, 111 100   1   3.3.2 Data modeling: e.g., entity-relationship diagrams, normalization
24 96 122     1   3.3.3 Data oriented methodologies
24 8 96     1   3.3.4 Process oriented methodologies
  46 96, 101     1   3.3.5 Behavior oriented (event modeling) methodologies
  46 101     1   3.3.6 Object oriented methodologies
    116       1 3.3.7 Software engineering process and products
   

75, 90, 108, 120
 



n

n

n



1
  3.4 Systems development tools and techniques

3.4.1 CASE

3.4.1.1 Methodologies (information engineering, Jackson Techniques, Yourdon, C. F. Martin, etc.): software design objectives

3.4.1.2 Tools: CASE tools, code generators, GDSS

3.4.1.3 Tools: IDEF and other specification and design tools; database design and schema conversion tools; implementation tools; drawing and graphics tools

13.3 8, 98 74, 106     1   3.4.2 Group-based methods: e.g., JAD, structured walkthroughs, design and code reviews
  13.9 88, 100     1 n 3.4.3 Software implementation concepts and tools: e.g., data dictionary, repository, application generator, reuse, program generators, software implementation languages
 

77


91, 110
   

1
  3.5 Application planning

3.5.1 Infrastructure planning: hardware, communications, database, site

3 14, 26, 115 110     1   3.5.2 Planning the IS architecture
  115       1   3.5.3 Planning for operations
  82, 83       1   3.5.4 Metrics for size, function points, control of complexity
  28, 123     n     3.5.5 Planning for IS security, privacy and control
 

13, 72


77, 115
   

1
  3.6 Risk management

3.6.1 Feasibility assessment

13.2 28, 72, 125       1   3.6.2 Risk management principles
  18, 115       1   3.6.3 Contingency planning


3


13.3, 94


116


107
 

1


n
3.7 Project management

3.7.1 Project planning and selection of appropriate process model; project scheduling and milestones

  94 116     1 n

1

1

3.7.2 Project organization, management, principles, concept and issues

3.7.2.1 Project management organizational issues

3.7.2.2 Project management principles, concepts and issues

  18, 105       1   3.7.3 Work breakdown structures and scheduling
  11, 94 120, 127     1 n 3.7.4 Project staffing considerations: e.g., matrix management, human factors, team organization, reporting
  12, 14, 94 108 107   1 n



n

1

n

1

3.7.5 Project control: planning, cost estimation, resource allocation, software technical reviews, measurement, analysis, feedback, communications, ensuring quality, scheduling, milestones

3.7.5.1 Project management documentation

3.7.5.2 Representations of project scheduling

3.7.5.3 Project economics: cost estimation techniques and tools; cost/benefit analysis; risk analysis; etc.

3.7.5.4 Project scheduling tools

    116     1   3.7.6 Managing multiple projects
  112 12, 87, 116 126   1   3.7.7 Management concerns; stress and time management
  56 2, 59, 94   1 1   3.7.8 Systems documentation
13.3 56 2, 82, 117, 120   1 1 1 3.7.9 User documentation (e.g., reference manuals, operating procedures, on-line documentation)
  83 84     1   3.7.10 System metrics
    73, 94     1   3.7.11 Scoping and scope control
  94 116     1 1

1

1

1

1

1

1

1

3.7.12 Configuration management

3.7.12.1 Principles and concepts of configuration management

3.7.12.2 Role in controlling system evolution

3.7.12.3 Role in maintaining product integrity

3.7.12.4 Documentation: change controls, version controls, etc.

3.7.12.5 Organizational structures for configuration management

3.7.12.6 Configuration management plans

3.7.12.7 Configuration management tools

  83 82, 84, 96     1   3.7.13 System development quality assurance
  94 108 107   1   3.7.14 Project tracking: e.g., PERT, Gantt
    109     1   3.7.15 Project close-down
13.3, 13.4

8, 25


72, 116
   

1
  3.8 Information and business analysis

3.8.1 Problem opportunity identification: e.g., service requests, from planning process

13.4 89 26, 92, 100     1   3.8.2 Relating the application to the enterprise model
13.4 3, 8, 36, 111 14, 77, 94, 103     1   3.8.3 Requirements determination and specification


24


2


47, 48, 50, 60, 77, 95
   

1




1

1

1

1

1

1

1

1

1

3.9 Information systems design

3.9.1 Design: logical, physical

3.9.1.1 System design methods and tools

3.9.1.2 Role of software design versus system design

3.9.1.3 Hardware-software tradeoffs for system performance and flexibility

3.9.1.4 Design of high-level interfaces, hardware to software and software to software

3.9.1.5 System performance prediction

3.9.1.6 System modeling techniques and representations

3.9.1.7 Object oriented system design technique

3.9.1.8 System design techniques: iterative design technique, modeling, etc.

3.9.1.9 System design flexibility

  28 81     1   3.9.2 Design methodologies: e.g., real time, object oriented, structured, event driven
  2, 65, 84 13     1   3.9.3 Design objectives: e.g., usability, performance
3 8, 79 14, 94 114   1   3.9.4 Techniques to enhance the creative design process
  81 19 96 n 1 1 3.9.5 Information presentation alternatives; cognitive styles
  19, 59 52 101



n

n

n

n

n

n

n

1



















1

1

1

1

1

3.9.6 Human-computer interaction (e.g., ergonomics, graphical-user interfaces, voice, touch)

3.9.6.1 User interfaces (voice, touch...)

3.9.6.2 Ergonomics

3.9.6.3 Common user access

3.9.6.4 User interfaces; menu systems, command languages, direct manipulation, common interface tool kits

3.9.6.5 Graphics output devices and their properties

3.9.6.6 Graphics primitives and their properties

3.9.6.7 Graphics software systems; general graphics standards

3.9.6.8 Architecture of window managers and user interfaces

3.9.6.9 Architecture of toolboxes and programming support environments

3.9.6.10 Representation of graphic data and sound

3.9.6.11 Design techniques for human-computer interface problems: device independence, virtual terminals, etc.

3.9.6.12 Human factors associated with human-computer interfaces: assumptions about class of user, handling input errors, screen design, etc.

45 82, 83 50, 60, 91, 97,

103

51, 100, 116   1

n



n





n





n





n

n

n







1



n

3.9.7 Software development

3.9.7.1 Software requirements: principles; types (functional, performance and other); analysis; identification techniques (prototyping, modeling, simulation); communication with customer; tools

39.7.2 Software specifications: objectives; standards; types (functional, performance, reliability, other); formal models; representations; documents (standards, structure, content, users, completeness, consistency); techniques; specification of quality attributes; formal specification languages and tools

3.9.7.3 Software design: principles of design (abstraction, information hiding, modularity, reuse, prototyping); paradigms for well-understood systems; levels of design; documentation; representations of designs; design of sub-systems; assessment of design quality; languages and tools; methods, practices and techniques

3.9.7.4 Software quality assurance: issues, definitions, standards, quality assurance as a controlling discipline, factors affecting quality, quality concerns in phases of the SDLC, metrics, organizational structures for quality assurance, plans, documentation, quality assurance project teams, quality and security, industrial practice

3.9.7.5 Software correctness and reliability: principles, concepts, modeling, methods

3.9.7.6 Verification and validation of software quality assurance: role and methods, formal models, independent verification and validation teams, tools, reports

3.9.7.7 Software implementation: relationship of software design to implementation; relationship of programming support environments to software implementation process; relationship of implementation language to design principles; tools; assessment (coding standards, metrics, etc.); other implementation considerations and issues (language structures and programming techniques, reuse, application generators, etc.)

3.9.7.8 Software and hardware system integration: methods, plans, tests (including incremental testing during development), assessment and documentation of test results, diagnosing system faults, simulation of missing hardware

3.9.7.9 Software testing: role, principles and standards; relationship of quality assurance to testing; methods; levels of testing (unit, system, integration, acceptance, etc.); plans; audits; limitations; statistical methods; formal models; documentation; tools; test and evaluation teams; building test environments; test case generation; regression testing; black-box/white-box testing; technical reviews; performance analysis; results analysis and reports

   

2, 14, 50, 94


91, 110


1


1
  3.10 Systems implementation and testing strategies

3.10.1 Systems construction

  65 3, 50, 60, 91, 103 116   1   3.10.2 Software systems construction: e.g., programming, unit testing , load module packaging
  14 45, 98 116   1   3.10.3 Software integration: e.g., packages
13.5   97, 98 116   1   3.10.4 Systems conversion: approaches, planning, implementation
13.14 2, 70, 94 98 116 n 1   3.10.5 Systems integration and system testing: verification and validation, test plan generation, testing (acceptance testing, unit testing, integration testing, regression testing)
  2 97     1 n 3.10.6 Training: e.g., user, management, operation, systems, training materials
3, 14   26, 78, 98, 122 114 n 1   3.10.7 Software project management: scoping, scheduling, configuration management, quality assurance; software reliability issues (safety, responsibility, risk assessment); maintenance
    98 116   1   3.10.8 Systems installation
  98 115     1   3.10.9 Post implementation review
 

98
     

1
  3.11 Systems operation and maintenance

3.11.1 Service request and change control

    103     1   3.11.2 Reverse and re-engineering
  98       1   3.11.3 Tuning and balancing
      98, 116   1 1

1

1

1

1

3.11.4 Systems and software maintenance concepts

3.11.4.1 Kinds of software maintenance: perceptive, adaptive, corrective

3.11.4.2 Designing software for maintainability

3.11.4.3 Software maintenance techniques: program reading, reverse engineering,

etc.

3.11.4.4 Software maintenance models



4


18, 27


94
 

1


1
  3.12 Systems development for specific types of information systems

3.12.1 Transaction processing systems

4 18, 27       1   3.12.2 Management information systems
4, 13.3 18, 27       1   3.12.3 Group support systems
    21     1   3.12.4 Decision support systems/expert systems
  21       1   3.12.5 Executive support systems
13.3, 27 3, 18       1   3.12.6 Office systems
13.3   21     1   3.12.7 Collaborative systems
4, 27 8, 14, 17       1   3.12.8 Image, and Work-flow systems
  4, 18       1   3.12.9 Functional support systems: e.g., process control, marketing
4         1   3.12.10 Interorganizational systems