James Skon's primary research interest includes adaptive learning systems, natural language processing and Internet-of-things. Currently he is working on a learning system that builds a custom curriculum for learners based on learner assessments. He is also exploring the use of the learning system for planning and design in architectural engineering.
Areas of Expertise
Computer science, artificial intelligence, linguistics, computer science pedagogy, and visualization of complex mathematical spaces.
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
MATH 138
Introduction to Computer Science
MATH 138
This course is an introduction to the intellectual scope of computer science and to the art of computer programming. This entry-level course is for students of all majors, including those with and without previous programming experience. We teach the Python programming language to introduce programming concepts. The course covers topics in abstraction, algorithms and program design, basic data structures, security, networking, privacy and history. Web technologies including HTML, CSS and Javascript are examined. Offered every semester.
MATH 348
Software and System Design
MATH 348
A study of 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 which 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). Prerequisite: MATH 138, SCMP 118, 218 or 318.
MATH 368
Design and Analysis Algorithms
MATH 368
This course introduces students to the analysis and design of computer algorithms. Upon completion of this course, students will be able to do the following: 1) analyze the asymptotic performance of algorithms; 2) demonstrate a familiarity with major algorithms and data structures; 3) apply important algorithmic design paradigms and methods of analysis, and; 4) synthesize efficient algorithms in common engineering design situations. Prerequisite: MATH 222 and SCMP 118 or PHYS 270 or equivalent.
MATH 493
Individual Study
MATH 493
Individual study is a privilege reserved for students who want to pursue a course of reading or complete a research project on a topic not regularly offered in the curriculum. It is intended to supplement, not take the place of, coursework. Individual study cannot be used to fulfill requirements for the major. Individual studies will earn 0.25–0.50 units of credit. To qualify, a student must identify a member of the mathematics department willing to direct the project. The professor, in consultation with the student, will create a tentative syllabus (including a list of readings and/or problems, goals and tasks) and describe in some detail the methods of assessment (e.g., problem sets to be submitted for evaluation biweekly; a 20-page research paper submitted at the course's end, with rough drafts due at given intervals, and so on). The department expects the student to meet regularly with his or her instructor for at least one hour per week. All standard enrollment/registration deadlines for regular college courses apply. 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 proposal and seek departmental approval before the registrar's deadline. Permission of instructor and department chair required. No prerequisite.\n\n
SCMP 118
Introduction to Programming
SCMP 118
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. SCMP 118 may be paired with SCMP 218 or either may be paired with any mathematics or statistics course to satisfy the natural science diversification requirement. No prerequisite. Offered every semester.
SCMP 191
ST: Intro to Comp Sci
SCMP 191
SCMP 318
Software Development
SCMP 318
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. Prerequisite: MATH 138, SCMP 118 or permission of instructor.
SCMP 391
ST: Software Development
SCMP 391
SCMP 391
ST: Software & System Design
SCMP 391
SCMP 401
Scientific Computing Seminar
SCMP 401
This capstone course is intended to provide an in-depth experience in computational approaches to science. Students will work on individual computational projects in various scientific disciplines. Each student will give several presentation to the class throughout the semester. Permission of the instructor and program director required.This interdisciplinary course does not count toward the completion of any diversification requirement. Prerequisite: SCMP 118 or PHYS 270, senior standing, completion of at least 0.5 units of an intermediate course and at least 0.5 units of a contributory course.
SCMP 493
Individual Study
SCMP 493
The Individual Study is to enable students to explore a pedagogically valuable topic in computing applied to the sciences that is not part of a regularly offered SCMP course. A student who wishes to propose an individual study course must first find a SCMP 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 SCMP 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 proposal 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
Academic & Scholarly Achievements
2013
“From Kudjip to Succotz: The successes, lessons, joys, and surprises from 25 years of service learning projects,” in “Service-Learning in the Computer and Information Sciences: Practical Applications in Engineering Education” by IEEE Press and John Wiley & Sons, Inc., 2013.
2001
"Computing In Papua New Guinea: Lessons Learned About Computer Science Service Learning Projects," The Journal of Computing in Small Colleges, Volume 7, September 22, 2001.
1993
"Guiding an HPSG Parser Using Semantic and Pragmatic Expectations," 1993 Proceedings of the Association for Computational Linguistics.
November 19, 2017
"Collaboration in Software Development," the 37th Annual Original Lilly Conference on College Teaching.
November 16, 2018
"Community Engaged Learning for Software Design and Development," the 38th Annual Original Lilly Conference on College Teaching.
November 18, 2018
"Developing Art and Metaphoric Thinking to Enhance Computer Science Learning," the 38th Annual Original Lilly Conference on College Teaching.