IS'97.5 Programming, Data and Object
Structures
2427
CATALOG This course presents object oriented and procedural
software engineering methodologies in data definition and
measurement, abstract data type construction and use in
developing screen editors, reports and other IS applications
using data structures including indexed files.
2430
SCOPE This course provides an understanding of classes and
objects as well as algorithm development, programming, computer
concepts and the design and application of data and file
structures. The increasing complexity of applications requires an
understanding of the logical and physical structures of both
programs and data.
2434
TOPICS Data structures and representation: characters,
records, files, multimedia; precision of data; information
representation, organization and storage; algorithm development;
classes, ADTs and objects; event driven representations; data
flow notation; programming control structures; program
correctness, verification and validation; file and database
structures, definition, representation, and access; screen and
report structures.
EXPLANATION AND EXPECTATIONS
2440
Students will gain in-depth understanding of defining and
measuring events which produce data, both simple and complex, and
principles, concepts and practices of successful software
development.
2442
Formal problem solving strategies will be presented. Program
design methods and strategies including top down implementation
will be discussed and implemented. Graphic programming
environments will be explored. Capabilities of a number of
programming languages will be presented. Skill will be developed
in at least one language supporting an indexed file system.
2446
Software engineering principals will be practiced in a systems
view. Students will learn to recognize objects and abstract data
types, concepts of event driven and data flows, module
identification, modularity including parameters, module naming,
cohesion, coupling desired and erroneous practices, and testing.
Correctness, verification and validation methods will be
presented and practiced in generation of small modules and larger
programs.
2451
Specific data structures including arrays, records, stacks,
queues, and trees will be incorporated into ADTs and used in
creating IS applications including menus, screen record editors
-- list boxes, dialog boxes, buttons, and menu structures, file
and database definition and access modules, transaction posting
mechanisms, and simple and control break reports.
Students completing this course will have mastered the
following learning units:
2456
| Learning Unit Number |
Learning Unit Goal |
Learning Unit Objectives |
Competency Level and Body of
Knowledge Elements in Learning Units |
| 2 | to present the concept that data is a representation and measurement of real-world events | explain the concept of measurement and
information, information representation, organization,
storage and processing (LO-0009) describe the concept that data is a representation and measurement of real-world events and the process of capturing it in machine readable forms (LO-0079) |
2 1.1.1 Fundamental data representation:
non-numeric, numeric (integers, reals, errors... 1 1.1.2 Physical representation of digitized information: e.g., data, text, image, voice... 2 1.2.3 Complex data structures: e.g. of data, text, voice, image, video, hypermedia 1 1.6.1 DBMS: features, functions, architecture 1 1.6.2 Data models: relational, hierarchical, network, object, semantic object 2 1.7.1 Knowledge representation 2 1.7.2 Knowledge engineering 2 1.7.3 Inference processing 1 1.7.4 Other techniques: fuzzy logic, CASE-based reasoning, natural language and... 2 1.7.5 Knowledge-based systems 2 2.2.10 Strategic use of IS: e.g., competitive advantage and IS, process re-engineering... 2 2.3.1 Measurement and modeling |
| 43 | to show and explain the logical and physical structure of data to represent characters, records, files, and multimedia objects | identify, explain and discuss the data hierarchy and identify all primary operations associated with each level of the hierarchy (LO-0078) | 3 1.1.1 Fundamental data representation:
non-numeric, numeric (integers, reals, errors... 3 1.1.2 Physical representation of digitized information: e.g., data, text, image, voice... 3 1.2.3 Complex data structures: e.g. of data, text, voice, image, video, hypermedia 3 1.2.4 Abstract data types |
| 44 | to explain the concepts of classes, abstract data types (ADT), and objects | discuss classes which involve elements of the "hierarchy of data" (bit, byte, fields, records, files, database), and use these definitions as a basis for the solutions to problems; describe program structures and their usage relating to each data structure (LO-0086) | 4 1.1.1 Fundamental data representation:
non-numeric, numeric (integers, reals, errors... 3 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked lists, stacks... |
| 45 | to explain and illustrate with IS examples of formal synthetic and analytic problem solving | explain and give examples of the concept of writing computer programs and using software development languages and application development facilities to solve problems (LO-0015) | 1 1.2.1.4 Software design process; from
specification to implementation 1 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 1 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 2 2.3.1 Measurement and modeling 1 3.9.7 Software development 3 3.10.3 Software integration: e.g., packages |
| 46 | to present a systems view of object representations and compare with data flow models | discuss and explain a systems view of an object representation; explain the similarity of an object representation to conventional data flow notation (LO-0200) | 2 1.2.1 Formal problems and problem
solving 3 1.3.6 Object oriented extensions to languages 2 1.3.7 Programming languages, design, implementation and comparison 3 1.3.7.28 Object-oriented design, languages, and programming 3 3.1.4 System components and relationships 2 3.3.5 Behavior oriented (event modeling) methodologies 2 3.3.6 Object oriented methodologies |
| 47 | to develop skills in developing an algorithmic solution to a problem and be able to represent it with appropriate program and data objects | design algorithms and translate them into working solutions in a programming language for many component problems involved in complete information system applications (LO-0199) | 3 1.2.1 Formal problems and problem
solving 3 1.2.4 Abstract data types 3 1.6.2 Data models: relational, hierarchical, network, object, semantic object 3 1.6.3 Normalization 3 1.6.5 Data definition languages 2 1.6.6.1 Function supported by typical database system; access methods, security... 2 1.6.6.2 DML, query, QBE, SQL, etc.: database query language; data definition... 3 1.6.6.3 Application and user interfaces (DML, query, QBE, SQL) 3 3.9.1 Design: logical, physical |
| 48 | to present top-down implementation strategies | design and implement programs in a top-down manner, building first the top levels, stubbing the lower levels; successively complete lower levels in the same manner; identify the concept of continued success in this method (LO-0205) | 2 1.2.1 Formal problems and problem
solving 3 1.2.1.4 Software design process; from specification to implementation 3 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 3 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 3 3.2.5 Selecting a systems development approach 3 3.9.1 Design: logical, physical |
| 49 | to present object implementation concepts | explain and implement modular structures; show the relation of data flow and object representations to the produced code (LO-0090) | 3 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to hierarchy... |
| 50 | to present modular design, cohesion, and coupling concepts | develop and translate a data flow
representation of a problem solution to a hierarchical
and/or object representation (LO-0081) use algorithmic and modular design in the solution of a problem and implement the solution with a procedural language (LO-0087) use parameter passing in implementing a modular solution to a problem; explain the importance of high cohesion and low coupling (LO-0089) apply concepts of modular design to define cohesive modules of appropriate size (LO-0143) apply programming control structures and verify correctness (LO-0144) demonstrate ability to test and validate the solution (LO-0146) |
4 1.2.1 Formal problems and problem
solving 4 1.2.1.4 Software design process; from specification to implementation 4 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 4 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 3 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked lists, stacks... 2 1.2.3 Complex data structures: e.g. of data, text, voice, image, video, hypermedia 4 1.2.4 Abstract data types 4 1.2.4.3 Formal specifications, preconditions and post-conditions, algebraic... 4 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to hierarchy... 4 1.2.4.5 Correctness, verification and validation: pre- and post-conditions, invariants... 4 1.2.4.6 Control structures; selection, iteration, recursion; data types and their uses in... 3 1.2.5.1 Files (structure, access methods): file layouts; fundamental file concepts... 3 1.3.3.3 Procedures, functions, and parameters; arrays and records 3 1.3.7.12 Parameter passing mechanisms; reference, value, name, result, etc. 3 3.1.2 Systems concepts: e.g., structure, boundaries, states, objectives 3 3.1.4 System components and relationships 3 3.9.1 Design: logical, physical 3 3.9.7 Software development 3 3.10.1 Systems construction 3 3.10.2 Software systems construction: e.g., programming, unit testing, load module... |
| 51 | to present a systems view of verification and validation | explain the verification and validation
process; verify code by manual re-engineering to both
procedural and/or object representations (LO-0091) develop data flow designs and translate these designs to pseudocode or fourth GLs (LO-0141) |
4 1.2.1 Formal problems and problem
solving 4 1.2.1.4 The software design process; from specification to implementation 4 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 3 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 3 1.2.4 Abstract data types 3 1.2.4.1 Purpose and implementation of abstract data types 4 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to hierarchy... 3 1.2.4.5 Correctness, verification and validation: pre- and post-conditions, invariants... 3 1.3.5 Fourth-generation languages 4 3.9.7 Software development |
| 52 | to present and expose students to a variety of programming environments, development tools and graphics development environments | demonstrate ability to evaluate and use existing GUI components in construction of an effective user interface for an application (LO-0145) | 3 1.2.4 Abstract data types 3 1.4.10 OS support for human interaction: e.g., GUI, interactive video 3 3.9.6 Human-computer interaction (e.g., ergonomics, graphical-user interfaces... |
| 53 | to introduce the concepts and techniques used to represent and operate on data and file structures, with simple examples | explain the ADTs necessary to access records in an indexed data file; show examples of each type of operation required (LO-0203) | 2 1.2.4 Abstract data types 3 1.2.5 File structures: sequential, direct access, hashing, indexed 2 1.2.6 Sorting and searching data structures and algorithms |
| 54 | to explain how to develop structures using abstract data types representing arrays, lists, trees, records and files, and demonstrate how they are applied as components of programs and applications | use array representations to simulate accessing an indexed file, and use the representations in designing an abstract data type for insert, delete-current, find, next, and previous operations (LO-0085) | 3 1.2.1 Formal problems and problem
solving 3 1.2.1.4 Software design process; from specification to implementation 3 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked lists, stacks... 3 1.2.4.3 Formal specifications, pre-conditions and post-conditions, algebraic... 3 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to... 3 1.2.4.5 Correctness, verification and validation: pre- and post-conditions, invariants... 3 1.2.4.6 Control structures; selection, iteration, recursion; data types and their uses in... |
| 55 | to present and use index file structures, including key organizations | discuss and explain the concept of indexed files; describe key construction and compare data management requirements involved in selecting optimal keys; explain the functions that are necessary to implement and access indexed records; explain the similarity of arrays and indexed files in terms of similarities of functions in ADTs (LO-0202) | 2 1.2.5 File structures: sequential, direct access, hashing, indexed |
| 56 | to explain a variety of fundamental structures that are building blocks for the development of programs and IS applications | apply application software to solve
small scale problems (LO-0084) develop user and system documentation for a program solution to a problem of moderate complexity (LO-0088) |
3 1.2.1 Formal problems and problem
solving 3 1.2.1.4 Software design process; from specification to implementation 3 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 3 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 2 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked lists, stacks... 3 1.2.4 Abstract data types 3 2.2.16 Security and control, viruses and systems integrity 2 2.10.2 Interviewing, questioning and listening 3 2.10.5 Writing skills 3 3.2.2 Package acquisition and implementation 2 3.7.8 Systems documentation 2 3.7.9 User documentation (e.g., reference manuals, operating procedures, on-line... |
| 57 | to provide the foundations for applications of data structures and file processing techniques | use abstract data types involved in common IS applications to implement solutions to problems involving indexed file processing techniques. (LO-0198) | 3 1.2.1 Formal problems and problem
solving 3 1.2.1.4 Software design process; from specification to implementation 3 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 3 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 3 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked lists, stacks... 3 1.2.4 Abstract data types 3 1.2.4.1 Purpose and implementation of abstract data types 3 1.2.4.2 Informal specifications 3 1.2.4.3 Formal specifications, pre-conditions and post-conditions, algebraic... 3 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to... 3 1.2.4.5 Correctness, verification and validation: pre- and post-conditions; invariants... 3 1.2.4.6 Control structures; selection, iteration, recursion; data types and their uses in... 3 1.2.5 File structures: sequential, direct access, hashing, indexed 3 1.2.5.1 Files (structure, access methods): file layouts; fundamental file concepts... 3 1.2.5.2 Files (structure, access methods): directories, contents and structure, naming... 2 1.2.6 Sorting and searching data structures and algorithms 2 1.2.6.1 Sorting algorithms (shell sort, bucket sort, radix sort, quick sort), editing... |
| 58 | to present and ensure problem solving involving files and database representations | use indexed files and ADTs to solve simple problems involving files used as elements of a database solution. (LO-0204) | 3 1.2.4 Abstract data types 3 1.2.4.3 Formal specifications, pre-conditions and post-conditions, algebraic... 3 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to hierarchy... 3 1.2.4.5 Correctness, verification and validation: pre- and post-conditions, invariants... 3 1.2.4.6 Control structures; selection, iteration, recursion; data types and their uses in... 3 1.2.5 File structures: sequential, direct access, hashing, indexed 2 1.6.1 DBMS: features, functions, architecture 2 1.6.2 Data models: relational, hierarchical, network, object, semantic object 2 2.3.1 Measurement and modeling 2 3.3.2 Data modeling: e.g., entity-relationship diagrams, normalization |
| 59 | to present and develop useful structured file (database) editors, posting mechanisms, and reports (simple, control break) | build and document several applications using indexed files, screen editors, and reports (LO-0093) | 3 1.2.1 Formal problems and problem
solving 3 1.2.4 Abstract data types 3 1.2.5 File structures: sequential, direct access, hashing, indexed 3 3.7.8 Systems documentation 2 3.9.6 Human-computer interaction (e.g., ergonomics, graphical-user interfaces, voice... |
| 60 | to continue the development of programming techniques, particularly in the design, testing and debugging of IS related programs of some complexity | define, explain and present the process of stating and solving formal analytic problems (LO-0080) | 3 1.2.1 Formal problems and problem
solving 3 1.2.1.4 Software design process; from specification to implementation 3 1.2.1.5 Problem recognition statement and algorithmic determination; procedural... 3 1.2.1.6 Implementation strategies (top-down, bottom-up; teams vs individual... 3 1.2.2 Basic data structures: lists, arrays, strings, records, sets, linked lists, stacks... 3 1.2.4 Abstract data types 3 1.2.4.3 Formal specifications, pre-conditions and post-conditions, algebraic... 3 1.2.4.4 Modules, cohesion, coupling; data flow diagrams, and conversion to hierarchy... 3 1.2.4.5 Correctness, verification and validation: pre- and post-conditions, invariants... 3 1.2.4.6 Control structures; selection, iteration, recursion; data types and their uses in... 2 1.2.6.1 Sorting algorithms (shell sort, bucket sort, radix sort, quick sort), editing, report... 2 1.2.6.2 Searching algorithms (serial search, binary search, and binary search tree) 2 1.2.6.3 Searching, hashing, collision resolution 3 3.1.3 Properties of open systems 3 3.9.1 Design: logical, physical 3 3.9.7 Software development 3 3.10.2 Software systems construction: e.g., programming, unit testing, load module... |
| 61 | to develop an awareness of the relative capabilities and limitations of most common programming languages | explain the capabilities and differences for programming environments and language (LO-0094) | 1 1.2.8 Recursive algorithms 1 1.2.9 Neural networks and genetic algorithms 1 1.2.10 Advanced considerations 2 1.3.1 Fundamental programming language structures; comparison of languages and... 2 1.3.2 Machine and assembly level languages 2 1.3.3 Procedural languages 2 1.3.4 Non-procedural languages: logic, functional 2 1.3.5 Fourth-generation languages 1 1.3.6 Object oriented extensions to languages 2 1.3.7 Programming languages, design, implementation and comparison 2 1.4.10 OS support for human interaction: e.g., GUI, interactive video 1 1.6.10 Database machines |
IS'97.6
Information Technology Hardware and Software
2480
CATALOG Principles and application of telecommunication and
computer systems hardware and software will be presented through
lecture, installation, configuration and operations experiences.
(Prerequisite: IS'97.2)
2482
SCOPE The course provides the hardware-software technology
background to enable systems development personnel to understand
tradeoffs in computer architecture for effective use in the
business environment.
2484
TOPICS Hardware: CPU architecture, memory, registers,
addressing modes, busses, instruction sets, multi processors
versus single processors; peripheral devices: hard disks, CDs,
video display monitors, device controllers, input/output;
operating systems functions and types; operating system modules:
processes, process management, memory and file system management;
examples of hardware architectures; examples of operating
systems.
EXPLANATION AND EXPECTATIONS
2490
Students who are knowledgeable of and have developed personal
information systems will gain an in-depth exposure to information
technology hardware and software components and their
interaction.
2492
A systems view of computer systems will be utilized in
identification of computer and telecommunication system
components. Peripheral devices will be identified and principles
of operation will be studied and learned. The operating system
software, including I/O drivers, and telecommunication
applications and extensions to the operating system will be
examined, learned and utilized.
2496
Organization of the operating system will be studied to
understand how concurrent processes, scheduling, memory
management, and I/O are accomplished. The flow of information in
the operating system in relation to the computer and to the
application software will be considered.
2499
Telecommunication devices will be identified and system
integration considerations will be presented. Switches,
multiplexers, and media -- wire, glass fiber and radio -- will be
explored as basic components of telephone, LAN and WAN systems.
2502
Standards, standard organizations and resulting hardware and
software consequences will be identified and studied. General
principles will be expressed.
2504
Students will gain practical experience with cabling,
installing, configuring and multi-user operating systems and
LANs.
Students completing this course will have mastered the following learning units:
2506
| Learning Unit Number |
Learning Unit Goal |
Learning Unit Objectives |
Competency Level and Body of
Knowledge Elements in Learning Units |
| 62 | to explain in systems terms the fundamental characteristics and components of computer and telecommunications hardware, and system software, and demonstrate how these components interact | use the systems approach to explain the hardware and software components of a telecommunications system, and to diagram and discuss the nature of the interactions of the components; explain in systems terms the purpose, expectations and the quality of a telecommunications system, and show how the components work purposefully together (LO-0230) | 2 1.1.2 Physical representation of
digitized information: e.g., data, text, voice, video 3 1.1.3 CPU architectures: CPU, memory, registers, addressing modes, instruction sets 2 1.1.3.1 Basic organization; von Neumann, block diagram, data paths, control path... 2 1.1.4.1 Peripherals: I/O and interrupts 2 1.1.4.2 Peripherals: input/output control methods, interrupts 2 1.1.4.3 Peripherals: external storage, physical organization and drives 2 1.1.5 Multiprocessor architectures 1 1.1.6 Digital logic and systems 1 1.1.6.3 Demultiplexers, multiplexers, decoders, encoders, adders, subtractors... 1 1.1.6.8 Tristates and bus structures 2 1.4.1 Architecture, goals and structure of an operating system; structuring methods... 2 1.4.2 Interaction of operating system and hardware architecture 2 1.4.3 Process management: concurrent processes, synchronization 2 1.4.3.1 Tasks, processes, dispatching context switchers, role of interrupts 2 1.4.5 Resource allocation and scheduling 1 1.4.5.1 Protocol suites (communications and networking); streams and datagrams 1 1.4.5.2 Internetworking and routing; servers and services 1 1.4.5.3 Types of operating systems: single user, multi-user, network 1 1.4.5.6 Operating system utilities 1 1.4.8 Protection and security 1 1.4.11 OS interoperability and compatibility: e.g., open systems 1 1.4.12 Operating system utilities, tools, commands and shell programming 1 1.4.13 System administration and management 2 1.5.1.2 Network design and management: network architectures (ISO, SNA, DNA)... 2 1.5.2 Data transmission: media, signaling techniques, transmission impairments... 2 1.5.2.1 Communications system technology: transmission media, analog-digital... 2 1.5.3 Line configuration: error control, flow control, multiplexing 2 1.5.4 Local area networks 2 1.5.4.2 Local area networks and WANs: topology, gateways, uses (functions and... 2 1.5.5 Wide area networks: switching techniques, broadcast techniques, routing 2 1.5.6 Network architectures and protocols 2 1.5.8 Network configuration, performance analysis and monitoring 1 1.5.10 High-speed networks: e.g., broadband ISDN, SMDS, ATM, FDDI 1 1.5.12 Application: e.g., client server, EDI, EFT, phone network, e-mail, multimedia... 2 2.2.5 Determining goals and objectives of the IS organization 1 2.2.8 IS as a service function: performance evaluation -- external/internal market... 1 2.2.10 Strategic use of IS: e.g., competitive advantage and IS, process re-engineering... 1 2.2.13 Backup, disaster planning and recovery 1 2.2.15.1 Telecommunications management 1 2.2.15.7 Quality management: e.g. reliability and quality engineering; QC teams 1 2.2.16 Security and control, viruses and systems integrity 3 3.1.1 General systems theory 3 3.1.2 Systems concepts: e.g., structure, boundaries, states, objectives 2 3.1.3 Properties of open systems |
| 63 | to provide an overview of peripheral devices and their function | identify major classes of peripheral devices and explain the principles of operation and software requirements and functions provided for each type of device; give specific examples of each device identified, and discuss the installation requirements for the hardware and required software (LO-0213) | 2 1.5.4 Local area networks |
| 64 | to introduce the concepts of computer hardware architectures | define data and communication
requirements to access local (the hard-disk, or server)
and remote data (e.g., via internet) to solve individual
problems (LO-0024) describe and explain the major hardware and software components of a computing system and how they interact (LO-0095) |
2 1.1.3 CPU architectures: CPU, memory,
registers, addressing modes, instruction sets 2 1.1.4 Computer system components: busses, controllers, storage systems, peripheral... 2 1.1.6 Digital logic and systems 2 1.5.1 International telecommunication standards, models, trends 1 1.5.2 Data transmission: media, signaling techniques, transmission impairments... 1 1.5.4 Local area networks 3 1.5.5 Wide area networks: switching techniques, broadcast techniques, routing 2 1.5.6 Network architectures and protocols 2 1.5.12 Application: e.g., client server, EDI, EFT, phone network, e-mail, multimedia... 3 3.1.5 Systems control: standards, control theory, feedback, loops, measurement... |
| 65 | to introduce the concepts of system software components and interactions | describe and explain the major
components of an operating system and how they interact
(LO-0096) explain the control of input/output functions; install and configure drivers (LO-0101) |
2 1.4.2 Interaction of operating system
and hardware architecture 2 1.4.3 Process management: concurrent processes, synchronization 2 1.4.6 Secondary storage management 2 1.4.7 File and directory systems 2 1.4.8 Protection and security 2 1.4.10 OS support for human interaction: e.g., GUI, interactive video 2 2.2.2 Control of the IS function: e.g., EDP auditing, outsourcing 3 3.1.2 Systems concepts: e.g., structure, boundaries, states, objectives 2 3.9.3 Design objectives: e.g., usability, performance 2 3.10.2 Software systems construction: e.g., programming, unit testing, load module... |
| 67 | to introduce the major concepts in operating systems, including process definition, concurrent processing, memory management, scheduling, interrupt processing, security, and file systems | explain the concept of tasks and
processes (LO-0097) explain the concept of concurrency and multi- tasking
(LO-0098) explain routine behavior of task schedulers, priority queues, interrupt processing, memory management and file system (LO-0099) |
2 1.4.2 Interaction of operating system
and hardware architecture 2 1.4.3 Process management: concurrent processes, synchronization 2 1.4.4 Memory management 1 1.4.5 Resource allocation and scheduling 2 1.4.6 Secondary storage management 2 1.4.7 File and directory systems 2 1.4.8 Protection and security 3 3.1.4 System components and relationships |
| 68 | to introduce a variety of operating environments (traditional, GUI, multimedia) and resource requirements | describe and discuss several computer system operating environments including traditional, graphical user interface, and multi-media; estimate the hardware and software items and approximate cost for each environment; discuss relative advantages for each environment (LO-0212) | 2 1.4.10 OS support for human
interaction: e.g., GUI, interactive video 3 1.4.12 Operating system utilities, tools, commands and shell programming 3 1.4.13 System administration and management 2 1.5.12 Application: e.g., client server, EDI, EFT, phone network, e-mail, multimedia... |
| 69 | to discuss, explain and install multimedia facilities | discuss and explain the hardware and
software requirements necessary to support multimedia
(LO-0181) explain development software tools which support
multimedia environments; discuss the advantages and
shortcomings of various development tools and
environments (LO-0182) install multimedia sound and video hardware and software components; install development environments and demonstrate use of the installed software systems (LO-0183) |
3 1.4.10 OS support for human interaction: e.g., GUI, interactive video |
| 70 | to introduce the requirements for interoperability and systems integration | explain concepts of interoperability and
systems integration in relation to policies and practices
(LO-0177) explain components of hardware and software to connect
and implement networked solutions for PC networks and
more advanced LAN and WAN environments. explain installation and configuration of a
distributed system explain OS considerations to enable a client server environment |
2 1.4.9 Distributed operating systems 2 1.4.11 OS interoperability and compatibility: e.g., open systems 2 3.10.5 Systems integration and system testing: verification and validation, test plan... |
| 71 | to install, configure and operate a multi-user operating system | build system software command structures
(e.g. JCL) for both mainframe and microcomputer systems
involving the macro facilities of the operating system
(LO-0100) install, configure and operate a multi-user operating system (LO-0103) |
3 1.3.7.28 Object-oriented design,
languages, and programming 3 1.4.2 Interaction of operating system and hardware architecture 3 1.4.5 Resource allocation and scheduling 3 1.4.6 Secondary storage management 3 1.4.7 File and directory systems 3 1.4.8 Protection and security |
IS'97.7
Analysis and Logical Design
2520
CATALOG Students with information technology skills will learn to analyze and design information systems. Students will practice project management during team oriented analysis and design of a departmental level system. (Prerequisites: IS'97.4, IS'97.5, and IS'97.6)
2523
SCOPE This course provides an understanding of the system
development and modification process. It enables students to
evaluate and choose a system development methodology. It
emphasizes the factors for effective communication with users and
team members and all those associated with development and
maintenance of the system.
2527
TOPICS Life cycle phases: requirements determination, logical
design, physical design, test planning, implementation planning
and performance evaluation; communication, interviewing,
presentation skills; group dynamics; risk and feasibility
analysis; group based approaches: JAD, structured walkthroughs,
design and code reviews; prototyping; database design; software
quality metrics; application categories; software package
evaluation and acquisition; professional code of ethics.
EXPLANATION AND EXPECTATIONS
2533
Students with the basic skills of information technology will
learn to gather information in order to identify problems to be
solved. They will determine system requirements and a logical
design for an information system, while participating as team
members in a project beginning in this course and continuing over
a coordinated four course project sequence (IS'97.7, IS87.8,
IS/97.9 and IS'97.10).
2537
Students will investigate alternative solutions, and will
determine feasibility of solutions. They will identify value
added by the completion of the system.
2539
Students will be exposed to case or other tools which have the
same functionality. Tools which facilitate each stage of the life
cycle should be used. While CASE tools are not a substitute for
understanding of the processes involved, they may be used to
ensure that a particular methodology is used rigorously. If
manual methods are used, it is important to define the
methodology thoroughly.
2543
Project management will be taught and used to control the team
project. Team concepts including personal and interpersonal
skills will be discussed and monitored. Empowerment concepts will
be used and measured. Scheduling and completing individual and
group actions will be used to ensure project milestone
completion.
2547
A departmental information system will be designed during this
course. The instructor, in addition to lecturing, may wish to
adopt a role within the project phase: CIO, project manager,
consultant, or client are all possible roles.
Students completing this course will have mastered the
following learning units:
2551
| Learning Unit Number |
Learning Unit Goal |
Learning Unit Objectives |
Competency Levels and Body
of Knowledge Elements in Learning Units |
| 72 | to present necessary concepts to provide the skills necessary to do the analysis, modeling, and definition of information systems problems | explain IS life cycle phases and
concepts and alternatives (LO-0057) detect problem to solve, re-engineer physical flow (LO-0108) |
3 2.10.10 Fostering creativity and
opportunity finding 2 3.6.1 Feasibility assessment 2 3.6.2 Risk management principles 3 3.8.1 Problem opportunity identification: e.g., service requests, from planning process |
| 73 | to give students exposure to using commercial program products to implement information systems | demonstrate ability to analyze
alternative approaches to applications including
packages, tailoring or customizing packages, adding
modules to packages, and building unique applications
(LO-0110) explain the concepts of acquiring computer hardware
and software (LO-0167) explain the process of writing bids and contracts
(LO-0174) explain all phases of contracts and write realistic examples for consultant relationships, software and hardware acquisition, or other relevant examples (LO-0175) |
2 2.8.1 Software sales, licensing, and
agency 3 2.8.2 Contract fundamentals 3 2.8.3 Privacy law 2 2.8.4 Agencies and regulatory bodies 2 2.8.5 Protection of intellectual property rights 3 2.8.7 Risks, losses and liability in computing applications 3 3.7.11 Scoping and scope control |
| 74 | to show how to collect and structure information in the development of requirements and specifications | conduct an information gathering
interview with individuals and with a group (LO-0106) conduct a JAD session using a GDS tool (either manual or electronic) (LO-0111) |
3 2.10.1 Communication skills 3 2.10.2 Interviewing, questioning and listening 3 2.10.5 Writing skills 3 3.4.2 Group-based methods: e.g., JAD, structured walkthroughs, design and code... |
| 75 | to show how to develop a logical design, and develop and analyze alternatives involving implementation using packages, tailoring of packages, constructing software, or CASE tools | use CASE , I-CASE or other automated or
non-automated tools (LO-0112) be able to use a commercial CASE tool to generate "upper case" documentation (LO-0113) |
3 3.4.1 CASE |
| 76 | to develop a functional understanding of rapid prototyping and other similar alternative mechanisms for rapid development of information systems | use rapid prototyping and other similar alternative mechanisms for rapid development of information systems (LO-0114) | 3 3.2.1 Systems development models:
e.g., SDLC, prototyping 3 3.2.5 Selecting a systems development approach |
| 77 | to show how to assess risks and feasibility | identify IS requirements and specifications and tentative logical design alternatives; evaluate proposed competitive advantage, feasibility and risk (LO-0109) | 2 3.5.1 Infrastructure planning:
hardware, communications, database, site 3 3.6.1 Feasibility assessment 3 3.8.3 Requirements determination and specification 3 3.9.1 Design: logical, physical |
| 78 | to show students how to analyze organizational systems to determine how the systems might be improved | compare several proposed systems
solutions, based on criteria for success (LO-0061) identify, explain and use development methodologies
compatible with the concept of process of continuous
improvement (LO-0107) apply systems, decision and quality theory and
information systems development techniques and
methodologies to initiate, specify and implement a
relatively complex multi-user information system
originating in a quality conscious organization involved
in continuous improvement of its processes (LO-0149) at an enterprise or multi-department level, develop physical flows as well as a complete work flow design |
3 2.2.6 Managing IS as a business: e.g.,
customer definition, defining IS mission, IS... 3 2.2.10 Strategic use of IS: e.g., competitive advantage and IS, process re-engineering... 3 2.3.1 Measurement and modeling 2 2.10.8 Principle centered leadership 2 2.10.10 Creative problem solving and opportunity identification 3 3.1.5 Systems control: standards, control theory, feedback, loops, measurement... 3 3.10.7 Software project management: scoping, scheduling, configuration manage... |
| 79 | to develop skills for effective interpersonal communication to develop consensus using classical techniques as well as computer facilitated groupware | explain the concept of shared vision in
developing effective solutions to organizational process
(LO-0052) explain common forms of behavior that can lead to lack of communication |
3 2.3.4 Decision models and IS:
optimizing, satisficing 3 2.3.5 Group decision process 2 3.9.4 Techniques to enhance the creative design process |
| 80 | to demonstrate and analyze small group dynamics as related to working with users | explain group and team behavior in an IS
context (LO-0051) explain how groups and teams should work together, empower co-workers, and apply team methods; measure and prove empowerment and effectiveness; participate effectively in cooperative team work; and evaluate success of work (LO-0154) |
3 2.3.4 Decision models and IS:
optimizing, satisficing 3 2.3.5 Group decision process 4 2.4.3 Group dynamics 4 2.4.4 Teamwork, leadership and empowerment 2 2.4.5 Use of influence, power and politics 4 2.4.8 Consensus building |
| 81 | to develop application skills for
implementing databases and applications by operating and testing these databases |
design and implement an information
system within a database environment (LO-0118) develop dataflow and/or an event driven models of the
components of an information system, and design the
implementation of the concepts develop the corresponding database and implement the
schema with a DBMS package develop event driven screens corresponding with the database design; develop report designs for necessary documentation and reporting; resolve the database indexes and construct the appropriate application |
3 1.6.1 DBMS: features, functions,
architecture 3 1.6.2 Data models: relational, hierarchical, network, object, semantic object 3 1.6.3 Normalization 3 1.6.4 Integrity (referential, data item, intra-relation): representing relationships; entity... 3 1.6.5 Data definition languages 3 1.6.7 Intelligent query processors and query organization 3 1.6.12 Data dictionary, encyclopedia, repository 3 3.9.2 Design methodologies: e.g., real time, object oriented, structured 2 3.9.5 Information presentation alternatives; cognitive styles |
| 82 | to present and use complexity metrics to assess developed solutions | apply system software functions to analyze resource use and performance characteristics for an application (LO-0102) | 3 1.4.1 Architecture, goals and
structure of an operating system; structuring methods... 3 1.4.2 Interaction of operating system and hardware architecture 2 3.5.4 Metrics for size, function points, control of complexity 3 3.7.9 User documentation (e.g., reference manuals, operating procedures, on-line... 3 3.7.13 System development quality assurance 2 3.9.7 Software development |
| 83 | to develop quality metrics for assessment of software development and project control of software development | explain how written standards describing
each phase of the life-cycle can evolve; explain the
relevance of written standards, and the desirability of
developing quality assurance procedures describe and explain the use of quality metrics in assessment of software development and in facilitating project control of the development activities (LO-0206) |
2 1.2.7 Algorithm efficiency, complexity
and metrics 3 2.2.15.7 Quality management: e.g. reliability and quality engineering; QC teams 2 3.5.4 Metrics for size, function points, control of complexity 2 3.7.10 System metrics 2 3.7.13 System development quality assurance 2 3.9.7 Software development |
| 84 | to develop quality metrics for assessment of customer satisfaction at all phases of the life cycle | use quality metrics and performance benchmarks to ensure customer satisfaction for each phase of the life cycle. Test the metrics during system development activities (LO-0115) | 3 3.7.10 System metrics 3 3.7.13 System development quality assurance 2 3.9.3 Design objectives: e.g., usability, performance |
| 85 | to explain the use of a professional code of ethics to evaluate specific IS actions | identify and describe professional
organizations (LO-0043) explain setting an ethical standard (LO-0044) explain and examine ethical issues and arguments and
failed approaches as a function of power and social
context identification of stakeholders in a given IS
development context, and the effect of development on
these individuals describe use of the codes of ethics and ensure that project actions are consistent with these prescriptions (LO-0127) |
2 2.8.3 Privacy law 3 2.8.5 Protection of intellectual property rights 2 2.8.6 Ethics: Personal and professional responsibilities; ethical models, ... 2 2.9.1 Current literature periodicals, professional, academic journals 2 2.9.2 Certification issues 3 2.9.3 Professional organizations: e.g., DPMA, ACM, TIMS, ASM, DSI, ACE, IEEE... 2 2.9.4 Professional conferences 2 2.10.6 Proactive attitude and approach |