Andrew Freeman, PhD                                                                           14521 6th Ave NE

(206)225-0386                                                                                Shoreline, WA 98155


PROFESSIONAL SUMMARY: Software Engineer - Linguist


·         Commitment to continuous professional development.

·         Ability to learn new algorithms and implement them in almost any programming language.

·         A self-starter who will go the distance.


Computer Skills:

Programming Languages (partial list)

High Level Programming Languages: c++, Java, Perl, c, c#, Prolog, Lisp, javascript, python

Assembly Languages: Motorola 68000, 6502, Intel 8051, Intel 8085, Intel 8086, MicroChip 17c44

Applications   Information retrieval for cross-linguistic data (Arabic, Urdu, Chinese). Cross-compilers running in Unix and Windows for customized embedded systems.  SQL databases.

Net                  HTTP, css, Unicode standard, legacy character encodings

Languages      English, Modern Standard Arabic, Yemeni Colloquial Arabic, Moroccan Colloquial Arabic, some French and Hebrew


Employment history:

Oct 2008 – current.                 Mitre, Mclean, VA(via DSL line from Seattle, WA)

Part-Time On Call Artificial Intelligence Engineer:  I do various annotation, extraction, development and evaluation of corpora and software utilities for the processing of Natural Language texts with a heavy focus on Arabic and its dialects.



May 2006 – Sep 2008.                        Microsoft, Redmond, WA

Software Development Engineer:  Using c/c++ I maintained the existing code base and added new features for new versions of Windows Media Player on the Windows Mobile operating system running on Smartphones and Pocket PCs.  I am currently developing an API for accessing a SQL mobile database.



July 2004 – May 2006.                       Mitre, Mclean, VA(via DSL line from Seattle, WA)

Senior Artificial Intelligence Engineer:  I used Java, Perl and c to extract data from Arabic language texts, harvest data from the web and extract results from evaluating software by third party vendors. 

I was instrumental in tailoring a version of the Levenshtein edit-distance algorithm to match names represented in English with those names as represented in Arabic.  

I investigated machine-learning algorithms for learning the correspondences between all the variations in names cross-linguistically.  

I wrote a statistically based morphology analyzer for Arabic.



September 2005 – June 2006.                         University Prep Academy, Seattle, WA:

Part-time Instructor: Teach one section (20% appointment) of Java programming to high school students. 


September 2002 – June 2004              University of Washington, SeattleWA,:

Lecturer: Taught Modern Standard Arabic at all levels.   

University of Michigan, Ann ArborMI, September 1995 – August 2002

Graduate Student Researcher and Instructor:

I taught first-year Arabic for five semesters.

      I was funded to study dialectology in Yemen and Moroccan Arabic in Morocco.

      I did various bilingual typesetting for Arabic textbooks.

      I took 24 graduate-level units in Artificial Intelligence and Natural Language Processing.


Temp and part-time jobs while a Graduate Student Instructor & Researcher

May 2000 - June 2000                                    Transparent Language. Ann ArborMI:

Arabic Web-page consultant: Helped convert a paper-test to a web-based delivery using cgi and web forms for testing Arabic proficiency.     

June 2000 - August 2000.                   Professor San Duanmu, Linguistics Dept.

UofM, Ann ArborMI:

Temporary Programmer/CALL developer: Wrote c++ code using MFC classes to build a tool for helping students to identify and practice saying contrastive tones in Mandarin words.


June 1996 - September 1996               Automotion, Inc. , Ann ArborMI,:

Part-Time Firmware Engineer (Consultant): Wrote assembly code for the MicroChip 17c44 microcontroller to perform motion control for brushless electric motors.

Wrote the user interface command language and writing various low-level automatic servo-control loop functionality for position and velocity moves.


September 1995 – September 1999    Dr. Raji M. Rammuny of NES @ \U. of M

Arabic Desk-Top Publishing:  Typed in handwritten source written in Arabic and English.  I designed multilingual style-sheets for a professionally printed textbook.  I wrote c code to port formatted text from Ready-Set-Go into Nisus on the Mac.



September 1992 - June 1995               NetExpress , Inc., Foster CityCA,

Firmware Engineer, Member Technical Staff: Using 'c' and 680x0 assembly language wrote serial communications code and Public Switched Network controlling code that ran on an MTOS real-time kernel. All development was performed on a Sun workstation, using Unix. Designed, coded, unit tested, documented, wrote the test plan and performed the system integration for a global Call-Progress scheme that detected and generated every variety of Call Progress signal, including Special Information Tones.  Designed and implemented device drivers and interrupt service routines for serial communications devices.


August 1987 - September                   Cygnet Technologies (subsidiary of  Everex),

BerkeleyCA, 1992:

Firmware Engineer & QA manager: Using 8051 assembly language, and an in-circuit emulator, fixed bugs, designed, coded and tested new command set features for Hayes compatible smartmodems.  I Wrote device driver's for new modem device chip-sets.  I helped port and maintain the LAPM modem protocol and V.42bis data compression software. .


January 1987 – August 1987              San Francisco State University Foundation,

San Francisco, CA,  

Computer Programmer: While attending San Francisco State University full-time, wrote code in c and 8088 assembly language to control digital measuring equipment over an IEEE 488 bus and then gather, analyze and present data from chemical experiments involving RNA.


June 1986 – January 1987                   Telelearning, San Francisco, CA

Computer Programmer and Software QA: While attending San Francisco State University full-time, wrote code in 6502 assembly language for an Apple IIe to control the serial port and various modems for an online course delivery system.


August 1985 – September 1985         Pinpoint, Oakland, CA

Assembly Language Programmer: Wrote code in 6502 assembly language for an Apple IIe to control the serial port.


August 1984 – August 1985               Zenith Dist., Co., San Francisco, CA

Computer Operator: Operated a Vax 11/70.


March 1983 – August 1983                IBM. San Jose, CA,

Student Co-op/Computer Operator:  Helped keep a room full of IBM 370 mainframes busy.


November 1982 – March 1983           Ohlone Junior College, Fremont, CA,

Computer Lab Assistant:  Helped students with using the computers and helped them debug their 6502 assembly and Cobol programming assignments.


July 1982 – October 1982                   G.A. Smith and Co., Santa Clara, CA,

Part-time grave shift Computer Operator: Ran a computer room with two Burroughs 3700 mainframe computers.


March 1980 – September 1982           Hussman's Refrigeration Corp., Fremont, CA,

Warehouse Worker:  Hung grocery store shelves for the paint line.  Took grocery shelves off the paint line and placed them in boxes for shipping.


August 1979 – February 1980                        De Anza Trucking, San Leandro, CA,

Dock Worker:  Put boxes on the trucks and took boxes off the trucks.


September 1977 – December 1978     G.A. Smith and Co., Santa Clara, CA,

Computer Operator: Ran a computer room with two Burroughs 3700 mainframe computers.

August 1973 – August 1977               US Air Force

Computer Operator: Ran a computer room with a Burroughs 3500 mainframe computer.


December 1972 – June 1973               Red Star Industrial Laundry, Oakland, CA

Dock Worker:  Loaded clean shop towels and coveralls on the trucks.  Unloaded the dirty laundry from the trucks and counted it.

Professional Organizations

Linguistics Society of America

Association of Computational Linguistics

Association for Computing Machinery
Middle East Studies Association
American Institute for Yemeni Studies
Association Internationale de Dialectes Arabes


University of Washington, Seattle, WA:

Professional Masters in Computational Linguistics.  This is in progress. Expected date of Graduation: December 2009

Ohlone Junior College, Fremont, CA. 

AA degree in computer programming, June 1983

San Francisco State University, San Francisco, CA.

      BS degree in Computer Science (Hardware-Software interface), May 1987

University of Michigan, Ann Arbor, MI 

M.A. Near Eastern Studies (Arabic Linguistics), December 1996.

University of Michigan, Ann Arbor, MI

Ph.D. from Depts of Linguistics and Near Eastern Studies, August 2002.

Dissertation title: In Search of a Koinι in Sana'a

University of Washington Extension

1)      Certificate in Java 2 Programming, August, 2005

2)      Certificate in Internet Programming, November 2006