
Bruce R Maxim- PhD
- Professor at University of Michigan–Dearborn
Bruce R Maxim
- PhD
- Professor at University of Michigan–Dearborn
About
110
Publications
52,132
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
5,137
Citations
Introduction
Professor Maxim has worked as a software engineer, project manager, professor, author, and consultant for more than forty years. His research interests include software engineering, user experience design, AR/VR, game design, artificial intelligence, and computer science education. His professional experience includes managing research information systems , directing an instructional computing lab, working as a statistical programmer, and serving as a game company chief technology officer.
Current institution
Additional affiliations
January 2008 - May 2011
Sweet Spot Games Inc.
Position
- Chief Technology Officer
Description
- Provided technical expertise on developing games like a horse racing gambling game
January 1985 - August 1990
August 2017 - March 2020
Education
September 1974 - December 1982
May 1973 - August 1974
September 1970 - April 1973
Publications
Publications (110)
This innovative practice paper describes the authors' experiences introducing active learning methodologies into a hybrid undergraduate software engineering project course. On our campus hybrid courses have both in-person and online students participating in a single course taught by the same instructor. The project team adapted the face-to-face cl...
This research-to-practice paper introduces a mini-course module designed to teach computer science students how to interact more efficiently with Generative AI (GAI). The rapid rise of GAI is transforming education by providing students with easy access to knowledge and answers to their questions, acting as a personal tutor. Particularly in the fie...
Belen A. Garcia is an instructional designer at the University of Michigan Dearborn. She earned her Ph.D. in Learning Design and Technology with a focus on engineering education from Purdue University. In her dissertation research, she investigated how middle school students built sustainable virtual cities and the effect on their environmental att...
The increasing demand for versatile and mobile computing has made pervasive computing a crucial component of the high-performance, low-cost computing paradigm for research and education. While existing efforts have developed cybersecurity curricula, platforms, and hands-on labs for cloud, mobile, and cyber-physical systems (CPS), the core propertie...
The authors have created two courses that focus on software engineering and game development. These courses were initially offered as traditional lecture classes to both in-person and online groups of students. This chapter describes the authors’ approaches to revising these game design classes to make use of flipped classroom models that rely on a...
The authors teach two courses focused on software engineering and game development. They critically examined lecture heavy versions of these courses for opportunities to introduce active learning materials in both the face-to-face delivery and online delivery of the courses. Using active learning techniques, the authors sought to improve the studen...
Extended Reality (XR) includes Virtual Reality (VR), Augmented Reality (AR) and Mixed Reality (MR). XR is an emerging technology that simulates a realistic environment for users. XR techniques have provided revolutionary user experiences in various application scenarios (e.g., training, education, product/architecture design, gaming, remote confere...
Often, activities developed for face-to-face delivery of software engineering topics cannot be used without modification in the online delivery of course materials. Following Covid protocols in face-to-face classes also requires modification of active learning course materials. This paper describes the authors' experiences during the past three yea...
Engineering instructors often rely on lectures as their primary mode of instruction even in project courses. In the lecture mode of instruction student engagement with the course material is often low or non-existent. Many engineering educators regard experiential learning as the best way to train the next generation of software engineers. For the...
Science. He has published a number of papers on computer algorithm animation, game development, and engineering education. He is coauthor of best-selling introductory computer science and software engineering texts. Dr. Maxim has supervised several hundred industry-based software development projects as part of his work at UM-Dearborn. Abstract Man...
Data-intensive systems are software applications that process and generate Big Data. Data-intensive systems support the use of large amounts of data strategically and efficiently to provide intelligence. For example, examining industrial sensor data or business process data can enhance production, guide proactive improvements of development process...
Data-intensive computing is a class of parallel computing applications which use data parallel approaches to process large volumes of data (terabytes or petabytes in size). The advent of big data and data-intensive software systems present tremendous opportunities (e.g., in science, medicine, health care, finance) to businesses and society. Researc...
This paper describes the authors' experiences introducing active learning opportunities in a senior level software analysis and design course. The team critically examined the existing artificial intelligence course offered at our institution and created new active learning style instructional materials for selected course topics. We devised delive...
Context: Web services frequently evolve to integrate new features, update existing operations and fix errors to meet the new requirements of subscribers. While this evolution is critical, it may have a negative impact on the quality of services (QoS) such as reduced cohesion, increased coupling, poor response time and availability, etc. Thus, the d...
Engineering instructors often rely on lectures as their primary mode of instruction even in project courses. In the lecture mode of instruction student engagement with the course material is often low or non-existent until the date of an assessment activity (assignment or exam) is near. In passive learning environments students often do not get man...
Currently, refactoring and regression testing
are treated independently by existing studies. However,
software developers frequently switch between these two
activities, using regression testing to identify unwanted
behavior changes introduced while refactoring and applying
refactoring on identified buggy code fragments. Our
hypothesis is that the...
Software Engineering: A Practitioner's Approach (SEPA), Ninth Edition, represents a major restructuring and update of previous editions, solidifying the book's position as the most comprehensive guide to this important subject. This text is also available in Connect. Connect enables the professor to assign readings, homework, quizzes, and tests eas...
Knowledge retention is a human issue requiring efficient effective teaching strategies to overcome. In today’s deliverable driven economy members of the software development workforce are expected to bring in applied knowledge that allows them to perform at high levels from their first day on the job. Software Engineering students often do not have...
This book addresses the challenges in the software engineering of variability-intensive systems. Variability-intensive systems can support different usage scenarios by accommodating different and unforeseen features and qualities. The book features academic and industrial contributions that discuss the challenges in developing, maintaining and evol...
Diagnoses of autism continue to climb, with incidence levels reported as 1 in 59 for 8-year-old children. Persons with autism prefer to socialize online where they risk encountering online predators. Online social environments can be used to the build skills needed to make them more risk aware. The team created a medieval-themed Unity game with a f...
Engineering instructors often rely on the traditional lecture model where they lecture on a topic, with or without a slideshow, to a classroom of students. In this model, student engagement is low or non-existent with students neglecting to engage with the material until an assessment (i.e. an assignment or examination) is due. Further, students of...
Active learning tools are critical in imparting real world experiences to the students within a classroom environment. This is important because graduates are expected to develop software that meets rigorous quality standards in functional and application domains with little to no training. However, there is a well-recognized need for the availabil...
Software Architecture for Big Data and the Cloud is designed to be a single resource that brings together research on how software architectures can solve the challenges imposed by building big data software systems. The challenges of big data on the software architecture can relate to scale, security, integrity, performance, concurrency, paralleli...
Code-smells are identified, in general, by using a set of detection rules. These rules are manually defined to identify the key symptoms that characterize a code-smell using combinations of mainly quantitative (metrics), structural, and/or lexical information. We propose in this work to consider the problem of code-smell detection as a multi-object...
This paper describes the authors’ experiences introducing active learning opportunities in junior level software engineering courses. The project team critically examined existing software engineering courses at our institutions and created new active learning style instructional materials for selected course topics. We devised delivery strategies...
Imparting real world experiences is often a challenge due to both lack of effective active learning tools and effective delivery strategies. This pedagogical requirement is important because graduates are expected to develop software that meets rigorous quality standards in functional and application domains with little to no training. Lack of effe...
The goal of this project was to create a computer game that emphasizes best practices in software engineering process improvement as students create virtual engineering artifacts during game play. Our digital card game rewards players for using good software project management strategies within the Scrum framework to complete projects on time and w...
Software quality was at one time restricted to ensuring that a completed software product conformed to its explicitly stated requirements. For several years now, meeting customer expectations (both implicit and explicit) has become an important aspect of software quality assurance (SQA). The news media is filled with reports of failed software syst...
Many computing students do not receive adequate training in software quality management. Some students do not have the opportunity to practice software process improvement activities even if they do see the topics covered in their course lectures and textbooks. We created a serious game that will serve as a virtual learning environment to allow stu...
Wireless sensor networks have always been designed for monitoring physical environments and reporting the obtained data to a central collection point, called base station (or sink), which will process and analyze them. This type of network consists of tiny, battery-powered devices, called sensor nodes, which are able to store and process data, and...
In its eighth edition, the book has again been revised and redesigned, undergoing a substantial content update that addresses new topics in what many have called “the engineering discipline of the 21st-century.” Entertaining and informative sidebars and marginal content have been expanded and make the book still easier-to-use in the classroom and a...
This paper describes experiences teaching software engineering project courses at the University of Michigan-Dearborn during the past seventeen years. Modern game development involves significant software engineering effort. Students in these courses are required to work as members of small teams to complete software development projects. These pro...
Due to the outsourcing of many low level computing jobs, many students have a perception that there are very few computer science related jobs in the United States. Consequently, the number of students majoring in computer science has been decreasing. This project attempts to use social media as a means of attracting more students to study computer...
This project leverages virtual world environments to create spaces to support sustainable problem solving communities. These communities are seeking to address pressing social problems through the collaborative efforts of college students, high school students, volunteers, and staff members affiliated with the Gleaners Incorporated. Our approach is...
This paper describes the design and application of a business simulation to help train employees about the new business model and culture that for an automotive supplier company that designs connected vehicle and other advanced electronic products for the automotive industry. The simulation, called SIM-i-TRI, is a three to four day collaborative le...
The authors describe a method for “bringing algorithms to life” in secondary school mathematics and computer science classes. Cooperative computing activities are presented in which each student plays the role of a switch or processor, and the algorithms are “acted out.” Parallel algorithms, in which many steps can occur at the same time, are empha...
There is general agreement that the need for computing professionals in the near term is increasing, while enrollment in computer science degree programs is decreasing. We hope to address this situation by attracting pre-college students to study computer science and information technology at the collegiate level through participation in short term...
Our college is leveraging Second Life to develop and build sustainable problem solving communities to address pressing social problems through the collaborative efforts of college students, high school students, volunteers, staff members affiliated with the Food Bank Council of Michigan (FBCM), and Gleaners Incorporated. Our approach is to have eng...
There is general agreement that the need for computing professionals in the near term will continue to increase, while enrollment in computer science degree programs is decreasing. We hope to meet this need by attracting pre-college students to study computer science and information technology at the collegiate level through participation in summer...
There has been increased interest on the impact of mobile devices such as PDAs and Tablet PCs in introducing new pedagogical
approaches and active learning experiences. We propose an intelligent system that efficiently addresses the inherent subjectivity
in student perception of note taking and information retrieval. We employ the idea of cross ind...
Abstract Immersive learning via animation, virtual experiments, and simulations is an attractive concept. As the complexity of educational content increases,its delivery methods and pedagogy must improve as well. While the efficacy of immersive environments for education and training is well established, their use with elementary and middle schools...
Immersive learning using computer animation and simulation is an attractive concept. Use of immersive technology to deliver flying lessons to NASA astronauts is well known. While the efficacy of immersive environments for education and training is well established, their accessibility to elementary and middle schools students is negligible. Until r...
There is general agreement that the need for computing professionals in the near term will continue to increase, while enrollment in computer science degree programs is decreasing. Many middle school and high school students want to know how to construct their own computer games. The enabling technologies that support game design include many funda...
The development of computer games is labor- intensive. Modern game development requires the effort of a team of skilled professionals to integrate multimedia content with complex software. Producing high-quality software game products requires large teams to rely on high levels of communication, organization, and planning to avoid costly delays and...
This paper describes the authors' experiences teaching an industry-based capstone design course during the past ten years. Students in this course are required to work as members of small teams to complete software development projects. These projects proceed from requirements gathering to analysis, design, implementation, and delivery of products...
The development of computer games is labor-intensive. Modern game development requires the effort of a team of skilled professionals to integrate multimedia content with complex software. Producing high-quality software game products requires large teams to rely on high levels of communication, organization, and planning to avoid costly delays and...
This paper presents a three-layer model that captures the fundamentals of software metrics within a unifying framework. The model readily lends itself for use in both instructional and practitioner environments. The first (lowest) layer of the model consists of the three primitive software engineering metrics: person-months (PM), function-points (F...
Game development generates a great deal of excitement among undergraduate computing students. Many students are disappointed to find that they will not learn how to build computer games in their required computing courses. The author created a two-semester sequence of courses focusing on the application of software engineering principles to the des...
In this paper we propose a new algorithm for accurate correction of surface noises of polygonal meshes. It consists of three basic components: (a) feature-preserving pre-smoothing; (b) partitioning of feature and non-feature regions; (c) second-order predictor for non-feature regions and median filter for feature regions. The unique contributions o...
Computer game sales is a multibillion-dollar-a-year enterprise. Internet access is available to more than 50% of homes in the United States and has created a global community of potential game players. Successful game design requires careful attention to the expectations of the intended group of users with regard to such elements as story line, use...
Program assessment has become an important part of the accreditation process for virtually every educational institution. As in all process improvement activities organizations need to establish goals and objectives prior to determining outcome measures used to monitor the organization's progress toward meeting these goals. This paper describes the...
This paper describes a set of author developed interactive web exercises and a development environment designed to facilitate language acquisition in a beginning course in C++. The exercises test the students' understanding of several C++ language constructs as well as general programming concepts such as scope of variables. The environment allows...
An NSF ILI grant funded development of laboratories for a
three-hour undergraduate course in parallel and distributed algorithms.
The course discussed both theoretical and practical areas of study. The
laboratories explored various parallel architectures and paradigms and
were written using Joyce/Linda, which allows visualisation of both the
data m...
Just-In-Time (JIT) Learning is a type of experiential learning in which students are motivated to learn about concepts and how to apply them as they are needed to complete a meaningful project. Use of JIT by students in Software Engineering (SWE) can be an effective technique for maximizing retention of core SWE principles. This paper discusses the...
Open Systems are computing systems which are based on industry standards and nonproprietary multivendor components. As an increasing number of computing installations move away from single‐vendor proprietary architectures to more and more open architectures, academic institutions are increasingly faced with the responsibility of appropriately intro...
The domain independent design system (DIDS) provides a set of tools for rapidly constructing new configuration design systems from a library of reusable software elements called mechanisms . A DIDS user begins by creating a model of the problem domain and the task to be automated. This includes describing a library of parts from which new artifacts...
This article describes the development and proposed implementation of a capstone design course based on the 1991 report issued by the ACM/IEEE joint task force on computing curricula. The capstone design course advocates incorporation of the three essential and recommended components of design, theory, and abstraction. Discussion of ethics and prof...
This text uses Turbo Pascal to teach the data structures and software engineering topics covered in a CS2 course with an emphasis on data abstraction and the use of abstract data types. After introducing an object-oriented programming paradigm in chapter 1, Koffman and Maxim balance an object-oriented approach with the traditional approach to the m...
Assignments in an upper-level undergraduate programming languages course should require students to do more than write elementary programs in several languages. Assignments for this course should allow students to explore alternative programming language paradigms and require critical written evaluation of their strengths and weaknesses. Course ass...
This textbook is intended for a first course in problem solving and program design using Turbo Pascal (version 7.0). It assumes no prior knowledge of computers or programming, and for most of its material, high school algebra is sufficient mathematics background. A limited knowledge of discrete mathematics, however, is desirable for certain section...
We describe a method for introducing parallel algorithms in undergraduate computer science courses, by having the students play the role of processors and act out the algorithms. In doing this, students will see the power of concurrent computation and begin to “think parallel.” We present a number of algorithms that can be acted out, together with...
This paper describes the Domain-Independent Design System (DIDS). DIDS provides a set of tools capable of rapidly constructing configuration-design systems from a library of reusable software elements, called mechanisms. The power of DIDS comes from its model of configuration design that enables reusable mechanism to be identified. DIDS contains fo...
In many undergraduate computing courses, especially Data Structures and Algorithms, it is useful and instructive to introduce the notion of parallel (many steps at a time) algorithms, and to have the class act out several of these, with the students playing the role of processors. For example, this can be done when sorting is discussed, with severa...
A total of 6444 ratings of the financial performance of 424 third- and fourth-year medical students were made by house officers and attending teachers during 12 separate internal medicine rotations. Ratings were based on 13 behaviourally anchored rating scales. One rating was randomly selected per student per evaluator type (house officer and atten...
Effects of operations on abstract data objects are often difficult for students to comprehend. Visual models can be helpful to students, when the connections among the data object models, virtual machine representations of data objects, and algorithms operating on the data objects are made clear to the students.
This paper discusses the design crit...
A criterion-referenced approach was used to examine the validity of a set of 15 Patient Management Problems (PMPs) representing a broad range of medical problems. Results of performance of 175 medical students indicated that a new problem-solving index that includes an open-ended differential diagnosis section had greater validity than the more tra...
Blane CE, Calhoun JG, Maxim BR, Martel W, Davis WK. Systematic evaluation and increased structure in a radiology elective. Invest Radiol 1985;20-242-245.
Diagnostic radiology is expanding, playing an increasingly central role in patient care, which heightens the importance of radiology teaching in undergraduate medical education. This study examine...