James Skon’s research focuses on the design of AI-mediated learning environments that preserve student reasoning in the presence of large language models. His work addresses the growing challenge of cognitive bypass — the ability of AI systems to generate correct outputs without requiring the underlying reasoning those outputs are intended to represent.

He is the developer of coLearn-AI, a collaborative learning platform that enforces structured interaction, role-based participation and constrained AI guidance. The system introduces the concept of a persistent epistemic trace, an append-only record of student work that captures intermediate reasoning, revisions and group dynamics over time. This approach shifts assessment from evaluating final answers to examining the processes that produce them.

His research integrates principles from constructivist and social learning theory with system-level design, focusing on how interaction constraints, AI behavior and data capture can be combined to support collaborative cognition in computing education.

Recent work has been presented at regional and national venues, with ongoing collaborations exploring cross-institutional deployment and empirical study of AI-supported collaborative learning.

Selected Recent Publications

  • Automated Assessment using AI-Enhanced Guided-Inquiry Learning Platform. Bo Kim and James Skon, ASEE Northeast Section, March 26, 2026.
  • AI-Enhanced Guided-Inquiry Platform for Collaborative Learning in Introductory Programming. Bo Kim and James Skon, CCSC: Midwest, April 11, 2026.

Areas of Expertise

Computer science, artificial intelligence, linguistics, computer science pedagogy, AI-augmented learning, computer networking

Education

1997 — Doctor of Philosophy from The Ohio State University

1982 — Master of Science from The Ohio State University

1980 — Bachelor of Arts from Mount Vernon Nazarene Univ

Courses Recently Taught

This course presents an introduction to computer programming intended both for those who plan to take further courses in which a strong background in computation is desirable and for those who are interested in learning basic programming principles. The course will expose the student to a variety of applications where an algorithmic approach is natural and will include both numerical and non-numerical computation. The principles of program structure and style will be emphasized. May be paired with COMP 218 or with any mathematics or statistics course to satisfy the natural science diversification requirement. No prerequisite. Offered every semester.

This course is intended as a second course in programming, as well as an introduction to the concept of computational complexity and the major abstract data structures (such as dynamic arrays, stacks, queues, link lists, graphs and trees), their implementation and application, and the role they play in the design of efficient algorithms. Students will be required to write a number of programs using a high-level language. May be paired with COMP 118 or any mathematics or statistics course to satisfy the natural science diversification requirement. Prerequisite: COMP 118, MATH 138 or PHYS 270. Offered every other spring.

This course gives students experience designing, implementing, testing and debugging moderately complex systems of software components that collectively form a multilayer application. There will be an emphasis on crafting quality code, designing and implementing effective user interfaces, and building multicomponent architectures using a mix of off-the-self and custom code. Topics will include inner process and inter-system communication, multi-threading, and the synchronization of shared resources, web interfaces and working with large data sets. Students will primarily use C++, but also will learn Javascript and other languages as needed. This course does not count toward the completion of any diversification requirement. COMP 218 is recommended but not required. Prerequisite: MATH 138, COMP 118 or PHYS 270.

A study of a software design project that requires planning, analysis, design, implementation, testing and maintenance. Different methods of planning, definition, requirements analysis and cost estimation are considered. A central component of the course is a semester-long team project that engages a team of three to five students in the analysis, design, implementation and documentation of a significant applied project. The goal of this team project is for the students to engage with the material as they work to solve a real-world problem. These projects are real needs of organizations in the surrounding community (including Gambier, Knox County and, at times, beyond). This course does not count toward any elective requirement for the math major. Prerequisite: 218 or 318.

This course explores the design, analysis, and implementation of efficient algorithms for solving computational problems. Students master core principles—including algorithm design, runtime analysis, and correctness —and examine practical applications. Topics range from fundamental paradigms like divide and conquer, greedy methods, and dynamic programming to advanced techniques such as graph algorithms, network flows, and approximation methods. The course also investigates the limits of tractable computation, covering classifications (P, NP, NP-complete) and strategies for handling intractable problems through heuristics, approximation, and randomized algorithms. This course does not count toward any elective requirement for the math major. Prerequisite: COMP 218 and MATH 112 or higher.

This capstone course is intended to provide an in-depth experience in computational approaches to an individual topic of choice. Students will also be exposed to a broad range of computational application through presentations and discussion. Each student will give several presentation to the class throughout the semester. This course does not count toward the completion of any diversification requirement. Prerequisite: COMP 118 or PHYS 270, completion of at least 0.5 units of an intermediate course and at least 0.5 units of a contributory course. Permission of the instructor and program director required. Senior standing

The individual study enables students to explore a pedagogically valuable topic in computing applied to the sciences that is not part of a regularly offered COMP course. A student who wishes to propose an individual study course must first find a COMP faculty member willing to supervise the course. The student and faculty member then craft a course syllabus that describes in detail the expected coursework and how a grade will be assigned. The amount of credit to be assigned to the IS course should be determined with respect to the amount of effort expected in a regular Kenyon class. The syllabus must be approved by the director of the COMP program. In the case of a small group IS, a single syllabus may be submitted and all students must follow the same syllabus. Because students must enroll for individual studies by the end of the seventh class day of each semester, they should begin discussion of the proposed individual study, preferably the semester before, so that there is time to devise the\nproposal and seek departmental approval before the registrar’s deadline. This interdisciplinary course does not count toward the completion of any diversification requirement. Permission of the instructor and program director required. No prerequisite.\n

The individual study enables students to explore a pedagogically valuable topic in computing applied to the sciences that is not part of a regularly offered COMP course. A student who wishes to propose an individual study course must first find a COMP faculty member willing to supervise the course. The student and faculty member then craft a course syllabus that describes in detail the expected coursework and how a grade will be assigned. The amount of credit to be assigned to the IS course should be determined with respect to the amount of effort expected in a regular Kenyon class. The syllabus must be approved by the director of the COMP program. In the case of a small group IS, a single syllabus may be submitted and all students must follow the same syllabus. Because students must enroll for individual studies by the end of the seventh class day of each semester, they should begin discussion of the proposed individual study, preferably the semester before, so that there is time to devise the\nproposal and seek departmental approval before the registrar’s deadline. This interdisciplinary course does not count toward the completion of any diversification requirement. Permission of the instructor and program director required. No prerequisite.\n

The individual study enables students to explore a pedagogically valuable topic in computing applied to the sciences that is not part of a regularly offered COMP course. A student who wishes to propose an individual study course must first find a COMP faculty member willing to supervise the course. The student and faculty member then craft a course syllabus that describes in detail the expected coursework and how a grade will be assigned. The amount of credit to be assigned to the IS course should be determined with respect to the amount of effort expected in a regular Kenyon class. The syllabus must be approved by the director of the COMP program. In the case of a small group IS, a single syllabus may be submitted and all students must follow the same syllabus. Because students must enroll for individual studies by the end of the seventh class day of each semester, they should begin discussion of the proposed individual study, preferably the semester before, so that there is time to devise the\nproposal and seek departmental approval before the registrar’s deadline. This interdisciplinary course does not count toward the completion of any diversification requirement. Permission of the instructor and program director required. No prerequisite.\n

This course is intended as a second course in programming, as well as an introduction to the concept of computational complexity and the major abstract data structures (such as dynamic arrays, stacks, queues, link lists, graphs and trees), their implementation and application, and the role they play in the design of efficient algorithms. Students will be required to write a number of programs using a high-level language. SCMP 218 may be paired with SCMP 118 or either may be paired with any mathematics or statistics course to satisfy the natural science diversification requirement. Prerequisite: SCMP 118, MATH 138 or PHYS 270 or permission of instructor. Offered every other spring.

This course gives students experience designing, implementing, testing and debugging moderately complex systems of software components that collectively form a multilayer application. There will be an emphasis on crafting quality code, designing and implementing effective user interfaces, and building multicomponent architectures using a mix of off-the-self and custom code. Topics will include inner process and inter-system communication, multi-threading, and the synchronization of shared resources, web interfaces and working with large data sets. Students will primarily use C++, but also will learn Javascript and other languages as needed. This interdisciplinary course does not count toward the completion of any diversification requirement. SCMP 218 is recommended but not required. Prerequisite: MATH 138 or permission of instructor.