John Barr Picture

John Barr

Professor, Computer Science
School: School of Humanities and Sciences
Phone: 607-274-3579
Office: Williams Hall 321B, Ithaca, NY 14850
Speciality: Computer Science Pedagogy, Programming for Social Good, Mobile Programming (iOS, Android, React Native), Web Services, Computer Organization

​There's enough for everyone's need, but not enough for everyone's greed.

--Mahatma Gandhi

Courses

Spring 2021

Fall 2020

Spring 2019

Fall 2018

Spring 2018

Fall 2017

Spring 2017

Fall 2016

Spring 2016

Fall 2015

Research Interests

  • Computer Science Pedagogy 
  • Computers and Software in Pedagogy
  • Computation in STEM and the Humanities
  • Computing for the Social Good

The overarching goal of my research is to make the teaching of computer science more effective. It addresses the questions of ”how do students learn computer science”, ”how can we make computer science concepts more accessible” and ”how can we improve pedagogy through more effective computer based tools”. Though this research is mostly centered on computer science, the concepts and tools often apply across disciplines and I have also applied the research to the liberal arts. Results of this research fall into several categories:

• An environment and method for teaching the programming languages course (MuLE).
• An approach to teaching that leverages student’s familiarity with social media to enhance learning (Classroom Salon)
• New approaches to computer science pedagogy in fields that I teach. These include:

– Creation of best practices for integrating global development into software engineering.
– Improved pedagogy in lower level computer science courses through the creation of a framework for integrating social good into computer science pedagogy.

– A new pedagogical approach to teaching upper level computer science courses that integrates multiple fields into a single course.

• Pedagogies for applying computation to STEM. These includes:

– DEFI: a mobile app for teaching the concepts of electric fields

Real Programmers can master the binary bomb!