Home > Resources > Instruction and Support > Languages > Swahili > Swahili/English Quiz Programs

Swahili/English Programs


Vocabulary Quiz
Grammar Quiz
Grammar Machine
System Requirements
Future Features
Sources Consulted

Vocabulary Files

Vocabulary Source

Grammar Source


Download All Files

Swahili/English Programs

Vocabulary Quiz

  • To take the quiz, click on Vocabulary.
  • Tip: To read these instructions while using one of the two programs, open the instructions and program in separate windows. Right-click the link and select Open in New Window. Use the Windows taskbar buttons to switch between windows.
  • To see a question, click the Display Next Question button (or press the space bar if you have just answered a question).
  • To answer a multiple choice question, click the button with the number of the answer (1, 2, 3, or 4) that best matches the question (or tab to the correct button and press the space bar).
  • To answer a completion question, type your answer in the text box and click the Enter button (or press the Enter key).
  • Your answer will be marked as correct or incorrect. The correct multiple choice button will be marked as YES. If you chose an incorrect answer, it will be marked as NO.
  • You can answer as many questions as you like.
  • You can see your percentages and scores in the Scores box. To reset scores, click the Reset button.
  • Options are listed in the Options box. To reset options, click the Reset button.
  • Use the Category menu to select questions from a specific category. By default, you will see questions from a randomly chosen category of terms.
  • Use the Choice Field menu if you want your answer to always be a Term or a Definition. By default, the program will select between terms and definitions randomly.
  • Use the Choices menu to change the number of choices. Multiple-choice questions display four choices by default. To see completion questions, choose completion from the Choices menu.
  • To look up a word in the Dictionary, click the Dictionary button.


  • Open the Vocabulary Quiz and click the Dictionary button.
  • To translate between English and Swahili, type a word in the Term or Definition field and press Enter or click Search Terms or Search Defs.
  • For a random term and its definition, click Random.
  • To look up only words in one category, select the category from the Category menu.
  • To see all categories again, select All from the Category menu.
  • To return to the Vocabulary Quiz, click the Quiz button.

Grammar Quiz

  • To take the quiz, click on Grammar.
  • To see and answer a multiple-choice or completion question, see the instructions for the Vocabulary Quiz above.
  • The fraction and percentage of questions you answered correctly is shown at the bottom.
  • To reset the scores to zero, click the Reset Score button.
  • Choose a phrase structure from the Phrase Structure menu. 
    • random will randomly choose a predefined phrase structure.
    • fully random will create a random phrase structure.
    • custom will allow you to create your own phrase structure using the Grammar Machine.
  • Choose a question format (multiple choice or completion) from the Question Format menu.
  • Choose a transformation (translation or compose) from the Transformation menu.
  • Choose the language of your responses from the Target Language menu.
  • To see details of the phrase structure in the Grammar Machine, select Machine from the Activity menu.

Grammar Machine

  • Open the Grammar Quiz and choose Machine from the Activity menu.
  • Select a phrase structure from the Phrase Structure menu (as described above).
  • To see the currently selected phrase in both languages, click the "Swa & Eng" button.
  • To see the selected phrase in only one language, click the "Swahili" or "English" button.
  • To hide the selected phrase, click the "Clear" button.
  • To create your own phrase structure, uncheck the two boxes labelled "select all".
  • Check boxes in the "include" column to select which parts of speech you want to include in your phrase.
  • To include a noun phrase you must check the box next to "noun class".
  • To include a verb phrase you must check the box next to "verb".
  • Check boxes in the "random" column to randomly select the included parts of speech before displaying a random phrase.
  • Use the other pull-down menus and check boxes to select parts of speech which are included but not random.
  • To display a random phrase for this structure, click the Rand. Phrase button.
  • To display a random phrase for a random phrase structure, click the Rand. Struct. button.
  • To not automatically show the phrase when clicking one of the Rand. buttons, uncheck autoCompose and/or autoTranslate.
  • If you want to use your phrase structure to generate questions for the Grammar Quiz, make sure the Phrase Structure menu is set to "custom". Otherwise the phrase structure selected on the menu will override your custom phrase structure.
  • To return to the Grammar Quiz, choose Quiz from the Activity menu.

System Requirements

  • The grammar and vocabulary programs are object-oriented Java applets that run in a Web browser over the Internet or on a standalone PC.
  • To run the following two programs, your browser (e.g. Internet Explorer 5 or Netscape Navigator 6) needs to be able to run Java applets. It needs a Java 2 Virtual Machine which must be enabled. 
  • Having problems? For Internet Explorer, click the Tools menu and click Internet Options. Click the Advanced tab, scroll down to the Microsoft VM section, and check the box for "JIT compiler for virtual machine enabled". (If this doesn't appear, e.g. you have Internet Explorer 6, you will need to download the virtual machine from the Web. Don't ask why; just obey Microsoft.)


You can install these programs on a local PC (instead of running it over the Internet):

  • Download swahili.zip (100 KB) by saving it in a convenient place on your computer's hard disk (e.g. c:\program files\swahili or c:\my documents).
  • Use My Computer or Windows Explorer to find the file.
  • Double-click the file. It will expand if you have a newer version of Windows.
  • (If it does not expand, you probably need to install WinZip shareware which is available on the Internet.)
  • A folder named swahili should be created automatically. Double-click the folder to open it.
  • Double-click index.htm. You should then see this page.
  • Bookmark the page in your browser (e.g. click the Favorites menu and click Add to Favorites).
  • You can also create a shortcut to index.htm on the desktop or in your start menu.
  • This software is freeware and may be freely distributed.
  • The source code can be edited and recompiled if changes are documented and the original header remains.


  • 2000-word vocabulary in 27 grammatical and semantic categories
  • 10 parts of speech (nouns; subject, object and relative pronouns; possessive, regular, quantity and demonstratives adjectives; verbs and adverbs)
  • 13 predefined phrase structures, and a virtually infinite number of randomly generated or hand-chosen phrases and phrase structures
  • 6 noun classes; nouns, pronouns and adjectives agree based on person, number, noun class, and adjective stem
  • 12 verb tenses (infinitive, imperative, polite imperative, present, future, past, past perfect, future conditional, past conditional, subjunctive, conditional, habitual) and 5 Swahili verb endings (causative, passive, stative, prepositional, reciprocal) that depend on whether the verb is Arabic, monosyllabic, or ends in a double vowel
  • negative and interrogative sentences
  • built-in exceptions for certain words and classes or groups of words
  • 2 translation modes: English-Swahili or Swahili-English (or random)
  • 2 transformations: translation or compose (or random)
  • 2 question types: multiple choice, completion (or random)
  • marking of answers and scoring


  • Dictionary 
    • English comes before Swahili in the phrase vocabulary files, instead of after Swahili as it does in the grammar vocabulary files. This causes the Dictionary to have a mix of English and Swahili in the Terms list and complicates searching.
  • Grammar Quiz 
    • Occasionally two or more different options are correct but only one is accepted.
    • On very rare occasions two or more multiple choice options are identical.
    • Questions can be skipped without being answered and without incurring a penalty.
    • Accidentally pressing the spacebar twice might inadvertently answer the next question.
  • Grammar Machine 
    • Machine should show vocabulary in English if the target language is Swahili. (But dynamically changing the menus could be slow.)
    • Menus that only apply to the quiz should be made to apply or be hidden.
    • Improve algorithms for choosing random sentences, phrases and parts of speech.
    • Autocompose and autotranslate should work whenever any checkbox or menu is changed.
  • English language
    • #"if" should appear before the noun for conditional tenses, e.g. "If I go".
    • #Verb should appear before noun for questions with "to be", e.g., "Am I not?" or "Aren't I?"
    • "the" should not be used with certain quantity adjectives.
    • Short forms (I'd, couldn't, etc.) should be used only if/where appropriate, e.g. questions.
    • The -ed and -ing forms of some verbs do not correctly double the final consonant.
  • Swahili language
    • #Monosyllabic verbs include -ku- with li, na, me, ta, nge, ngali and relative pronouns but exclude -ku- for ku, ki, ka, hu, a, subjunctive, present negative, object infixes, and general relative pronoun at end of stem.
    • #Negative present tense Bantu verbs should end with -i, e.g. sijui.
    • Some possessives need contractions with people nouns, e.g. mwenzangu, babako.
  • Both languages
    • Intransitive verbs should not take objects.
    • Verbs that already have objects should not take another.
    • "peke yangu"/"by myself" etc. is incorrectly shown.
    • Some complex combinations of things do not work together well or correctly, e.g. relatives with tenses or objects; possessives with demonstratives.
    • Some verbs, adjectives, etc. should be used only for people; others only for things.


  • The program conception, design, development and testing process was very unsystematic, so the program needs to be restructured, particularly the object model, if the code is to be maintained and reused.
  • The program was created by a single author as a spare-time hobby and not a paid programming team.
  • The program author is not fluent in Swahili and the program has not been tested by a native speaker.
  • The program was created mainly to teach Swahili, so its coverage of English is not as thorough.
  • The program cannot understand the meanings of words, so many of the phrases it generates may be syntactically correct but semantically nonsensical (though often amusing!). 
  • All languages, even Swahili, come with many exceptions and idioms that cannot easily be directly translated, and encoding them all would take a very long time.
  • The sentence structures are relatively limited to one position per part of speech. Actual language has a far greater variation in word order and phrase structures.
  • The program is too strict in judging correct answers to completion questions, e.g. it should ignore case and extra whitespace; accept synonyms, alternative meanings, contractions and different word order, etc.
  • The array sizes for number of words in each grammar vocabulary file are hard-coded, so the program will need to be changed and recompiled if the files grow too large.

Future Features

  • more vocabulary
  • more vocabulary categories (time, weights and measures, household items, etc.)
  • more question types (true/false, matching, display)
  • more phrase structures and word orders
  • #more tenses (present simple, narrative, expedient, past continuous, pluperfect, incomplete past, general relative)
  • #more verb endings (conversive, static, contactive, inceptive, and combinations of existing ones)
  • #*more phrase transformations for monolingual learning instead of translation (decompose, change, add, remove)
  • #*mahali class, demonstratives of location (ku/pa/mu, ko/po/mo)
  • #ku class (verb->noun, e.g. kusafiri)
  • professions (verb->noun, e.g. mlinzi)
  • more relative structures
  • Swahili personal pronouns for any verb
  • nouns as objects and "of + noun" adjectives
  • more fine-grained choice of words, e.g. sort verbs into monosyllabic, Arabic and regular
  • more parts of speech: conjunctions, prepositions
  • non-personal possessives, e.g. the tree's leaves
  • an option to display dashes between Swahili parts of speech for clarity, e.g. ki-na-cho-baki
  • relatives with a noun should be able to switch subject and object
  • sort buttons to sort dictionary menus alphabetically
  • an option to use British instead of American spelling
  • adaptive testing (select questions based on the user's past performance)

Sources Consulted

  • English Grammar in Use, 2nd ed. Murphy, Raymond. Cambridge, 1984.
  • *Simplified Swahili. Wilson, Peter M. Longman, 1985.
  • Swahili Book for Intermediates. Swahili and Culture (KIU) Ltd., Dar es Salaam, 2001.
  • Teach Yourself Swahili. Russell, Joan. Hodder & Stoughton, 1996.
  • The Friendly Swahili/English Dictionary. Malaika, Baba. Kase Stores Ltd., 1994.
  • *Tourist's Guide to Swahili, Jambo Kenya.
  • Tuki English-Swahili Dictionary, 2nd ed. Institute of Kiswahili Research. University of Dar es Salaam, 2000.


Please send comments, corrections, suggestions, etc. to Greg Vogl <gregvogl at yahoo dot com>.