James R. Cordy

Graduate and Undergraduate Teaching


Current Courses

Courses numbered 800 and above are graduate courses. Courses numbered 499 and below are undergraduate courses.

2016-17

CISC / CMPE 327 Software Quality Assurance
CISC / CMPE 458 / 858
Programming Language Processors

Teaching Experience

Queen's University

In addition to the course responsibilities listed below, while at Queen's I have authored or co-authored two graduate level and one undergraduate level textbooks (see Books and Chapters in Books). I am the co-author of the programming language Turing, which has been used in all first year undergraduate computing courses at Queen's University, York University, the University of Waterloo and the University of Toronto as well as in 60% of Ontario secondary schools. I have been deeply involved in the design and implementation of three generations of secondary school and introductory undergraduate computing curricula at the University of Toronto and Queen's University over the past 30 years.

2015-16   CISC / CMPE 327 Software Quality Assurance
                CISC / CMPE 458 / 858 Programming Language Processors
                CISC 500 Undergrduate Thesis

2014-15   CISC / CMPE 327 Software Quality Assurance
                CISC / CMPE 458 / 858 Programming Language Processors
                CISC 860 The Structure and Design of Programming Languages

2013-14   (Sabbatical year)

2012-13   CISC / SOFT 327 Software Quality Assurance
                CISC 458 / 858 Programming Language Processors
                CISC 860 The Structure and Design of Programming Languages

2011-12   CISC 458 / 858 Programming Language Processors
                CISC 499 Undergraduate Thesis

2010-11   CISC / SOFT 327 Software Quality Assurance
                CISC 458 / 858 Programming Language Processors
                CISC 498 Information Technology Project (course coordinator)
                CISC 860 The Structure and Design of Programming Languages

2009-10   CISC / SOFT 327 Software Quality Assurance
                CISC 458 / 858 Programming Language Processors
                CISC 498 Information Technology Project (course coordinator)
                CISC 860 The Structure and Design of Programming Languages

2008-09   CISC 458 / 858 Programming Language Processors
                CISC 498 Information Technology Project (course coordinator)
                CISC 860 The Structure and Design of Programming Languages

2007-08   (Admin leave year)

2006-07   CISC 458 / 858 Programming Language Processors
                CISC 498 Information Technology Project

2005-06   CISC 458 / 858 Programming Language Processors
                CISC 499 Undergraduate Thesis

2004-05   (Sabbatical year)

2003-04   CISC 458 / 858 Programming Language Processors
                CISC 499 Undergraduate Thesis

2002-03   CISC / SOFT 327 Software Quality Assurance
                CISC 499 Undergraduate Thesis

2001-02   CISC / SOFT 327 Software Quality Assurance
                CISC 458 / 858 Programming Language Processors
                CISC 499 Undergraduate Thesis
                CISC 860 Structure and Design of Programming Languages

2000-01   CISC 101 Elements of Computing Science I

1997-98   CISC 458 / 858 Programming Language Processors

1996-97   CISC 458 / 858 Programming Language Processors

1995-96   CISC 211 Algorithms and Data Structures
                CISC 221 Computer Architecture
                CISC 499 Undergraduate Thesis

1994-95   CISC 124 Introduction to Computing Science II
                CISC 221 Computer Architecture 2
                CISC 499 Undergraduate Thesis

1993-94   CISC 124 Introduction to Computing Science II
                CISC 221 Computer Architecture

1992-93   CISC 124 Introduction to Computing Science II
                CISC 221 Computer Architecture
                CISC 499 Undergraduate Thesis
                CS A2.2 Issues in User Interface Spec. (U. Pretoria, South Africa)

1991-92   CISC 124 Introduction to Computing Science II
                CISC 499 Undergraduate Thesis
                CISC 458 / 858 Programming Language Compilers
                CISC 836 Techniques of User Interface Specification

1990-91   (Sabbatical year)

1989-90   CISC 101 Introduction to Computer Programming
                CISC 121 Introduction to Computing Science I
                CISC 458 / 858 Programming Language Compilers

1988-89   CISC 104 Computer Programming and Applications
                CISC 121 Introduction to Computing Science I
                CISC 499 Undergraduate Thesis
                CISC 458 / 858 Programming Language Compilers

1987-88   CISC 101 Introduction to Computer Programming
                CISC 230 Introduction to Computer Systems
                CISC 499 Undergraduate Thesis
                CISC 458 / 858 Programming Language Compilers
                CISC 834 Structure and Design of Programming Languages

1986-87   CISC 210 Introduction to Computer Systems
                CISC 499 Undergraduate Thesis
                CISC 458 / 858 Programming Language Compilers
                CISC 834 Structure and Design of Programming Languages

1985-86   CISC 210 Introduction to Computer Systems
                CISC 458 Programming Language Compilers
                CISC 499 Undergraduate Thesis
                CISC 858 Programming Language Compilers

University of Toronto

At the University of Toronto I taught courses in both the faculty of Arts and Science (those courses labelled "CSC" below) and the Faculty of Engineering (those labelled "EE").

1984-85   CSC 148 Introduction to Computer Science
                EE 480 System Software II
                EE 490 Undergraduate Thesis
                CSC 499 Undergraduate Project
                CSC 2124 Topics in the Design of Programming Languages

1983-84   CSC 148 Introduction to Computer Science
                EE 480 System Software II
                EE 490 Undergraduate Thesis
                CSC 2124 Topics in the Design of Programming Languages


Cordy Home

Last updated 20 Jan 2017