CALL for Uncommonly Taught African Languages: Computer Characterizations

Posted: December 23, 2010 in CALL related to Linguistics

AUTHOR:  Gerard M. Dalgish

LINKhttps://calico.org/html/article_328.pdf

Abstract:
The field of African language CALL is expanding rapidly as part of the general trend toward foreign language CALL. Yet the assumptions and needs of the learner in such instruction are quite different from that of the more commonly taught languages. African language instruction may not always be classroom-oriented: texts are seldom available for most of the uncommonly taught languages, and a native speaker as consultant1 may or may not have training in foreign language instruction. These factors have led to the need for self-standing, computer-driven instruction for these languages. This paper will discuss some assumptions regarding generative-based African language CALL, with references to Bantu languages and to one particular language (the OluTsootso dialect of Luyai, a language of Kenya), and describe elements of a computer program that produces superficial forms from underlying forms of that language. The paper will close with a discussion of some of the differences between computer characterizations of certain phonological phenomena and the generative linguist’s description of such phenomena.

KEYWORDS: Bantu, BASIC, generative phonology, Kenya, OluTsooto

Assumptions Regarding Generativity and CALL

A core assumption regarding self-standing CALL should be the recognition of the value of computer-driven open-endedness in instruction. In addition to the now pedestrian drill and practice or even the more innovative interactive video and simulation exercises, software that can mimic the native speaker’s ability to produce any form of the language by means of rules is urgently needed, since instruction for any uncommonly taught language may continue when the consultant has returned to his home country or is otherwise unavailable for instruction. This in turn requires a comprehensive phonological and syntactic analysis of the language in question, and a program that reflects such an analysis.

This paper will concentrate on the merging of a phonological analysis of OluTsootso2 with a BASIC computer program that can successfully generate surface forms from underlying sequences of the language. Like the analysis of the language, the program can and should deal with any possible form of the language, starting from provided translations of morphemes or from user input, and producing correct surface phonetic forms.

 

Structure of Bantu Languages

 

Some words about Bantu linguistic structure are in order here by way of introduction to OluTsootso. The language is agglutinative. Nominal roots take one of a pair of prefixes which usually designate singular and plural; these prefixes in turn are the same for many of the animate human nouns, while another pair of prefixes is common for trees and flowering plants; others designate liquids, abstract nouns, etc.3 Each of the pairs of prefixes is commonly referred to in Bantu literature as designating a noun class: class I being for singular animate nouns, class 2 for the corresponding plural; class 3 is for singular trees and flowering bushes, class 4 for the plural, and so on. As we shall see shortly, this has relevance for the lexicon of this program.

The verbal word consists of a subject prefix which agrees with the noun class of its subject, followed by an optional tense marker, object marker, and then the root plus numerous verbal suffixes.

The complicated phonological interactions of the prefixes and roots form the basis of this discussion, but again are so wide-spread and similar among the Bantu languages that what works for this language will work for others with minor adaptations. Since this is not a forum for linguistic analysis, I trust the reader will accept the proposed underlying forms and phonological rules (henceforth, P-rules) and concentrate instead on aspects of CALL and the computer characterizations of these P-rules that follow.

There are two major types of phonological interactions described non-technically here: those involving nasals and root-initial elements, and those involving sequences of vowels. Nasal (N)-rules change sequences of underlying N + consonant (C) or vowel (V). Underlying /N/ + a voiceless stop (/p/, /t/, /k/) becomes a homorganic nasal plus the corresponding voiced stop [mb], [nd], [ng]. The nasal is deleted before the voiceless fricatives /f/, /s/, /sh/, /x/ and before other nasals. Underlying /B/, /l/ and /r/ become [b], [d] and [d] respectively after a nasal. /y/ becomes [z] after a nasal, unless there is a nasal cluster in the next syllable, in which case underlying /N+y/ becomes palatal [n]. Nasal prefixes before vowel-initial roots behave exactly as if a y is inserted: /N+V../ => [nzV..], unless there is a nasal cluster in the next syllable: /N+VNC../ => [nVNC..]. These rules are so common across Bantu languages that their “generic” names are given in Figure I with a summary of the alternations just described.

 

Figure 1

Nasal Interaction Rules

 

 

Nasal voicing

/N+p,t,k../ –>

[mb,nd,ng..]

Nasal deletion

/N / –>

0/____+f,s,sh,x,nasals

Nasal hardening

/N+B,l,r../ –>

[mb,nd,nd..]

Vowel-initial

y-insertion

/N+V../ –>

{N+yV..}4

Ganda Law5

/N+yVNC../–>

/N+y../–>

y –>

[nVNC..]

[nz..]

z/N+___

For vowels, sequences of /u/ + any other vowel except u become surface [wVV] by a rule of glide formation and compensatory lengthening. Sequences of /a/ + a vowel change are as follows: /a+i/ => [ee], /a+e/ => [ee], /a+u/ => [oo] and /a+o/ => [oo]; /a+a/ is unchanged [aa]. A y is inserted to break up sequences of three vowels: /..VVV../ => [..VVyV..], and to break up a sequence of two vowels in word-initial position: /#VV../ => [#yVV..]. A vowel is lengthened before a nasal cluster: /VNC../ => [VVNC..]. There are in addition a series of complex vowel shortening rules that apply in certain past tense forms with the special past tense prefix /+a+/; I have called these rules /a/- reduction. These have the effect of reducing the surface number of vowel morae by one.6 The other rules are summarized in Figure 2 with their common names:

 

Figure 2

 

 

Glide formation and compensatory lengthening

/u+a,e,i,o/–>

[waa,wee,wii,woo]

Coalescence

/a+i,e,o,u,a/–>

[ee,ee,oo,oo,aa]

y-insertion(1)

/..VVV…/–>

[..VVVyV..]

y-insertion(2)

/#VV../–>

[yVV..]

Pre-Nasal Cluster Lengthening (PNCL)

/..V+NC../–>

[..VVNC..]

The purpose of illustrating these rules is to demonstrate to the reader some of the structural differences between traditionally taught languages and Bantu languages, and to give an indication of the sorts of rules that need to be incorporated into a self-standing, generative-based CALL program. Since in many cases the underlying form of the noun or verb can differ so drastically from the surface form, it is useful to show the learner how these changes take place. This in turn means that a program mimicking these changes must reflect in as general a way as possible the rules shown in the mentioned figures.

 

Computer Characterizations

We now turn to characterizations of some of these phenomena in a computer program in Applesoft BASIC. The program reflects assumptions of generative phonological practice and consists of a lexicon containing representations of underlying or canonical forms together with a set of rules that derive representations of the corresponding spoken forms. Since this is incorporated into a CALL program, it will be possible for the user to see the derivation proceed.

 

The Lexicon

The lexicon consists of TEXT files containing the roots of the language, prefixes and suffixes. So that optimum generality can be achieved, only one canonical form for each morpheme should be stored; the P-rules will be responsible for producing any variants. The program allows for translations; the user could ask for the verb “go” and be given the OluTsootso equivalent. The lexicon must be arranged in such a way that the program can call up a noun of any particular noun class, because the prefix on the noun is specific to that class. Similarly, the verb will need to “know” what noun class its subject is, because the verb’s subject prefix “agrees” with the noun class of the subject. Users could also ask for a random noun or verb or they could input a prefix, noun or verb, and watch or perform the derivation.

 

The Program

The program has the following structure. After the morphemes and their glosses are LOADed into RAM arrays from TEXT files7, it then asks users if they want a certain noun or if the computer should choose one at random, prompting the user for the relevant morphemes, either by asking for the class number or the word to be derived (subroutine 10000, not listed here). The morphemes are then concatenated in lines 2050-2100 such that either a verb or a noun goes through the same derivation. This construct is assigned the string variable name VERBWD$ (for “verb word”, even if it is a noun), and sent to certain subroutines for derivation (lines 2100-2400).8

 

Verbwd$ Constructed and Sent to Subroutines

2000 REM ALL NOUNS AND VERBS SENT HERE

2050 GOSUB IOOOO:IF TENSE = 2 THEN VERBWD$ = SUJ$ + “A” + OM$ + VB$: GOTO 2100:REM IF TENSE = PAST THEN “A”-MORPHEME ADDED

2060 VERBWD$ = SUJ$ + OM$ + VB$: REM NOUN PREFIX HAS ALREADY BEEN RENAMED AS SUJ$ AND NOUN ROOT RENAMED AS VB$

2070 REM SO BOTH NOUNS AND VERBS CAN GO THROUGH HERE

2100 GOSUB 8000: GOSUB 14000: GOSUB 11500: GOSUB 11000

2200 GOSUB 13000: IF TENSE=2 THEN GOSUB 15000: REM SPECIAL REDUCTION RULE FOR PAST TENSE FORMS

2300 GOSUB 12000

2400 GOTO 9000: REM FINISHED AND SENT TO DISPLAY AT END

 

The subroutines reflect the rules outlined in Figures 1 and 2. The VERBWD$ is sent through these subroutines in a specified order reflecting the P-rule ordering of the language. In keeping with generative phonological practice, the ordering is the same for all forms of the language, nouns and verbs. Thus, after subroutine 8000, which simply displays the underlying form, the VERBWD$ is sent through subroutine 14000 (Nasal rules), 11500 (Glide formation), 11000 (Coalescence), 13000 (Word-initial y-insertion), 15000 (Reduction with /a/, the past tense marker; only if the word is in fact a past tense verb), and 12000 (y-insertion to break up three vowels). VERBWD$ is redefined as it emerges from each of the subroutines, and its current form is displayed at the end of each subroutine to show the user what effect the rule has had on the form. Finally, in 9000 on, the underlying form of VERBWD$ is displayed between slashes, and the surface form of VERBWD$ is printed between brackets, allowing a visual “before and after” summary of the derivation of the word.

 

Computer and Linguistic Characterizations

I would now like to turn to a closer discussion of some of the similarities and differences between the rules posited in generative linguistics for some of the phenomena here, and the “rules” or lines of BASIC that accomplish the same derivations.

The structure of the program itself resembles a standard representation of generative grammar, with a lexicon, underlying forms, and a set of rules that are applicable to all forms of the language and that produce representations of surface, phonetic forms. The lexicon is canonical and avoids replication, for example, by listing roots and prefixes only once. Concatenation occurs after semantic considerations. Although the placing of rules in subroutines is not absolutely necessary, this is a good practice for repetitive operations. The relative ordering of these rules is reflected by sending VERBWD$ to these subroutines in a specified order that is constant for all forms of the language.

The subroutines themselves resemble P-rules in that first the structural description of a string (VERBWD$) is examined to see if the rule applies. The string is examined left to right in the P-rules and in the corresponding subroutine.

Secondly, the rules in BASIC posited for these P-rules involve redefinition. That is, in each of the subroutines that apply in a derivation, the VERBWD$ is systematically redefined as pieces of itself, plus or minus other segments inserted or deleted. This is necessary so that the same elements can be used in different subroutines. And, happily, this corresponds to the generative P-rule sense of an underlying form having various intermediate forms before surfacing in the course of a derivation. Thus, we keep the same name for the element derived, because, in a sense, it is the same element reformed or reshaped as rules apply, or left unchanged if no rules apply.

Thus, in broad terms some of the constraints and working assumptions of generative grammar can be captured in a BASIC program reflecting derivations of surface forms. I would now like to take a closer look at four types of P-rules described for the data here—-insertion, lengthening, deletion and substitution—and discuss them in terms of their characterizations in BASIC and generative phonology. I want to address these questions: (1) Do these specific subroutines capture the spirit of the generative P-rules, in that there is a sense of intuitiveness in their characterizations? and (2) Can the characterizations of these rules be used to assist the learner in CALL?.

In each of the examples of rules that follow, the construct VERBWD$ is systematically analyzed, broken into substrings, and redefined as a new VERBWD$ (if the rule applies) consisting of those same substrings plus or minus some elements. This concept of self-substitution or redefinition by means of substrings does reflect the thrust of generative phonological analysis, but it often happens that the characterizations of the substrings themselves are awkward in BASIC. This is in part due to the characterizations of substrings and rules as segments and not as features of segments, a point discussed later.

Insertion rules are simple to characterize in BASIC. Word-initial y-insertion is accomplished in lines 13000-13900 (Figure 3).

 

Figure 3

Word-Initial Y-Insertion

13000 PRINT: HTAB 11: PRINT “O –> Y / #__VV”.. PRINT

13020 FOR K = 1 TO 5

13030 IF LEFT$ (VERBWD$,l) = VOWELS$(K) THEN GOTO 13100

13040 NEXT K

13050 PRINT: PRINT “INAPPLICABLE”;: HTAB 20: PRINT VERBWD$ GOTO 13900

 

Lines 13000-13120 test for two successive vowels in initial position. Line 13200 is the crucial line; if two vowels are found in initial position, VERBWD$ is simply redefined as consisting of y plus VERBWD$. The subroutine for inserting medial y to break up three vowels is similar.

The program could easily have been modified to more graphically display y-insertion by FLASHing, INVERSEing or otherwise highlighting the y (if present) in line 13900.

We now turn to the characterization of lengthening, in particular the rule of pre-nasal cluster lengthening described in Figure 2. This is accomplished in the subroutines for nasal rules, lines 14000 on, with PNCL done in lines 14000-14032 (see Figure 4).

 

Figure 4

Pre-Nasal Cluster Lengthening

14000 PRINT : HTAB 14: PRINT “NASAL RULES”: PRINT

14010 IF RIGHT$ (SUJ$, 1) = “N” OR OM$ = “N” THEN GOTO 14015

14012 PRINT : PRINT “INAPPLICABLE”;: HTAB 20: PRINT VERBWD$:PRINT : GET K$: GOTO 14990

14015 PRINT HTAB 12: PRINT “V => VV / ___NC”: PRINT

14016 IF SUJ$ “EN” OR SUJ$ = “IN” THEN PRINT “INAPPLICABLE”;: HTAB 20: PRINT VERBWD$: PRINT: GET K$: GOTO 14500

14017 FOR J = I TO LEN (VERBWD$) – LEN (VB$)

14019 IF MID$ (VERBWD$,J,1) = “N” THEN LET AA$=MID$ (VERBWD$,J – 1,1): GOTO 14025

14020 NEXT J

14022 PRINT ;: GET K$: GOTO 14500

14025 IF TN > 1 AND LEN (SUJ$) = 1 THEN LET VERBWD$ = MID$ (VERBWD$,1,2) + AA$ + MID$ (VERBWD$,J, LEN (VERBWD$) – (J – 1)): PRINT “AFTER PNCL”;: HTAB 20: PRINT VERBWD$: PRINT : GET K$: GOTO 14500

14026 IF TN > 1 THEN LET VERBWD$ = MID$ (VERBWD$, 1,J – 2) + AA$ + AA$ + MID$ (VERBWD$,J, LEN (VERBWD$) – (J -1)): PRINT “AFTER PNCL”;: HTAB 20: PRINT VERBWD$: PRINT ;: GET K$: GOTO 14500

14030 IF LEN (SUJ$) = 1 THEN LET VERBWD$ = MID$ (VERBWD$, 1, 1) + AA$ + MID$ (VERBWD$,J, LEN (VERBWD$) – (J -1)): PRINT “AFTER PNCL”;: HTAB 20: PRINT VERBWD$: PRINT ;: GET K$: GOTO 14500

14032 LET VERBWD$ = MID$ (VERBWD$,l ,J – 2) + AA$ + AA$ + MID$ (VERBWD$,J, LEN (VERBWD$) – (J – 1)): PRINT : PRINT “AFTER PNCL”;: HTAB 20: PRINT VERBWD$: PRINT ;: GET K$

 

In this case the structural description is tested morphologically and phonologically (14016 vs. 14017-14020), and the vowel before the relevant nasal is identified as AA$ (14019). Lines 14026 and 14032 reflect the “doubling” or lengthening of AA$, where VERBWD$ is again split into parts surrounding AA$ + AA$. In a language in which vowel morae are represented by segments and not by a feature of (LENGTH),–and OluTsootso is such a language–this doubling of vowels successfully mimics the P-rule characterization of lengthening.

Once again it would be simple to highlight both the nasal cluster triggering the application of this rule, and the vowels resulting from lengthening in VERBWD$.

Deletion will be illustrated by the rule of Nasal Deletion in Figure 1. Part of the Nasal interaction subroutine dealing with Nasal deletion is given in Figure 5 (lines 14500-14721).

 

Figure 5

Nasal Deletion

14500 PRINT: HTAB 8: PRINT “NASAL + CONSONANT RULES”: PRINT

14517 FOR J =1 TO LEN (VERBWD$) – LEN (VB$)

14519 IF MID$ (VERBWD$,J, 1) = “N” THEN LET C$ = MID$ (VERBWD$,J + 1,1): GOTO 14525

14520 NEXT J

14700 REM SENT HERE IF NOT GANDA RULE

14710 IF C$ = “F” OR C$ = “S” OR C$ = “X” OR C$ = “M” OR C$ “N” THEN GOTO 14720

 

34

 

14712 IF C$ = “P” OR C$ = “T” OR C$ = “K” OR C$ = “C” THEN GOTO 14740

14720 PRINT: HTAB 6: PRINT “N=> 0 /_[F,S,X,SH,NASALS]”: PRINT

14721 LET VERBWD$ = MID$ (VERBWD$,1,J – 1) + MID$ (VERBWD$,J + 1, LEN (VERBWD$) – J): PRINT “N=>O”;: HTAB 20: PRINT VERBWD$: PRINT : GET K$: GOTO 14990

 

Lines 14500-14520 check to see if a nasal prefix is present, and to identify the root-initial consonant as C$. Line 14721 very simply redefines VERBWD$ as everything up to but not including the J-th segment (the nasal) plus everything after but not including the J-th segment. Thus, VERBWD$ appears to have had a nasal “deleted”. As before, it would not be difficult to highlight the space left by the departed nasal (or have a nasal vanish) as an important visual aid to the user.

A substitution rule is “nasal voicing of unvoiced consonants” discussed in Figure I and captured by the subroutine in lines 14740-14750 (see Figure 6).

 

Figure 6

Nasal Voicing of Unvoiced Consonants

14740 PRINT : HTAB 9: PRINT”VOICING AND HARDENING”: PRINT

14742 IF MID$ (VERBWD$,J + 1,2) = “TS” THEN VERBWD$ = MID$ (VERBWD$,1,J) + “Z” + MID$ (VERBWD$,J + 3, LEN (VERBWD$) – (J + 2)): GOTO 14800

14744 IF MID$ (VERBWD$,J + 1,2) = “CH” THEN VERBWD$ = MID$ (VERBWD$,1,J) + “J” + MID$ (VERBWD$,J + 3, LEN (VERBWD$) -(J + 2)): GOTO 14800

14746 IF MID$ (VERBWD$,J + 1, 1) = “P” THEN VERBWD$ = MID$ (VERBWD$,1,J) + “B” + MID$ (VERBWD$,J + 2, LEN (VERBWD$) – (J + 1)): GOTO 14800

14748 IF MID$ (VERBWD$,J + 1, 1) = “T” THEN VERBWD$ = MID$ (VERBWD$,1,J) + “D” + MID$ (VERBWD$,J + 2, LEN (VERBWED$) – (J + 1)): GOTO 14800

14750 IF MID$ (VERBWD$,J + 1, 1) = “K” THEN VERBWD$ = MID$ (VERBWD$,1,J) + “G” + MID$ (VERBWD$,J + 2, LEN (VERBWD$) – (J + 1)): GOTO 14800

14800 PRINT “AFTER VOICING”;:HTAB 20: PRINT VERBWD$

 

In these examples the crucial root-initial segment(s) is examined and VERBWD$ is split into two substrings that exclude the underlying segment, and redefined as one substring plus the relevant voiced consonant plus the second

 

35

substring9. The new consonant could be highlighted for emphasis.

 

Comments

Readers skilled in BASIC could no doubt fine tune these subroutines significantly, but these are basically correct. And from a CALL standpoint, this program as part of an overall package in instruction is useful in that when segments are changed or altered, appropriate attention can be drawn to them on the screen for the user. But there is a major weakness in the rules in terms of feature specification. Any self-respecting generative phonologist, the writer included, surely shudders at the failure of any of these rules to deal with features of segments systematically, to deal with classes of segments as a group. Why not, for instance, start the program off with features (such as voiced, voiceless, fricative, etc.) assigned to each of the segments to be dealt with, and relate any of the “rules” more directly to the features and not to the segments?

One answer is that BASIC does not guarantee that a real net gain in simplicity, speed of execution, diminished program size, etc., will result from such a plan. In my preliminary attempts with this program such were my intentions, yet I quickly discovered that the code was even lengthier with such a plan than with the non-intuitive lines herein. The trade-off in reference to arrays for such elements and their features, and the writing of rules in subroutines referring to such arrays, became more and more complicated. BASIC simply does not force the programmer to take the “better” (i.e. generative) approach, and in this case actively discourages such attempts.

From a CALL point of view, it may well be inadvisable to rely too heavily on features and feature specification. Although technically correct and linguistically more desirable, reference to esoteric features might actually confuse the linguistically naive user, just as it would in the teaching of more commonly taught languages, with or without CALL. Graphic characterizations of rule operations would lose much of their pedagogical impact if represented by feature changes. These programs do not suffer pedagogically from the loss of feature characterization.

Another concern about these characterizations is that we are forced to separate the process of examining the string (to see if the structural description of the rule is met) from the actual operation of the rule. Thus, in the word-initial y-insertion rule, the string is examined twice to see if two vowels begin the VERBWD$. Then, in separate lines, VERBWD$ is redefined as initial y + VERBWD$. This division of labor could however be turned to advantage from a CALL point of view. Prior to the rule’s application, the environment or context of the rule could be highlighted in VERBWD$, after which the rule and its effects (or non-effects if inapplicable) could be shown.

In summary, although there are some shortcomings of certain features of BASIC vis-a-vis corresponding generative P-rules, many of the desirable aspects of generative phonology from a CALL point of view can successfully be implemented in a program of this sort.

 

Conclusions

The value of this type of program as part of CALL in uncommonly taught languages is clear. Data on many of these languages is scanty, loan words are constantly being introduced, and it may be difficult for the learner to determine how “new” words will behave. In this program users can input morphemes directly and derive new forms in ways that mimic the native speaker’s ability. And though there may be undesirable elements concerning the fit between computer characterizations and linguistic characterizations reminiscent of the two decades old distinction of “descriptive adequacy” vs “explanatory adequacy,” much can nevertheless be said in favor of some of the directions this sort of program can take.10

 

Notes

 

1. The term “informant” to describe such a consultant has in recent years fallen out of favor.

2. See Dalgish (1976).

3. There are exceptions to the semantic correlations between noun classes and their members, but by and large these characterizations are accurate. What is important is that the lexicon must specify for each root its membership in a certain class.

4. The braces are used here to designate an intermediate step between the underlying form in slashes ( // ) and surface phonetic forms in brackets The forms in braces are then subject to the same rules affecting y-initial roots.

5. A. Meussen, a famous African linguist, coined this term for this phenomenon because it occurs in LuGanda, a Bantu language of Uganda.

6. See Dalgish (1975, 1976).

7. A significant problem of “garbage collection’ or “housekeeping” results from any attempt to store too much in RAM and to re-use a string variable again and again in the program. I had to use a utility to handle this, as the normal Applesoft FRE function took up to 5 minutes to execute.

8. A variable like WORD$ is reanalyzed by Applesoft as “W OR D$” because it contains the reserved word “OR”.

9. Note that since C$ was the string variable name for the root-initial segment, an alternative characterization might have been to assign C$ the new value of the corresponding voiced element, and redefine VERBWD$ as the two substrings with the new C$ between them (although there would have been problems with the change of underlying /ts/ to z and /ch/ to 1).

10. See Chomsky (1965).

 

References

 

Chomsky, Noam. 1965. Aspects of the Theory of Syntax, New York, Cambridge University Press.

Dalgish, Gerard.1976. “The Morphophonemics of the OluTsootso Dialect of (Olu)Luyia; Issues and Implications”, unpublished doctoral dissertation, University of Illinois, Urbana, IL.

——— 1975. “On Underlying and Superficial Constraints in Tsootso” Proceedings of the Eleventh Regional Meeting of the Chicago Linguistics Society, pp. 115-121.

 

Biodata

Gerard M. Dalgish is Assistant Professor and ESL Supervisor in the English Department at Baruch College. He has taught Linguistics, African Linguistics, ESL and English in East Africa, Illinois, and New York. He has published a book and articles in the areas of ESL, CAI, African Linguistics and Lexicography.

 

Author’s Address

Gerard M. Dalgish

Department of English, Box 55

Baruch College, CUNY

17 Lexington Avenue

New York, NY 10010

 

CALICO Journal, Volume 4 Number 1 27
CALL for Uncommonly Taught
African Languages: Computer
Characterizations
Gerard M. Dalgish
ABSTRACT: The field of African language CALL is expanding rapidly as part of the
general trend toward foreign language CALL. Yet the assumptions and needs of the
learner in such instruction are quite different from that of the more commonly taught
languages. African language instruction may not always be classroom-oriented: texts are
seldom available for most of the uncommonly taught languages, and a native speaker as
consultant1 may or may not have training in foreign language instruction. These factors
have led to the need for self-standing, computer-driven instruction for these languages.
This paper will discuss some assumptions regarding generative-based African language
CALL, with references to Bantu languages and to one particular language (the
OluTsootso dialect of Luyai, a language of Kenya), and describe elements of a computer
program that produces superficial forms from underlying forms of that language. The
paper will close with a discussion of some of the differences between computer
characterizations of certain phonological phenomena and the generative linguist’s
description of such phenomena.
KEYWORDS: Bantu, BASIC, generative phonology, Kenya, OluTsooto
Assumptions Regarding Generativity and CALL
A core assumption regarding self-standing CALL should be the
recognition of the value of computer-driven open-endedness in instruction. In
addition to the now pedestrian drill and practice or even the more innovative
interactive video and simulation exercises, software that can mimic the native
speaker’s ability to produce any form of the language by means of rules is
urgently needed, since instruction for any uncommonly taught language may
continue when the consultant has returned to his home country or is otherwise
unavailable for instruction. This in turn requires a comprehensive phonological
and syntactic analysis of the language in question, and a program that reflects
such an analysis.
CALICO Journal, Volume 4 Number 1 28
This paper will concentrate on the merging of a phonological analysis of
OluTsootso2 with a BASIC computer program that can successfully generate
surface forms from underlying sequences of the language. Like the analysis of
the language, the program can and should deal with any possible form of the
language, starting from provided translations of morphemes or from user input,
and producing correct surface phonetic forms.
Structure of Bantu Languages
Some words about Bantu linguistic structure are in order here by way of
introduction to OluTsootso. The language is agglutinative. Nominal roots take
one of a pair of prefixes which usually designate singular and plural; these
prefixes in turn are the same for many of the animate human nouns, while
another pair of prefixes is common for trees and flowering plants; others
designate liquids, abstract nouns, etc.3 Each of the pairs of prefixes is commonly
referred to in Bantu literature as designating a noun class: class I being for
singular animate nouns, class 2 for the corresponding plural; class 3 is for
singular trees and flowering bushes, class 4 for the plural, and so on. As we shall
see shortly, this has relevance for the lexicon of this program.
The verbal word consists of a subject prefix which agrees with the noun
class of its subject, followed by an optional tense marker, object marker, and then
the root plus numerous verbal suffixes.
The complicated phonological interactions of the prefixes and roots form
the basis of this discussion, but again are so wide-spread and similar among the
Bantu languages that what works for this language will work for others with
minor adaptations. Since this is not a forum for linguistic analysis, I trust the
reader will accept the proposed underlying forms and phonological rules
(henceforth, P-rules) and concentrate instead on aspects of CALL and the
computer characterizations of these P-rules that follow.
There are two major types of phonological interactions described nontechnically
here: those involving nasals and root-initial elements, and those
involving sequences of vowels. Nasal (N)-rules change sequences of underlying
N + consonant (C) or vowel (V). Underlying /N/ + a voiceless stop (/p/, /t/,
/k/) becomes a homorganic nasal plus the corresponding voiced stop [mb], [nd],
[ng]. The nasal is deleted before the voiceless fricatives /f/, /s/, /sh/, /x/ and
before other nasals. Underlying /B/, /l/ and /r/ become [b], [d] and [d]
respectively after a nasal. /y/ becomes [z] after a nasal, unless there is a nasal
cluster in the next syllable, in which case underlying /N+y/ becomes palatal [n].
Nasal prefixes before vowel-initial roots behave exactly as if a y is inserted: /N+
CALICO Journal, Volume 4 Number 1 29
V../ => [nzV..], unless there is a nasal cluster in the next syllable: /N+VNC../ =>
[nVNC..]. These rules are so common across Bantu languages that their “generic”
names are given in Figure I with a summary of the alternations just described.
Figure 1
Nasal Interaction Rules
Nasal voicing /N+p,t,k../ –> [mb,nd,ng..]
Nasal deletion /N / –> 0/____+f,s,sh,x,nasals
Nasal hardening /N+B,l,r../ –> [mb,nd,nd..]
Vowel-initial
y-insertion
/N+V../ –> {N+yV..}4
Ganda Law5 /N+yVNC../–>
/N+y../–>
y –>
[nVNC..]
[nz..]
z/N+___
For vowels, sequences of /u/ + any other vowel except u become surface
[wVV] by a rule of glide formation and compensatory lengthening. Sequences of
/a/ + a vowel change are as follows: /a+i/ => [ee], /a+e/ => [ee], /a+u/ => [oo]
and /a+o/ => [oo]; /a+a/ is unchanged [aa]. A y is inserted to break up
sequences of three vowels: /..VVV../ => [..VVyV..], and to break up a sequence
of two vowels in word-initial position: /#VV../ => [#yVV..]. A vowel is
lengthened before a nasal cluster: /VNC../ => [VVNC..]. There are in addition a
series of complex vowel shortening rules that apply in certain past tense forms
with the special past tense prefix /+a+/; I have called these rules /a/-
reduction. These have the effect of reducing the surface number of vowel morae
by one.6 The other rules are summarized in Figure 2 with their common names:
Figure 2
Glide formation and
compensatory lengthening
/u+a,e,i,o/–> [waa,wee,wii,woo]
Coalescence /a+i,e,o,u,a/–> [ee,ee,oo,oo,aa]
y-insertion(1) /..VVV…/–> [..VVVyV..]
y-insertion(2) /#VV../–> [yVV..]
Pre-Nasal Cluster
Lengthening (PNCL)
/..V+NC../–> [..VVNC..]
CALICO Journal, Volume 4 Number 1 30
The purpose of illustrating these rules is to demonstrate to the reader
some of the structural differences between traditionally taught languages and
Bantu languages, and to give an indication of the sorts of rules that need to be
incorporated into a self-standing, generative-based CALL program. Since in
many cases the underlying form of the noun or verb can differ so drastically
from the surface form, it is useful to show the learner how these changes take
place. This in turn means that a program mimicking these changes must reflect in
as general a way as possible the rules shown in the mentioned figures.
Computer Characterizations
We now turn to characterizations of some of these phenomena in a
computer program in Applesoft BASIC. The program reflects assumptions of
generative phonological practice and consists of a lexicon containing
representations of underlying or canonical forms together with a set of rules that
derive representations of the corresponding spoken forms. Since this is
incorporated into a CALL program, it will be possible for the user to see the
derivation proceed.
The Lexicon
The lexicon consists of TEXT files containing the roots of the language,
prefixes and suffixes. So that optimum generality can be achieved, only one
canonical form for each morpheme should be stored; the P-rules will be
responsible for producing any variants. The program allows for translations; the
user could ask for the verb “go” and be given the OluTsootso equivalent. The
lexicon must be arranged in such a way that the program can call up a noun of
any particular noun class, because the prefix on the noun is specific to that class.
Similarly, the verb will need to “know” what noun class its subject is, because the
verb’s subject prefix “agrees” with the noun class of the subject. Users could also
ask for a random noun or verb or they could input a prefix, noun or verb, and
watch or perform the derivation.
The Program
The program has the following structure. After the morphemes and their
glosses are LOADed into RAM arrays from TEXT files7, it then asks users if they
want a certain noun or if the computer should choose one at random, prompting
the user for the relevant morphemes, either by asking for the class number or the
word to be derived (subroutine 10000, not listed here). The morphemes are then
concatenated in lines 2050-2100 such that either a verb or a noun goes through
the same derivation. This construct is assigned the string variable name
CALICO Journal, Volume 4 Number 1 31
VERBWD$ (for “verb word”, even if it is a noun), and sent to certain
subroutines for derivation (lines 2100-2400).8
Verbwd$ Constructed and Sent to Subroutines
2000 REM ALL NOUNS AND VERBS SENT HERE
2050 GOSUB IOOOO:IF TENSE = 2 THEN VERBWD$ = SUJ$ + “A” + OM$ +
VB$: GOTO 2100:REM IF TENSE = PAST THEN “A”-MORPHEME ADDED
2060 VERBWD$ = SUJ$ + OM$ + VB$: REM NOUN PREFIX HAS ALREADY
BEEN RENAMED AS SUJ$ AND NOUN ROOT RENAMED AS VB$
2070 REM SO BOTH NOUNS AND VERBS CAN GO THROUGH HERE
2100 GOSUB 8000: GOSUB 14000: GOSUB 11500: GOSUB 11000
2200 GOSUB 13000: IF TENSE=2 THEN GOSUB 15000: REM SPECIAL
REDUCTION RULE FOR PAST TENSE FORMS
2300 GOSUB 12000
2400 GOTO 9000: REM FINISHED AND SENT TO DISPLAY AT END
The subroutines reflect the rules outlined in Figures 1 and 2. The VERBWD$
is sent through these subroutines in a specified order reflecting the P-rule
ordering of the language. In keeping with generative phonological practice, the
ordering is the same for all forms of the language, nouns and verbs. Thus, after
subroutine 8000, which simply displays the underlying form, the VERBWD$ is
sent through subroutine 14000 (Nasal rules), 11500 (Glide formation), 11000
(Coalescence), 13000 (Word-initial y-insertion), 15000 (Reduction with /a/, the
past tense marker; only if the word is in fact a past tense verb), and 12000 (yinsertion
to break up three vowels). VERBWD$ is redefined as it emerges from
each of the subroutines, and its current form is displayed at the end of each
subroutine to show the user what effect the rule has had on the form. Finally, in
9000 on, the underlying form of VERBWD$ is displayed between slashes, and the
surface form of VERBWD$ is printed between brackets, allowing a visual “before
and after” summary of the derivation of the word.
Computer and Linguistic Characterizations
I would now like to turn to a closer discussion of some of the similarities
and differences between the rules posited in generative linguistics for some of
the phenomena here, and the “rules” or lines of BASIC that accomplish the same
derivations.
CALICO Journal, Volume 4 Number 1 32
The structure of the program itself resembles a standard representation of
generative grammar, with a lexicon, underlying forms, and a set of rules that are
applicable to all forms of the language and that produce representations of
surface, phonetic forms. The lexicon is canonical and avoids replication, for
example, by listing roots and prefixes only once. Concatenation occurs after
semantic considerations. Although the placing of rules in subroutines is not
absolutely necessary, this is a good practice for repetitive operations. The relative
ordering of these rules is reflected by sending VERBWD$ to these subroutines in
a specified order that is constant for all forms of the language.
The subroutines themselves resemble P-rules in that first the structural
description of a string (VERBWD$) is examined to see if the rule applies. The
string is examined left to right in the P-rules and in the corresponding
subroutine.
Secondly, the rules in BASIC posited for these P-rules involve redefinition.
That is, in each of the subroutines that apply in a derivation, the VERBWD$ is
systematically redefined as pieces of itself, plus or minus other segments inserted
or deleted. This is necessary so that the same elements can be used in different
subroutines. And, happily, this corresponds to the generative P-rule sense of an
underlying form having various intermediate forms before surfacing in the
course of a derivation. Thus, we keep the same name for the element derived,
because, in a sense, it is the same element reformed or reshaped as rules apply,
or left unchanged if no rules apply.
Thus, in broad terms some of the constraints and working assumptions of
generative grammar can be captured in a BASIC program reflecting derivations
of surface forms. I would now like to take a closer look at four types of P-rules
described for the data here—-insertion, lengthening, deletion and
substitution—and discuss them in terms of their characterizations in BASIC and
generative phonology. I want to address these questions: (1) Do these specific
subroutines capture the spirit of the generative P-rules, in that there is a sense of
intuitiveness in their characterizations? and (2) Can the characterizations of these
rules be used to assist the learner in CALL?.
In each of the examples of rules that follow, the construct VERBWD$ is
systematically analyzed, broken into substrings, and redefined as a new
VERBWD$ (if the rule applies) consisting of those same substrings plus or minus
some elements. This concept of self-substitution or redefinition by means of
substrings does reflect the thrust of generative phonological analysis, but it often
happens that the characterizations of the substrings themselves are awkward in
BASIC. This is in part due to the characterizations of substrings and rules as
CALICO Journal, Volume 4 Number 1 33
segments and not as features of segments, a point discussed later.
Insertion rules are simple to characterize in BASIC. Word-initial yinsertion
is accomplished in lines 13000-13900 (Figure 3).
Figure 3
Word-Initial Y-Insertion
13000 PRINT: HTAB 11: PRINT “O –> Y / #__VV”.. PRINT
13020 FOR K = 1 TO 5
13030 IF LEFT$ (VERBWD$,l) = VOWELS$(K) THEN GOTO 13100
13040 NEXT K
13050 PRINT: PRINT “INAPPLICABLE”;: HTAB 20: PRINT VERBWD$ GOTO
13900
Lines 13000-13120 test for two successive vowels in initial position. Line
13200 is the crucial line; if two vowels are found in initial position, VERBWD$ is
simply redefined as consisting of y plus VERBWD$. The subroutine for inserting
medial y to break up three vowels is similar.
The program could easily have been modified to more graphically display
y-insertion by FLASHing, INVERSEing or otherwise highlighting the y (if
present) in line 13900.
We now turn to the characterization of lengthening, in particular the rule
of pre-nasal cluster lengthening described in Figure 2. This is accomplished in
the subroutines for nasal rules, lines 14000 on, with PNCL done in lines 14000-
14032 (see Figure 4).
Figure 4
Pre-Nasal Cluster Lengthening
14000 PRINT : HTAB 14: PRINT “NASAL RULES”: PRINT
14010 IF RIGHT$ (SUJ$, 1) = “N” OR OM$ = “N” THEN GOTO 14015
14012 PRINT : PRINT “INAPPLICABLE”;: HTAB 20: PRINT VERBWD$:PRINT :
GET K$: GOTO 14990
14015 PRINT HTAB 12: PRINT “V => VV / ___NC”: PRINT
14016 IF SUJ$ “EN” OR SUJ$ = “IN” THEN PRINT “INAPPLICABLE”;: HTAB 20:
PRINT VERBWD$: PRINT: GET K$: GOTO 14500
14017 FOR J = I TO LEN (VERBWD$) – LEN (VB$)
14019 IF MID$ (VERBWD$,J,1) = “N” THEN LET AA$=MID$ (VERBWD$,J – 1,1):
GOTO 14025
14020 NEXT J
14022 PRINT ;: GET K$: GOTO 14500
CALICO Journal, Volume 4 Number 1 34
14025 IF TN > 1 AND LEN (SUJ$) = 1 THEN LET VERBWD$ = MID$
(VERBWD$,1,2) + AA$ + MID$ (VERBWD$,J, LEN (VERBWD$) – (J – 1)):
PRINT “AFTER PNCL”;: HTAB 20: PRINT VERBWD$: PRINT : GET K$:
GOTO 14500
14026 IF TN > 1 THEN LET VERBWD$ = MID$ (VERBWD$, 1,J – 2) + AA$ +
AA$ + MID$ (VERBWD$,J, LEN (VERBWD$) – (J -1)): PRINT “AFTER
PNCL”;: HTAB 20: PRINT VERBWD$: PRINT ;: GET K$: GOTO 14500
14030 IF LEN (SUJ$) = 1 THEN LET VERBWD$ = MID$ (VERBWD$, 1, 1) + AA$
+ MID$ (VERBWD$,J, LEN (VERBWD$) – (J -1)): PRINT “AFTER PNCL”;:
HTAB 20: PRINT VERBWD$: PRINT ;: GET K$: GOTO 14500
14032 LET VERBWD$ = MID$ (VERBWD$,l ,J – 2) + AA$ + AA$ + MID$
(VERBWD$,J, LEN (VERBWD$) – (J – 1)): PRINT : PRINT “AFTER PNCL”;:
HTAB 20: PRINT VERBWD$: PRINT ;: GET K$
In this case the structural description is tested morphologically and
phonologically (14016 vs. 14017-14020), and the vowel before the relevant nasal is
identified as AA$ (14019). Lines 14026 and 14032 reflect the “doubling” or
lengthening of AA$, where VERBWD$ is again split into parts surrounding AA$
+ AA$. In a language in which vowel morae are represented by segments and
not by a feature of (LENGTH),–and OluTsootso is such a language–this
doubling of vowels successfully mimics the P-rule characterization of
lengthening.
Once again it would be simple to highlight both the nasal cluster triggering
the application of this rule, and the vowels resulting from lengthening in
VERBWD$.
Deletion will be illustrated by the rule of Nasal Deletion in Figure 1. Part of
the Nasal interaction subroutine dealing with Nasal deletion is given in Figure 5
(lines 14500-14721).
Figure 5
Nasal Deletion
14500 PRINT: HTAB 8: PRINT “NASAL + CONSONANT RULES”: PRINT
14517 FOR J =1 TO LEN (VERBWD$) – LEN (VB$)
14519 IF MID$ (VERBWD$,J, 1) = “N” THEN LET C$ = MID$ (VERBWD$,J + 1,1):
GOTO 14525
14520 NEXT J
14700 REM SENT HERE IF NOT GANDA RULE
14710 IF C$ = “F” OR C$ = “S” OR C$ = “X” OR C$ = “M” OR C$ “N” THEN GOTO
14720
CALICO Journal, Volume 4 Number 1 35
14712 IF C$ = “P” OR C$ = “T” OR C$ = “K” OR C$ = “C” THEN GOTO 14740
14720 PRINT: HTAB 6: PRINT “N=> 0 /_[F,S,X,SH,NASALS]”: PRINT
14721 LET VERBWD$ = MID$ (VERBWD$,1,J – 1) + MID$ (VERBWD$,J + 1, LEN
(VERBWD$) – J): PRINT “N=>O”;: HTAB 20: PRINT VERBWD$: PRINT : GET
K$: GOTO 14990
Lines 14500-14520 check to see if a nasal prefix is present, and to identify the
root-initial consonant as C$. Line 14721 very simply redefines VERBWD$ as
everything up to but not including the J-th segment (the nasal) plus everything
after but not including the J-th segment. Thus, VERBWD$ appears to have had a
nasal “deleted”. As before, it would not be difficult to highlight the space left by
the departed nasal (or have a nasal vanish) as an important visual aid to the user.
A substitution rule is “nasal voicing of unvoiced consonants” discussed in
Figure I and captured by the subroutine in lines 14740-14750 (see Figure 6).
Figure 6
Nasal Voicing of Unvoiced Consonants
14740 PRINT : HTAB 9: PRINT”VOICING AND HARDENING”: PRINT
14742 IF MID$ (VERBWD$,J + 1,2) = “TS” THEN VERBWD$ = MID$
(VERBWD$,1,J) + “Z” + MID$ (VERBWD$,J + 3, LEN (VERBWD$) – (J + 2)):
GOTO 14800
14744 IF MID$ (VERBWD$,J + 1,2) = “CH” THEN VERBWD$ = MID$
(VERBWD$,1,J) + “J” + MID$ (VERBWD$,J + 3, LEN (VERBWD$) -(J + 2)):
GOTO 14800
14746 IF MID$ (VERBWD$,J + 1, 1) = “P” THEN VERBWD$ = MID$
(VERBWD$,1,J) + “B” + MID$ (VERBWD$,J + 2, LEN (VERBWD$) – (J + 1)):
GOTO 14800
14748 IF MID$ (VERBWD$,J + 1, 1) = “T” THEN VERBWD$ = MID$
(VERBWD$,1,J) + “D” + MID$ (VERBWD$,J + 2, LEN (VERBWED$) – (J + 1)):
GOTO 14800
14750 IF MID$ (VERBWD$,J + 1, 1) = “K” THEN VERBWD$ = MID$
(VERBWD$,1,J) + “G” + MID$ (VERBWD$,J + 2, LEN (VERBWD$) – (J + 1)):
GOTO 14800
14800 PRINT “AFTER VOICING”;:HTAB 20: PRINT VERBWD$
In these examples the crucial root-initial segment(s) is examined and
VERBWD$ is split into two substrings that exclude the underlying segment, and
redefined as one substring plus the relevant voiced consonant plus the second
CALICO Journal, Volume 4 Number 1 36
substring9. The new consonant could be highlighted for emphasis.
Comments
Readers skilled in BASIC could no doubt fine tune these subroutines
significantly, but these are basically correct. And from a CALL standpoint, this
program as part of an overall package in instruction is useful in that when
segments are changed or altered, appropriate attention can be drawn to them on
the screen for the user. But there is a major weakness in the rules in terms of
feature specification. Any self-respecting generative phonologist, the writer
included, surely shudders at the failure of any of these rules to deal with features
of segments systematically, to deal with classes of segments as a group. Why not,
for instance, start the program off with features (such as voiced, voiceless,
fricative, etc.) assigned to each of the segments to be dealt with, and relate any of
the “rules” more directly to the features and not to the segments?
One answer is that BASIC does not guarantee that a real net gain in
simplicity, speed of execution, diminished program size, etc., will result from
such a plan. In my preliminary attempts with this program such were my
intentions, yet I quickly discovered that the code was even lengthier with such a
plan than with the non-intuitive lines herein. The trade-off in reference to arrays
for such elements and their features, and the writing of rules in subroutines
referring to such arrays, became more and more complicated. BASIC simply does
not force the programmer to take the “better” (i.e. generative) approach, and in
this case actively discourages such attempts.
From a CALL point of view, it may well be inadvisable to rely too heavily
on features and feature specification. Although technically correct and
linguistically more desirable, reference to esoteric features might actually confuse
the linguistically naive user, just as it would in the teaching of more commonly
taught languages, with or without CALL. Graphic characterizations of rule
operations would lose much of their pedagogical impact if represented by
feature changes. These programs do not suffer pedagogically from the loss of
feature characterization.
Another concern about these characterizations is that we are forced to
separate the process of examining the string (to see if the structural description of
the rule is met) from the actual operation of the rule. Thus, in the word-initial yinsertion
rule, the string is examined twice to see if two vowels begin the
VERBWD$. Then, in separate lines, VERBWD$ is redefined as initial y +
VERBWD$. This division of labor could however be turned to advantage from a
CALICO Journal, Volume 4 Number 1 37
CALL point of view. Prior to the rule’s application, the environment or context of
the rule could be highlighted in VERBWD$, after which the rule and its effects
(or non-effects if inapplicable) could be shown.
In summary, although there are some shortcomings of certain features of
BASIC vis-a-vis corresponding generative P-rules, many of the desirable aspects
of generative phonology from a CALL point of view can successfully be
implemented in a program of this sort.
Conclusions
The value of this type of program as part of CALL in uncommonly taught
languages is clear. Data on many of these languages is scanty, loan words are
constantly being introduced, and it may be difficult for the learner to determine
how “new” words will behave. In this program users can input morphemes
directly and derive new forms in ways that mimic the native speaker’s ability.
And though there may be undesirable elements concerning the fit between
computer characterizations and linguistic characterizations reminiscent of the
two decades old distinction of “descriptive adequacy” vs “explanatory adequacy,”
much can nevertheless be said in favor of some of the directions this sort of
program can take.10
Notes
1. The term “informant” to describe such a consultant has in recent years
fallen out of favor.
2. See Dalgish (1976).
3. There are exceptions to the semantic correlations between noun classes and
their members, but by and large these characterizations are accurate. What is
important is that the lexicon must specify for each root its membership in a
certain class.
4. The braces are used here to designate an intermediate step between the
underlying form in slashes ( // ) and surface phonetic forms in brackets The
forms in braces are then subject to the same rules affecting y-initial roots.
5. A. Meussen, a famous African linguist, coined this term for this
phenomenon because it occurs in LuGanda, a Bantu language of Uganda.
6. See Dalgish (1975, 1976).
7. A significant problem of “garbage collection’ or “housekeeping” results
from any attempt to store too much in RAM and to re-use a string variable again
and again in the program. I had to use a utility to handle this, as the normal
Applesoft FRE function took up to 5 minutes to execute.
8. A variable like WORD$ is reanalyzed by Applesoft as “W OR D$” because
it contains the reserved word “OR”.
9. Note that since C$ was the string variable name for the root-initial segment,
an alternative characterization might have been to assign C$ the new value of the
CALICO Journal, Volume 4 Number 1 38
corresponding voiced element, and redefine VERBWD$ as the two substrings
with the new C$ between them (although there would have been problems with
the change of underlying /ts/ to z and /ch/ to 1).
10. See Chomsky (1965).
References
Chomsky, Noam. 1965. Aspects of the Theory of Syntax, New York, Cambridge
University Press.
Dalgish, Gerard.1976. “The Morphophonemics of the OluTsootso Dialect of
(Olu)Luyia; Issues and Implications”, unpublished doctoral dissertation,
University of Illinois, Urbana, IL.
——— 1975. “On Underlying and Superficial Constraints in Tsootso” Proceedings
of the Eleventh Regional Meeting of the Chicago Linguistics Society, pp. 115-121.
Biodata
Gerard M. Dalgish is Assistant Professor and ESL Supervisor in the
English Department at Baruch College. He has taught Linguistics, African
Linguistics, ESL and English in East Africa, Illinois, and New York. He has
published a book and articles in the areas of ESL, CAI, African Linguistics and
Lexicography.
Author’s Address
Gerard M. Dalgish
Department of English, Box 55
Baruch College, CUNY
17 Lexington Avenue
New York, NY 10010
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s