IRT Command Language (ICL)

Bradley A. Hanson

Version: 0.020301 (March 1, 2002)

IRT Command Language (ICL) is a computer program that can perform single- or multiple-group estimation of the 1-, 2-, and 3-parameter logistic item response models for dichotomous items, and the partial credit model and generalized partial credit model for polytomous items. ICL supercedes the Estimation Program for Dichotomous Item Response Models (EPDIRM), by including estimation of polytomous as well as dichotomous models. A page documenting differences in EPDIRM and ICL is available here, which should be read by those with EPDIRM command files they would like to run with ICL. The ICL manual is available in HTML and PDF formats. The PDF version of the manual is included with the distributions below. ICL is free and distributed under a BSD license.

Compiled versions of ICL for Windows 95/NT, Macintosh, and Linux can be downloaded from the following links.

Download the Windows 95/NT version of ICL - Zip archive.

Download the Macintosh version of ICL - Self-extracting StuffIt archive. After downloading the archive double-click to expand the archive. If double-clicking on the file does not expand the archive then StuffIt Expander will need to be used to extract the contents of the archive.

Download the Linux version of ICL - Gzip compressed tar archive. After downloading uncompress using 'gunzip icl_linux.tar.gz' and unarchive using 'tar xf icl_linux.tar'.

ICL was written in C++ using the Estimation Toolkit for Item Response Models (ETIRM). The source code and release notes for ICL are separately available.

Bugs and Workarounds

A couple bugs have been found in Version 0.020301 of ICL. This section describes those bugs and explains how to work around them. These bugs have been fixed in the CVS repository at the SourceForge website, so they will not be present in versions of ICL later than 0.020301.

The set_default_model_dichotomous command was misspelled as set_default_model_dichtomous. This prevents the -default_model_dichotomous option of the options command from working. One way to work around this is to use

# Note that dichotomous must be misspelled as dichtomous
set_default_model_dichtomous 2PL

instead of

options -default_model_dichotomous 2PL

The points returned by the normal_dist_points command are not transformed correctly when the fourth and fifth arguments differ from zero and one. A way to work around this is to use minus the desired mean as the fourth argument and one over the desired standard deviation as the fifth argument of the normal_dist_points command.

For example, to obtain points and weights for a discrete approximation to a N(1,2) distribution use

# Note that a mean and standard deviation only
# need to be specified for the normal_dist_points command,
# not the normal_dist_prob command, because only the
# points are affected by the mean and standard deviation.

set mean -1.0
set sd 0.5
set points [normal_dist_points 40 -6.0 6.0 $mean $sd]
set probs [normal_dist_prob 40 -6.0 6.0]

instead of

set mean 1.0
set sd 2.0
set points [normal_dist_points 40 -6.0 6.0 $mean $sd]
set probs [normal_dist_prob 40 -6.0 6.0]

There are also errors in the manual distributed with version 0.020301 of ICL related to these bugs. The commands set_default_model_dichotomous and set_default_model_polytomous were not documented in the manual (documentation was provided for a set_default_model command which is not present in ICL). The fourth and fifth arguments of the normal_dist_points command were also not documented. A revised version of the manual that corrects these errors is available in HTML and PDF formats.


Return to Software by Brad Hanson

Return to Brad Hanson's Home Page

Return to OpenIRT Home Page

URL of this page: http://www.OpenIRT.com/b-a-h/software/irt/icl/index.html

Last updated: November 23, 2014.