|  | Fall 2025
 
 
|  | FYE 101 - AI, Big Data, and You AI (Artificial Intelligence) is everywhere, including here with you in 2024. The short history and steady progress of AI has 
featured more hype than reality, yet we now find ourselves faced with new data-driven models that exceed many of our expectations, 
for example in the spaces of "writing" text (ChatGPT, Claude, Copilot, Gemini) or "creating" images (DALL-E 3, Midjourney). 
New career paths are emerging for you and the jobs and careers of the near future will require computational skills that 
leverage the human and machine interface. But what are the skills needed? This course will expose students to and provide practice with 
working with data, computational tools, and the workflows that drive Machine Learning (ML) applications in almost all disciplines.  
Skills include locating, storing, managing, "cleaning", statistically describing, plotting, and writing about data.  
Exposure to machine learning workflows will include the use of tools for clustering and classifying data. 
In parallel to the "hands on" computational work, we will collectively consider the broader potentials, implications, 
and concerns with AI in our lives. Should we be concerned? Aren't some AI models biased? Isn't it cheating to work on 
drafts of your next paper with an AI?  And just how do you fight the instinct to trust a "human-sounding" machine?
 |  
|  | COMP 218: Data Structures An introduction to the theoretical and practical aspects of data structures. Emphasis is on abstract data types and the use of the C++ class mechanism to support their implementations. Examples include stacks, queues, linked lists, binary search trees and general trees and their applications. Pointers and recursion are used in some implementations.
 |     Spring 2025
 
 
|  | COMP 255: Artificial Intelligence and Machine Learning A focus on the fundamental and intermediate software development environments, algorithms,
modules, and workflows when writing and running software in the overlapping spaces of artificial
intelligence (AI), machine learning, and data science. Topics/tools/systems include software environments
(Anaconda, VSCode, Jupyter Notebooks, Github), optimized search, decision and game trees, unsupervised
clustering (hierarchical, k-means), supervised classification (SVM, Delta, CART), neural networks
(PyTorch), and Large Language Models (LLM). Projects are primarily implemented in Python and some in R
and applied to multiple domains. Particular attention will be paid to the technical writing of experimental
results. In-person discussions include historical perspectives and the "hyped attention" and money now
surrounding AI, including the use, abuse, bias, environmental impact, and sustainability of AI as the industry
moves us toward Artificial General Intelligence (AGI).
 |     
|  | Fall 2024
 
 Spring 2024
 
 
|  | COMP 401: Senior Seminar: vAI AI and Software Development: 
Over the next three months, students will join a team of software developers over three sprints to release 
a new version of Lexos, a web-app that provides a work flow for scholars who want to apply computational 
methods to their digitized texts. In parallel, students will "level-up" areas of professional, computational, 
and software development competencies.
 |  
|  | COMP 121 -- Foundations of Computing Theory An introduction to the (discrete) math that computer scientists need, including 
number systems, logic, graphs, trees, matricies, automata, and regular expressions (but of course).
 |     Fall 2023
 
 
|  | FYE 101 - AI, Big Data, and You 
 |  
|  | COMP 121 -- Foundations of Computing Theory An introduction to the (discrete) math that computer scientists need, including 
counting, graphs, trees, matricies, automata, and regular expressions (but of course).
 |     Spring 2023
 Sabbatical ...
 Fall 2022
 
 
	
|  | COMP 118 -- Object-oriented Programming An introduction to the Object-Oriented Programming (OOP) paradigm. 
Emphasis is placed on a review of purely procedural programming with a transition to the use of objects, 
specifically the use of the C++ class mechanism. 
Coverage will include detailed probes of memory used in the elementary data structures of variables, 
arrays, and lists, including when allocated on either the runtime stack or heap. 
Topics will include pointers, recursion, operator overloading, and the use of inheritance for code reuse and 
extensibility.
 |     
|  | COMP 255 -- Artificial Intelligence AI ... is it everywhere? Do we worry about AutoML? This course
provides hands-on practice and work with the languages (Python and R)
and libraries to search wisely, preprocess data, build models, and consider the potential of AI techniques in new (think "start-up") domains. Particular attention will be paid
to some of the biases that exist in some models currently in use as we consider
best-practices for recognizing and addressing biases during model building.
 |     Fall 2021
 
 
|  | COMP 118 -- Object-oriented Programming An introduction to the Object-Oriented Programming (OOP) paradigm. 
Emphasis is placed on a review of purely procedural programming with a transition to the use of objects, 
specifically the use of the C++ class mechanism. 
Coverage will include detailed probes of memory used in the elementary data structures of variables, 
arrays, and lists, including when allocated on either the runtime stack or heap. 
Topics will include pointers, recursion, operator overloading, and the use of inheritance for code reuse and 
extensibility.
 |     
|  | COMP 499 -- Research in Machine Learning 
 |     Spring 2022
 
 
	
|  | COMP 118 -- Object-oriented Programming An introduction to the Object-Oriented Programming (OOP) paradigm.
 |     
|  | COMP 121 -- Foundations of Computing Theory An introduction to the (discrete) math that computer scientists need, including 
counting, graphs, trees, matricies, automata, and regular expressions (but of course).
 |  
|  | BIO 498 Advanced Topics in Genomics Co-taught with Dr. Shawn McCafferty (Biology), selected topics from contemporary genomics and bioinformatics including High Throughput Sequencing technologies and pipelines, genome assembly and annotation, RNASeq, variant analysis, GWAS, and metagenomics.
 |     Spring 2021
 
 
	
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well. (Python v3.x)
 |     
|  | COMP 400 -- Senior Seminar Time to stop being "a student". Students work in teams in a 12 week "start up" sprint, ending with a pitch to a panel of potential funders for future development.
 |     Jan-term 2021
 
   
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well. Note: This course will be taught entirely online for four weeks. Assignments
will have a data science flavor. (Python v3.x)
 |     2020
 Short gig as Director of Digital and Computational Learning, Loomis Chaffee School, Windsor, CT.
 Fall 2018
 
 
Spring 2019
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well. (Python v3.x)
 |     
|  | COMP 215 Algorithms Lab 
 |     
|  | COMP 398 Startup 1.0 - Machine Learning �Machine Learning� is a new favorite phrase to include in a ramped-up business model. Next to including the term �block-chain� in your title, saying your app or experiment uses �machine learning� will generate attention. Machine learning represents a new third phase in the history of Artificial Intelligence (AI). This course is a semester-long, project-based experience that places students on teams within a (fictional) company to build prototype apps and products in a 15-week development cycle that ends with a pitch for continued funding. The emphasis includes a study and application of unsupervised and supervised methods for cluster and classification algorithms as implemented in Python and R. Each team�s software development model will build prototypes that interface with IoT (Internet of Things) devices that leverage voice (Alexa, Google Home, HomePod), continuous monitoring for health care, and/or the potential for voice-activated, elder/home care assistants.
 |  
 
	
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well. (Python v3.x)
 |     
|  | COMP 121 -- Foundations of Computing Theory An introduction to the (discrete) math that computer scientists need, including 
counting, graphs, trees, matricies, automata, and regular expressions (but of course).
 |     
|  | COMP 399 -- Machine Learning 
 |     Fall 2017
 
 
Spring 2018
|  | DNA: a first-year seminar An amazing blend of science and computing emerges when considering the molecule "Deoxyribonucleic Acid"
(DNA). DNA is the blueprint of life for all organisms on Earth and throughout evolutionary time. 
Its distinctive and beautiful physical nature, a double helix of four bases, maps onto its functionality 
as a bearer of information, generation after generation. Fully sequenced genomes including the human genome 
and hundreds of microbial genomes have become the starting point for attempts to answer a wide range of 
biological and quantitative questions. This is your life in 3.2 billion letters, your genome as 3.2 Gigabytes, 
and your personalized medicine in a world of DNA from womb to tomb.
 |     
|  | COMP 116 -- Data Structures OOP using C++'s STL, introductory numerical methods, pointers and memory management, and technical writing.
 |  
 
|  | COMP 131 -- Computing for Poets HTML5/CSS, W3C validation, XML, and scripting in Python to mine texts with examples 
from the Anglo-Saxon and J.R.R. Tolkien corpora. In short: Digital Humanities on speed.
 |     
|  | COMP 116 -- Data Structures OOP using C++'s STL, introductory numerical methods, pointers and memory management.
 |     
|  | COMP 499 - Bioinformatics Research Six bioinformatics students engage with a heavy dose of Python's scikit-learn libraries and R to apply machine learning algorithms to RefSeq data.
 |  Fall 2016
 
 
Spring 2017
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well.
 |     
|  | COMP 298 -- Startup v1.0: Medical Devices, Mobile Apps, and Machine Learning Personal healthcare and computing are merging as a disruptive technology. The excitement around 
access to data that has the potential to impact our health far exceeds the craze around wearables 
that track our daily steps. From real time glucose monitoring and insulin dose changes to the 
application of machine learning algorithms to detect situations that may lead to potential seizures before they occur, 
the time is ripe for the development of new applications that interface medical wearables with mobile devices. 
This course combines practice with startup experiences, mobile app development (e.g., learning Apple�s new Swift language), machine learning algorithms, 
and the newest wearable devices, e.g., Dexcom sensors and the Embrace watch from Empatica.
 |  
 
|  | COMP 111 -- Foundations of Computing Theory An introduction to the (discrete) math that computer scientists need, including 
counting, graphs, trees, matricies, automata, and regular expressions (but of course).
 |     
|  | COMP 400 -- Senior Seminar 
 |  Fall 2015
 
 
Spring 2016
|  | Storytelling with Google Maps: a First Year Seminar. If a picture is worth a thousand words, how many for maps?  Writing stories for the iPad using Apple's iBook Author, Google Earth Pro,
Photoshop, and iMovie.
 |     
|  | BIO/COMP 242 -- DNA Scripting in Python to explore the wonders of genomes as texts. Threads:
 the human microbiome project, ethical implications of personalized genomic medicine, reviewing a 23andMe report, computational experiments,
 and scientific writing.
 |  
 
|  | COMP 116 -- Data Structures OOP using C++'s STL, introductory numerical methods, pointers and memory management.
 |     
|  | COMP 131 -- Computing for Poets HTML5/CSS, W3C validation, XML, and scripting in Python to mine texts with examples 
from the Anglo-Saxon and J.R.R. Tolkien corpora. In short: Digital Humanities on speed.
 |  Fall 2014 -- Spring 2015
 
|  | I had a year-long sabbatical traveling (France, Key West, Iceland), fishing, and working on two projects: (i) text mining -- our ongoing development of
the Lexos tools to help explore digitized texts; and (ii) I ported a manuscript of the travels and experiences
of my grandfather as he fought in WWI to the iPad; my brother, John, and I are retracing our gramp's steps from Maine to basic training in Massachusetts to England
by ship and then through France in the hell they called 'The Great War'./ |  Literary Programming -  NY Times April 01, 2012
 Fall 2013
 
Spring 2014
|  | COMP 099 -- MOOC++ A half-credit course where students (i) finish an online course, e.g., Code Academy's PHP, (ii) complete
an oral assessment, and (iii) build something for a client.
 |     
|  | BIO/COMP 242 -- DNA Scripting in Python to explore the wonders of genomes as texts. Threads:
 human microbiome project, ethical implications of personalized genomic medicine, sharing my 23andMe report, and Linux.
 |     
|  | COMP 299 - Future Interactions Take this: Google Glass, Leap Motion, Raspberry Pi, and Pebble watches. Now build something. Moving intellectually
curious students to creators and makers.
 |  
|  | COMP 215 -- Algorithms Lab C/C++ ... let's cut code ... and run experiments ...
 |  
|  | COMP 499 -- Genomics Research Investigation of Two Microbial Communities Using Next-Generation Data: Mengyang Li '14, Bioinformatics
 |  
 
|  | COMP 116 -- Data Structures OOP using C++'s STL, introductory numerical methods, pointers and memory management
 |     
|  | COMP 131 -- Computing for Poets HTML5/CSS, W3C validation, XML, and scripting in Python to mine texts, examples 
in the Anglo-Saxon and J.R.R. Tolkien corpora. Digital Humanities on speed.
 |  
|  | COMP 499 -- Genomics Research Investigation of Two Microbial Communities Using Next-Generation Data: Mengyang Li '14, Bioinformatics
 |     Fall 2012
 
Spring 2013
|  | COMP 111 -- Foundations of Computing Theory An introduction to the (discrete) math that computer scientists need, including 
counting, graphs, trees, matricies, automata, and regular expressions.
 |     
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well.
 |  
|  | COMP 299 -- iOS Development Writing mobile apps.
 |  
|  | COMP 499 -- Genomics Research Machine Learning on the Human Microbiome
 |  
|  | COMP 500 -- Honors Thesis (Anthony Castellani '13) Forensic computing (working title)
 |  
 
|  | COMP 115 -- Robots, Games, and Problem Solving Programming. There seems to be no end of the urgent need for more and more people to know how to script, how to write software, how to program. 
This course is about learning how to program and how to do it well.
 |     
|  | COMP 255 -- Artificial Intelligence An emphais on the experimental side of AI. Like most of computing, AI includes many areas; we'll focus on three particular areas:
searching game trees, machine learning, and text mining.
 |        Fall 2011
 
Spring 2012
|  | First-Year Seminar -- Storytelling Through Computer Animation What's your story? A study of the rich story-telling in graphic novels and practice
with telling stories using the Alice animation environment and layout software Comic Life.
 
 |        
|  | BIO/COMP 242 -- DNA Scripting in Perl to explore the wonders of genomes as texts. Thread:
 ethical implications of personalized genomic medicine.
 |     
|  | COMP 499 -- Genomics Research Detecting Horizontal Transfer in Microbial Genomes.
 |  
|  | COMP 500 -- Honors Thesis: Cluster Verification Donald Bass '12 (co-advised with Dr. Mike Kahn, Statistics).
 |  
 Fall 2010
 First-Year Seminar -- Storytelling Through Computer Animation
 COMP 215 -- Algorithms
 Spring 2011
 COMP 116 -- Data Structures
 COMP 255 -- Artificial Intelligence -- Text Mining
 COMP 399 -- Independent Study: iPhone/iPad apps
 COMP 499 -- Independent Research: Experiments in Text Mining
 COMP 500 -- Honors Thesis in Lexomics
 
 Fall 2009
 First-Year Seminar -- Storytelling Through Computer Animation
 COMP/BIO 242 -- DNA
 COMP 198 -- Topics in Bioinformatics
 COMP 499 -- Research in Genomics: Horizontal Transfer
 Spring 2010
 COMP 131 -- Computing for Poets
 COMP 116 -- Data Structures
 
 Fall 2008
 First-Year Seminar -- Storytelling through computer animation
 COMP 335 -- Programming Languages
 Spring 2009
 COMP 115 -- Robots, Games, and Problem Solving
 COMP 116 -- Data Structures
 Fall 2007
 COMP 215 -- Algorithms
 COMP/BIO 242 -- DNA
 Spring 2008
 COMP 116 -- Data Structures
 COMP 131 -- Computing for Poets
 Fall 2006 - Spring 2007
 Year-long sabbatical ...
 Fall 2005
 COMP 115 -- Programming Fundamentals (CS1 in C++)
 COMP/BIO 242 -- DNA
 COMP 398 -- C# and Mobile Devices
 Spring 2006
 COMP 111 -- Foundations of Computing Theory
 COMP 335 -- Programming Languages
 COMP 399 -- Phylogenetic Trees
 
 New courses ...
 COMP 111 -- Foundations of Computing Theory
 COMP 131 -- Computing for Poets
 COMP/BIO 242 -- DNA
 
 |  
 
 |