James D Kiper - Profile on Academia.edu (original) (raw)

Papers by James D Kiper

Research paper thumbnail of The ergonomic, efficient, and economic integration of existing tools into a software environment /

The ergonomic, efficient, and economic integration of existing tools into a software environment /

Research paper thumbnail of The ergonomic, efficient, and economic integration of existing tools into a software environment (engineering, programming)

The ergonomic, efficient, and economic integration of existing tools into a software environment (engineering, programming)

Research paper thumbnail of Undergraduate software engineering laboratories

Recently, both Miami University of Ohio and the Rochester Institute of Technology received NSF gr... more Recently, both Miami University of Ohio and the Rochester Institute of Technology received NSF grants to develop undergraduate software engineering laboratories. While the general goals of the labs are similar, specific hardware and software selections were driven by differing curricular emphases and educational environments at the two institutions. This paper presents the distinctive characteristics of each school's program, discusses the influence of these features on the selection process, and describes our experiences to date with the resulting labs. The goal is to provide useful information and guidance to others considering such facilities. 2. Educational Context 2.1. Miami University MU's Systems Analysis Department has a relatively long history of preparing software engineers for business and industry.

Research paper thumbnail of ActiviSee: Activity Transition Detection for Human Users through Wearable Sensor-augmented Glasses

ActiviSee: Activity Transition Detection for Human Users through Wearable Sensor-augmented Glasses

Research paper thumbnail of Engaging CS Alumni from Afar

Engaging CS Alumni from Afar

Alumni connect an institution to the world beyond its doors. Alumni can help students in many way... more Alumni connect an institution to the world beyond its doors. Alumni can help students in many ways, from providing new perspectives on core computer science concepts to providing opportunities for work and experiential learning. Students can envision themselves following in alumni footsteps, and many alumni are eager to help students with whom they share an alma mater. Some computer science departments benefit from having their alumni nearby, while others—especially those far away from concentrations of computing and information technology businesses—must find ways to engage alumni from afar.

Research paper thumbnail of Modeling Uncertainty in Requirements Engineering Decision Support

Modeling Uncertainty in Requirements Engineering Decision Support

Workshop on Requirements …, 2005

Research paper thumbnail of The C Programming Language: Including ANSI C, Portability, and Software Engineering

The C Programming Language: Including ANSI C, Portability, and Software Engineering

Research paper thumbnail of Enhanced Design Checking Involving Constraints, Collaboration and Assumptions

Enhanced Design Checking Involving Constraints, Collaboration and Assumptions

Springer eBooks, May 15, 2007

The design process involves selecting between design alternatives based on the requirements and c... more The design process involves selecting between design alternatives based on the requirements and constraints defining the system being developed. The design alternatives and the reasons for selecting one over another form the Design Rationale (DR) for the system. This information represents the designers’ intent and can be used to evaluate the design alternatives and determine the impact on the design

Research paper thumbnail of Design and Development Assessment

International Workshop on Software Specification and Design, Nov 5, 2000

An assessment methodology is described and illustrated. This methodology separates assessment int... more An assessment methodology is described and illustrated. This methodology separates assessment into the following phases (I) Elicitation of requirements; (2) Elicitation of failure modes and their impact (risk of loss of requirements); (3) Elicitation of failure mode mitigations and their effectiveness (degree of reduction of failure modes); (4) Calculation of outstanding risk taking the mitigations into account. This methodology, with accompanying tool support, has been apptied to assist in planning the engineering developtnent of advanced technologies. Design assessment featured prominently in these applications. The overall approach is also applicable to development assessment (of the development process to be followed to implement the design). Both design and development assessments are demonstrated on hypothetical scenarios based on the workshop's TRMCS case study. TRMCS information has been entered into the assessment support tool, and serves as illustration throughout.

Research paper thumbnail of Information technology aided exploration of system design spaces

Finding a preferred solution to a complex design problem is challenging. On the one hand the prob... more Finding a preferred solution to a complex design problem is challenging. On the one hand the problem space is too large and convoluted for human comprehension, while on the other hand it is infeasible to elicit the entirety of design knowledge required for hlly automatic problem solving. We report on a practical application of information technology techniques to aid system engineers effectively explore large design spaces. We make use of heuristic search, visualization and data mining, the combination of which we have implemented within a risk management tool in use at JPL and NASA. This approach is demonstrated on the planning for development of an advanced technology for spacecraft applications. In this context numerous risk abatement options give rise to a huge space of potential design solutions. We show how our approach enhances the system engineers' ability to explore this design space.

Research paper thumbnail of Requirements, architectures and risks

There is wide agreement that architecture plays a prominent role in large, complex software syste... more There is wide agreement that architecture plays a prominent role in large, complex software systems. Selection of an appropriate architecture-one that matches the system requirements and implementation resources-is a critically important development step. We advocate the use of risk-based reasoning to help make good architectural decisions. In this paper, we explore the adaptation of a risk management process and tool to this purpose.

Research paper thumbnail of From Requirements through Risks to Software Architecture for Plan-based and Agile Processes

From Requirements through Risks to Software Architecture for Plan-based and Agile Processes

Page 1. From Requirements through Risks to Software Architecture for Plan-based and Agile Process... more Page 1. From Requirements through Risks to Software Architecture for Plan-based and Agile Processes James D. Kiper Dept. of Computer Science and Systems Analysis Miami University Oxford, OH 45056 kiperjd@muohio.edu ...

Research paper thumbnail of Modeling Student Collaboration Network to Enhance Student Interactions

Modeling Student Collaboration Network to Enhance Student Interactions

2022 IEEE Frontiers in Education Conference (FIE), Oct 8, 2022

Research paper thumbnail of Objects and Types: A Tutorial

This paper is a tutorial explaining the concepts that surround abstract data types and object-ori... more This paper is a tutorial explaining the concepts that surround abstract data types and object-oriented programming, and the relationships between these groups of concepts. These concepts include types (languagedefied, user-defied, abstract), instantiations, differences between operations and functions, overloading, objects, state, inheritance and, messages. Some of the these trems, e.g. "type", have been well defied. Many others are used in seveml contexts with multiple meanings. This paper is an attempt to identify consistent and meaningful definitions which are the most widely accepted. 2. Background De£initions. The &g of an identifier has become a standard concept in most modern programming languages since typing of identifiers makes the task of identdying potentially inappropriate uses of an identifier easier for both the compiler and the human reader of the program. The type of an identifier defies the kind of entity which that identifier represents. The type may indicate that an identifier represents a procedure, a variable, a constant, a package, or some other syntactic component of the language. In the case of variables, the type, generally called the data type, specifies the set (or range) of values which that variable can have, and the set of operations which are valid upon that variable. A type forms a template or pattern to be used in the creation of an entity. A type is not that entity, but is rather a pattern to be used in its creation. The process of using a type template to create an entity is called instantiation An instance of that type is created. For example, in the C programming language "int" is the name of the integer type. It is not an integer, but is a template for creating integers. The declaration "int i;" i s an instantiation of "int". The variable "i" is an instance of 'lint". Another view is that a type is a way of specifying the semantics for a syntactic component of a propun A type of a variable explains how to interpret the binary digits which are stored in the memory location associated with that variable; and reveals the operations which are valid upon those bits. The type declaration of a procedure

Research paper thumbnail of Inservice education of high school computer science teachers

SIGCSE bulletin, Feb 1, 1989

Research paper thumbnail of An undergraduate course in object-oriented software design

Many software development organizations are adopting object-oriented methodologies as their prima... more Many software development organizations are adopting object-oriented methodologies as their primary paradigm for software development. The object-oriented method appears to increase programmer productivity, reduce the overall cost of the software, and perhaps most importantly creates software that promotes reuse and subsequently is easier to modify. Consistent with the change in industry, many universities and industry training organizations are currently in the process of integrating object orientation into their curriculum. There are several approaches including horizontal integration (integrating a small dose of the object orientation into many courses) and vertical integration (having a large dose of the concepts in a single course). In 1996, the Systems Analysis department of Miami University opted for the latter approach and added a new course to its curriculum. It is a course that is intended to provide some in-depth exposure to object-oriented design and implementation. It should be of particular value to faculty in computer science and information systems departments (both at the 4-year and 2-year institutions) as well as those in industry training organizations who are looking for ways to incorporate the object orientation into their curriculum. In this paper, we will describe the choices our department made, what worked well, and what needs to be improved.

Research paper thumbnail of The Integration of Software Development Tools

Research paper thumbnail of Development of an Assessment of Quantitative Literacy for Miami University

Numeracy, Jul 1, 2011

Quantitative Literacy is a competence as important as general literacy; yet, while writing requir... more Quantitative Literacy is a competence as important as general literacy; yet, while writing requirements are seemingly ubiquitous across the college curriculum, quantitative literacy requirements are not. The current project provides preliminary evidence of the reliability and validity of a quantitative literacy measure suitable for delivery online. A sample of 188 undergraduate students from Miami University, a midsize university in the midwestern U.S., participated in the current study. Scores on the measure, were inversely related to statistical/mathematical anxiety measures, directly related to subjective assessment of numeracy, and did not differ across gender or year in school. The resulting measure provides a reasonable tool and method of assessing quantitative literacy at a midsize university.

Research paper thumbnail of A Multi-institutional Analysis of CS1 Students’ Common Misconceptions of Key Programming Concepts

A Multi-institutional Analysis of CS1 Students’ Common Misconceptions of Key Programming Concepts

Springer eBooks, 2022

Research paper thumbnail of TP-GraphMiner: A Clustering Framework for Task-Based Information Networks

TP-GraphMiner: A Clustering Framework for Task-Based Information Networks

2018 IEEE International Conference on System, Computation, Automation and Networking (ICSCA)

Clustering similar entities in relational tables is an open challenge to the research community d... more Clustering similar entities in relational tables is an open challenge to the research community due to the representation of transactional data as tables where the relationships between two or more entities are difficult to represent. This paper uses a graph-based modeling approach called Transaction Pattern Graph Miner (TP-GraphMiner) to identify clusters based on the similarities of the attributes in the transactions. It explores a socio-centric analysis that aims at educational decision-making processes such as identifying the relative engagement of female and male students in the coursework, the similarities of their interaction patterns, similar clusters of entities base on the attributes in the transactions, and the outliers - the entities with divergent interests. The empirical results of this initial investigation have revealed the following: while the rate of enrollment of female students in STEM courses is much lower than that of male students, the clustering results reveals greater active participation of the female students in computer programming courses and their prominent engagement in knowledge sharing and answering their peers’ questions.

Research paper thumbnail of The ergonomic, efficient, and economic integration of existing tools into a software environment /

The ergonomic, efficient, and economic integration of existing tools into a software environment /

Research paper thumbnail of The ergonomic, efficient, and economic integration of existing tools into a software environment (engineering, programming)

The ergonomic, efficient, and economic integration of existing tools into a software environment (engineering, programming)

Research paper thumbnail of Undergraduate software engineering laboratories

Recently, both Miami University of Ohio and the Rochester Institute of Technology received NSF gr... more Recently, both Miami University of Ohio and the Rochester Institute of Technology received NSF grants to develop undergraduate software engineering laboratories. While the general goals of the labs are similar, specific hardware and software selections were driven by differing curricular emphases and educational environments at the two institutions. This paper presents the distinctive characteristics of each school's program, discusses the influence of these features on the selection process, and describes our experiences to date with the resulting labs. The goal is to provide useful information and guidance to others considering such facilities. 2. Educational Context 2.1. Miami University MU's Systems Analysis Department has a relatively long history of preparing software engineers for business and industry.

Research paper thumbnail of ActiviSee: Activity Transition Detection for Human Users through Wearable Sensor-augmented Glasses

ActiviSee: Activity Transition Detection for Human Users through Wearable Sensor-augmented Glasses

Research paper thumbnail of Engaging CS Alumni from Afar

Engaging CS Alumni from Afar

Alumni connect an institution to the world beyond its doors. Alumni can help students in many way... more Alumni connect an institution to the world beyond its doors. Alumni can help students in many ways, from providing new perspectives on core computer science concepts to providing opportunities for work and experiential learning. Students can envision themselves following in alumni footsteps, and many alumni are eager to help students with whom they share an alma mater. Some computer science departments benefit from having their alumni nearby, while others—especially those far away from concentrations of computing and information technology businesses—must find ways to engage alumni from afar.

Research paper thumbnail of Modeling Uncertainty in Requirements Engineering Decision Support

Modeling Uncertainty in Requirements Engineering Decision Support

Workshop on Requirements …, 2005

Research paper thumbnail of The C Programming Language: Including ANSI C, Portability, and Software Engineering

The C Programming Language: Including ANSI C, Portability, and Software Engineering

Research paper thumbnail of Enhanced Design Checking Involving Constraints, Collaboration and Assumptions

Enhanced Design Checking Involving Constraints, Collaboration and Assumptions

Springer eBooks, May 15, 2007

The design process involves selecting between design alternatives based on the requirements and c... more The design process involves selecting between design alternatives based on the requirements and constraints defining the system being developed. The design alternatives and the reasons for selecting one over another form the Design Rationale (DR) for the system. This information represents the designers’ intent and can be used to evaluate the design alternatives and determine the impact on the design

Research paper thumbnail of Design and Development Assessment

International Workshop on Software Specification and Design, Nov 5, 2000

An assessment methodology is described and illustrated. This methodology separates assessment int... more An assessment methodology is described and illustrated. This methodology separates assessment into the following phases (I) Elicitation of requirements; (2) Elicitation of failure modes and their impact (risk of loss of requirements); (3) Elicitation of failure mode mitigations and their effectiveness (degree of reduction of failure modes); (4) Calculation of outstanding risk taking the mitigations into account. This methodology, with accompanying tool support, has been apptied to assist in planning the engineering developtnent of advanced technologies. Design assessment featured prominently in these applications. The overall approach is also applicable to development assessment (of the development process to be followed to implement the design). Both design and development assessments are demonstrated on hypothetical scenarios based on the workshop's TRMCS case study. TRMCS information has been entered into the assessment support tool, and serves as illustration throughout.

Research paper thumbnail of Information technology aided exploration of system design spaces

Finding a preferred solution to a complex design problem is challenging. On the one hand the prob... more Finding a preferred solution to a complex design problem is challenging. On the one hand the problem space is too large and convoluted for human comprehension, while on the other hand it is infeasible to elicit the entirety of design knowledge required for hlly automatic problem solving. We report on a practical application of information technology techniques to aid system engineers effectively explore large design spaces. We make use of heuristic search, visualization and data mining, the combination of which we have implemented within a risk management tool in use at JPL and NASA. This approach is demonstrated on the planning for development of an advanced technology for spacecraft applications. In this context numerous risk abatement options give rise to a huge space of potential design solutions. We show how our approach enhances the system engineers' ability to explore this design space.

Research paper thumbnail of Requirements, architectures and risks

There is wide agreement that architecture plays a prominent role in large, complex software syste... more There is wide agreement that architecture plays a prominent role in large, complex software systems. Selection of an appropriate architecture-one that matches the system requirements and implementation resources-is a critically important development step. We advocate the use of risk-based reasoning to help make good architectural decisions. In this paper, we explore the adaptation of a risk management process and tool to this purpose.

Research paper thumbnail of From Requirements through Risks to Software Architecture for Plan-based and Agile Processes

From Requirements through Risks to Software Architecture for Plan-based and Agile Processes

Page 1. From Requirements through Risks to Software Architecture for Plan-based and Agile Process... more Page 1. From Requirements through Risks to Software Architecture for Plan-based and Agile Processes James D. Kiper Dept. of Computer Science and Systems Analysis Miami University Oxford, OH 45056 kiperjd@muohio.edu ...

Research paper thumbnail of Modeling Student Collaboration Network to Enhance Student Interactions

Modeling Student Collaboration Network to Enhance Student Interactions

2022 IEEE Frontiers in Education Conference (FIE), Oct 8, 2022

Research paper thumbnail of Objects and Types: A Tutorial

This paper is a tutorial explaining the concepts that surround abstract data types and object-ori... more This paper is a tutorial explaining the concepts that surround abstract data types and object-oriented programming, and the relationships between these groups of concepts. These concepts include types (languagedefied, user-defied, abstract), instantiations, differences between operations and functions, overloading, objects, state, inheritance and, messages. Some of the these trems, e.g. "type", have been well defied. Many others are used in seveml contexts with multiple meanings. This paper is an attempt to identify consistent and meaningful definitions which are the most widely accepted. 2. Background De£initions. The &g of an identifier has become a standard concept in most modern programming languages since typing of identifiers makes the task of identdying potentially inappropriate uses of an identifier easier for both the compiler and the human reader of the program. The type of an identifier defies the kind of entity which that identifier represents. The type may indicate that an identifier represents a procedure, a variable, a constant, a package, or some other syntactic component of the language. In the case of variables, the type, generally called the data type, specifies the set (or range) of values which that variable can have, and the set of operations which are valid upon that variable. A type forms a template or pattern to be used in the creation of an entity. A type is not that entity, but is rather a pattern to be used in its creation. The process of using a type template to create an entity is called instantiation An instance of that type is created. For example, in the C programming language "int" is the name of the integer type. It is not an integer, but is a template for creating integers. The declaration "int i;" i s an instantiation of "int". The variable "i" is an instance of 'lint". Another view is that a type is a way of specifying the semantics for a syntactic component of a propun A type of a variable explains how to interpret the binary digits which are stored in the memory location associated with that variable; and reveals the operations which are valid upon those bits. The type declaration of a procedure

Research paper thumbnail of Inservice education of high school computer science teachers

SIGCSE bulletin, Feb 1, 1989

Research paper thumbnail of An undergraduate course in object-oriented software design

Many software development organizations are adopting object-oriented methodologies as their prima... more Many software development organizations are adopting object-oriented methodologies as their primary paradigm for software development. The object-oriented method appears to increase programmer productivity, reduce the overall cost of the software, and perhaps most importantly creates software that promotes reuse and subsequently is easier to modify. Consistent with the change in industry, many universities and industry training organizations are currently in the process of integrating object orientation into their curriculum. There are several approaches including horizontal integration (integrating a small dose of the object orientation into many courses) and vertical integration (having a large dose of the concepts in a single course). In 1996, the Systems Analysis department of Miami University opted for the latter approach and added a new course to its curriculum. It is a course that is intended to provide some in-depth exposure to object-oriented design and implementation. It should be of particular value to faculty in computer science and information systems departments (both at the 4-year and 2-year institutions) as well as those in industry training organizations who are looking for ways to incorporate the object orientation into their curriculum. In this paper, we will describe the choices our department made, what worked well, and what needs to be improved.

Research paper thumbnail of The Integration of Software Development Tools

Research paper thumbnail of Development of an Assessment of Quantitative Literacy for Miami University

Numeracy, Jul 1, 2011

Quantitative Literacy is a competence as important as general literacy; yet, while writing requir... more Quantitative Literacy is a competence as important as general literacy; yet, while writing requirements are seemingly ubiquitous across the college curriculum, quantitative literacy requirements are not. The current project provides preliminary evidence of the reliability and validity of a quantitative literacy measure suitable for delivery online. A sample of 188 undergraduate students from Miami University, a midsize university in the midwestern U.S., participated in the current study. Scores on the measure, were inversely related to statistical/mathematical anxiety measures, directly related to subjective assessment of numeracy, and did not differ across gender or year in school. The resulting measure provides a reasonable tool and method of assessing quantitative literacy at a midsize university.

Research paper thumbnail of A Multi-institutional Analysis of CS1 Students’ Common Misconceptions of Key Programming Concepts

A Multi-institutional Analysis of CS1 Students’ Common Misconceptions of Key Programming Concepts

Springer eBooks, 2022

Research paper thumbnail of TP-GraphMiner: A Clustering Framework for Task-Based Information Networks

TP-GraphMiner: A Clustering Framework for Task-Based Information Networks

2018 IEEE International Conference on System, Computation, Automation and Networking (ICSCA)

Clustering similar entities in relational tables is an open challenge to the research community d... more Clustering similar entities in relational tables is an open challenge to the research community due to the representation of transactional data as tables where the relationships between two or more entities are difficult to represent. This paper uses a graph-based modeling approach called Transaction Pattern Graph Miner (TP-GraphMiner) to identify clusters based on the similarities of the attributes in the transactions. It explores a socio-centric analysis that aims at educational decision-making processes such as identifying the relative engagement of female and male students in the coursework, the similarities of their interaction patterns, similar clusters of entities base on the attributes in the transactions, and the outliers - the entities with divergent interests. The empirical results of this initial investigation have revealed the following: while the rate of enrollment of female students in STEM courses is much lower than that of male students, the clustering results reveals greater active participation of the female students in computer programming courses and their prominent engagement in knowledge sharing and answering their peers’ questions.