My Publications Me A book I coauthored Professional activities My patents Recent projects Education View my C.V. IBM Research

Men, get your PSA checked yearly; click here to learn more

Hi! I'm a computer scientist (official IBM title: Senior Software Engineer) at IBM's T.J. Watson Research Center.

I've been at Watson since 1987. My work has been in the areas of instructional technology, object-oriented programming and design, multimedia, and human-computer interaction and usability.

With regard to software development, since I've been at IBM just about all of the development I've done has been in object-oriented  languages -- Smalltalk and Java.
Many of these projects have involved multimedia in some form.
Before joining IBM, I consulted for banks on Wall Street as well as other clients.

I can be reached by email at:
salpert [at] (change the "[at]" to "@" if you're not sending me spam).

You can view my C.V. here.

smalltalk patterns book In 1998, I published this book.

The Design Patterns Smalltalk Companion,
Alpert, S.R., Brown, K., & Woolf, B.  
Addison-Wesley (Software Patterns Series).

It's a follow-on to Design Patterns: Elements of Reusable Object-Oriented Software, by Gamma, Helm, Johnson, & Vlissides, but in our book the patterns are further explained and elaborated and are viewed through Smalltalk glasses. 

Rated 5 stars on Amazon  It's been rated 5 stars (yes, out of five ;-) on Amazon.
(<subliminal message warning!> click here to buy this book, buy this book,
buy this book, buy this book </subliminal message warning!>)


B.S. in Computer Science (State University of New York at Stony Brook, 1974)
M.A. in Computing in Education (Columbia University Teachers College, 1987)
Stalled out at about ¾ of a Doctorate at Columbia :-) 

Some of my projects: (See the publications section below for papers regarding these)

A recent project of mine is a Web-based system for emergent readers that incorporates speech output to "read" to students and speech recognition to "listen" to students read aloud. The tutor provides scaffolding in the form of reading to the student words, phrases, and sentences from an e-book; the amount of scaffolding provided changes dynamically based on student performance. The tutor asks the student to read words, phrases, or sentences from the book as well, providing support for the reading task when necessary. Using speech recognition, the application determines whether the student reads each word correctly. The system also includes an intelligent diagnostic component, modeling and tracking student reading skills and knowledge and problems thereof in terms of reading/pronunciation heuristics underlying fluent reading. Also built the HTML/JavaScript based administrative pages and backend database for managing classes, students, e-books, book ratings, etc.

Another recent project is an enhanced concept map tool named Webster. A concept map is a graphical tool for representing and communicating knowledge of a domain. Nodes in a Webster concept (or, knowledge) map may represent text-based concepts or links to computational media of any sort, including multimedia (animations, audio, video) and external documents (spreadsheets, slide presentations, text documents). Webster is Web-based: it's accessible from the Web and incorporates nodes that act as hyperlinks out to Web pages. Webster concept maps may also include multiple levels of abstraction.

A previous project was an intelligent tutoring system for elementary algebraic equation solving, using a rule-based expert system/cognitive simulation of an expert problem solver to trace student problem solving attempts (and judge them to be correct or not) and offer advice and remediation. We started with a standalone Smalltalk version of the tutor and evolved the system into a Web-enabled Java/Smalltalk client/server solution: the bulk of the tutor lives in a (server-ized) Smalltalk app while users interact with a Java-applet client in a standard Web browser. This system is described in a paper, Deploying Intelligent Tutors on the Web: An Architecture and an Example , in the Int'l Journal of AI in Education (see pubs below).

Visual timeline based digital video/film/audio editor: the IBM Digital Editing and Effects (EFX) editing and special effects environment.

Intelligent Tutoring System for Smalltalk programming, including multi-modal demonstrations for help in accomplishing tasks in the interface: animated persona (advisors) along with "interface animation" (animation of interface widgets—mouse, buttons, menus, etc.—as if a user were controlling them) accompanied by synchronized audio voice-overs.

Grace (Graphical Constraint Editor) drawing editor incorporating graphical constraints and investigating visual mechanisms for creating and querying such constraints, including a programming-by-demonstration facility, as well as a natural language explanation facility. (More about Grace)

Usability studies regarding online search and personalization of Web sites. Constructed interactive prototypes of personalized eCommerce site and performed usability testing of the site with real-world users. Built online search query tool to allow users to specify their own opinions regarding the relevancy of search hits and to compare to search engine's relevancy rankings.

Raison d’Être: Multimedia project-history application allowing users to explore the evolution of a software project and its design rationale by viewing digitized video of designers at different stages of the project. Querying the database of video clips is performed via an iconic query interface.

Expert system (production system) compile- and run-time environment that allows rules to access objects in any Smalltalk application in addition to working memory elements (WMEs) defined in the rule-based environment; in addition to modifying WMEs and objects, production rule actions may cause playback of multimedia; rulesets organized hierarchically with inheritance of rules and WME type definitions.

Video jukebox allowing users to search for and preview music CDs and associated videos prior to purchase (demo for major video rental chain).

Professional activities:

Advisory Board, Educational Technology & Society
Editorial Board, Journal of Educational Multimedia and Hypermedia
Editorial Board, Multimedia Tools and Applications
Editorial Board, Int'l Journal of Web-Based Communities
Specialist Reviewer, International Journal of Artificial Intelligence in Education
Paper Reviewer, IEEE MultiMedia; Communications of the ACM; IBM Systems Journal

Co-Chair, AIED 2005 Workshop on Student Modeling for Language Tutors (In The 12th International Conference on Artificial Intelligence in Education)
Research Papers Chair, Agile Development Conference 2004
Tutorials Chair, OOPSLA 2002 - ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications
Communications Chair, OOPSLA 2000
Program Committee, CMC 2006: The 2nd International Conference on Concept Mapping
Program Committee, ICALT 2006, 2005, International Conference on Advanced Learning Technologies
Program Committee, ED-MEDIA 2006, 2005, 2004, World Conference on Education Multimedia, Hypermedia & Telecommunications
Program Committee, Agile 2005 (Merger of the Agile Development Conference and the XP/Agile Universe conference)
Program Committee, Agile Development Conference, 2003
Program Committee, International Conference on WWW/Internet 2005, 2004
Program Committee, EuroIMSA 2005, 2004, International Conference on Internet and Multimedia Systems and Applications
Program Committee, ICME 2002, 2001, 2000, IEEE International Conference on Multimedia and Expo
Program Committee, IEEE Int'l Conference on Multimedia Computing and Systems, 1999
Paper Reviewer, ACM CHI (Conference on Human Factors in Computing Systems) 2006, 2005, 2004


Alpert, S.R., Brown, K., & Woolf, B. (1998). The Design Patterns Smalltalk Companion, Addison-Wesley.

Alpert, S.R. (2005). Computer-Based Concept Mapping. In C. Ghaoui (Ed.), Encyclopedia of Human Computer Interaction. Hershey, PA: Idea Group.

Alpert, S.R. (2005). Comprehensive Mapping of Knowledge and Information Resources: The Case of Webster, In Tergan, S.-O. & Keller, T. (Eds.), Knowledge and information visualization: searching for synergies. (pp. 208-225). Heidelberg: Springer-Verlag. Invited Chapter.

Patil, S., Alpert, S.R., Karat, J., & Wolf, C.G. (2005). THAT’s What I was Looking for: Comparing User-Rated Relevance with Search Engine Rankings, In M.F. Costabile and F. Paternò (Eds.), Proceedings of INTERACT 2005, International Conference on Human-Computer Interaction (pp. 117 – 129).

Alpert, S.R. (2004). Flexibility of Expressiveness in Concept Maps: State of the Practice, In P. Kommers (Ed.), Cognitive Support for Learning (pp. 220-237). IOS Press. Invited Chapter.

C. G. Wolf, S. R. Alpert, J. G. Vergo, L. Kozakov, and Y. Doganata (2004). Summarizing technical support documents for search: Expert and user studies, IBM Systems Journal, 43(3), Also at

Alpert, et al. (2003). User Attitudes Regarding a User-Adaptive eCommerce Web Site. User Modeling and User Adapted Interaction, 13 (4), 373-396. (pre-print version)

Alpert, S.R. (2003). Getting Organized: Some outstanding questions and issues regarding interaction design patterns. ACM CHI 2003 Workshop “Perspectives on HCI Patterns: Concepts and Tools”

Alpert, S.R. (2003). Abstraction in Concept Map and Coupled Outline Knowledge Representations. Journal of Interactive Learning Research, 14(1), 31-49. Abstract.

Alpert, S.R. & Grueneberg, K. (2001). Multimedia in Concept Maps: A Design Rationale and Web-Based Application. In Proceedings of Ed-Media 2001: World Conference on Educational Multimedia, Hypermedia and Telecommunications.

Alpert, S.R. & Grueneberg, K. (2000). Concept Mapping with Multimedia on the Web. Journal of Educational Multimedia and Hypermedia, 9(4), 313-330.

Alpert, S.R. (2000). Primitive Types Considered Harmful, In D. Deugo (Ed.), More Java Gems  (pp. 435-454). Cambridge University Press.
    Originally appeared in Java Report, 1998, 3(11), 49-65.

Alpert, Singley, & Fairweather (2000). A Web-Based Intelligent Tutor for Elementary Algebra Equation Solving, In Proceedings of “Learning Algebra with the Computer, A Transdisciplinary Workshop,” ITS 2000: Fifth International Conference on Intelligent Tutoring Systems. PowerPoint presentation associated with this paper.

Alpert, Singley, & Fairweather (2000). Porting a Standalone Intelligent Tutoring System to the Web, Proceedings of  the Workshop on Adaptive and Intelligent Web-Based Education Systems, ITS 2000: Fifth International Conference on Intelligent Tutoring Systems. PowerPoint presentation.

Alpert, S.R. (2000). Sharing Screen Space Among Multiple Application Contexts, or "Real Estate is Expensive," In Proceedings of CHI 2000 Workshop on Pattern Languages for Interaction Design.

Alpert, S.R., Singley, M.K., & Fairweather, P.G. (1999). Deploying Intelligent Tutors on the Web: An Architecture and an Example, International Journal of Artificial Intelligence in Education, 10(2), 183-197.

Alpert, S.R., Singley, M.K., & Carroll, J.M. (1999). Multiple Instructional Agents in an Intelligent Tutoring System, In Proceedings of the Workshop on Animated and Personified Pedagogical Agents, AI-ED’99: 9th International Conference on Artificial Intelligence in Education, July, 1999, Le Mans, France. PDF of the paper. Presentation.

Alpert, S.R. & Lam, R.B. (1997). The ultimately publishable computer science paper for the latter '90s: A tip for authors. (Satirical Piece). Communications of the ACM, 40(1), 94.

Alpert, S.R., Singley, M.K., & Carroll, J.M. (1995). Multiple multimodal mentors: Delivering computer-based instruction via specialized anthropomorphic advisors, Behaviour and Information Technology, 14(2), 69-79. 

Alpert, S.R., Laff, M.R., Koons, W.R., Epstein, D.A., Soroker, D., Morrill, D.C., & Stein, A.J. (1995). The EFX editing and effects environment, IEEE MultiMedia, 3(1), 15-29.

Alpert, S.R. (1993). Graceful interaction with graphical constraints, IEEE Computer Graphics & Applications, 13(2), 82-91. Here's more about Grace and a link to this paper.

Alpert, S.R., & Rosson, M.B. (1992). ParCE: An object-oriented approach to context-free parsing. Computer Systems: Science and Engineering, 7(2), 136-144.

Alpert, S.R. (1991). Self-Describing Animated Icons for Human-Computer Interaction, Behaviour and Information Technology, 10(2), 149-152.

Alpert, S.R., Woyak, S.W., Shrobe, H.J., & Arrowood, L.F. (1990). Guest Editors' Introduction: Object-Oriented Programming in AI, IEEE Expert, 5(6), 6-7.

Carroll, J.M., Singer, J.A., Bellamy, R.K.E., & Alpert, S.R. (1990).  A View Matcher for Learning Smalltalk.  In J.C. Chew & J. Whiteside (Eds.), Proceedings of CHI'90: Conference on Human Factors in Computing Systems, NY: ACM, pp. 431-437.

Carroll, J.M., Alpert, S.R., Karat, J., Van Deusen, M.S., & Rosson, M.B. (1994).  Raison d'Etre: Capturing design history and rationale in multimedia narratives.  In Proceedings of CHI'94: Conference on Human Factors in Computing Systems, NY: ACM, pp. 192-197, 478 .

Rosson, M.B. & Alpert, S.R. (1990). The Cognitive Consequences of Object-Oriented Design, Human-Computer Interaction, 5(4), 345-379.

Robertson, S.P., Carroll, J.M, Mack, R., Rosson, M.B, Alpert, S.R., & Koenemann-Belliveau, J. (1994). ODE: The Object Design Exploratorium, In Proceedings of OOPSLA'94, NY: ACM, pp. 51-64.

Singley, M.K., Carroll, J.M., & Alpert, S.R. (1993). Incidental reification of goals in an intelligent tutor for Smalltalk. In E. Lemut, B. du Boulay, & G. Dettori (Eds.), Cognitive Models and Intelligent Environments for Learning Programming (pp. 145-155). Berlin: Springer-Verlag.

Singley, M.K., Carroll, J.M., & Alpert, S.R. (1991). Psychological design rationale for an intelligent tutoring system for Smalltalk. In J. Koenemann-Beliveau, T.G. Moher, and S.P. Robertson (Eds.), Empirical Studies of Programmers (pp. 196-209). Norwood, NJ: Ablex.


Alpert, SR, Cooper, JW, Fairweather, PG, & Lam, RB. System and Method for Taggable Digital Portfolio Creation and Report Generation. Issued July, 2000.

Alpert, SR & Zhai, S. System and method for selection of vehicular sideview mirrors via eye gaze. Issued June, 2002.

Alpert, SR. System And Method For Converting Node-And-Link Knowledge Representations To Outline Format, Issued June 14, 2005.

[Several others have been filed at the US Patent Office and are pending approval.]

So how experienced are you?
Some time ago, I was thinking about all the programming languages I've used over the years and I think I've come up with an "experience" metric of sorts:
programming experience should be measured by how many ways you know how to say "not equal" in the languages you've used in your career :-) 
Here's a list of how to "say" not equal in some of the languages I've used:

¬= Algol-68 and others. When I used Algol (and several other similar languages) on Burroughs machines in the 70s and 80s, not-equal looked like this; apparently Algol now uses "!=" because typical keyboards no longer have the "¬" character
!=Java and many others
<>Visual Basic and others
neq or ne Various languages
(not (= ...))
(not (eq ...))
(not (eql ...))
(not (equal ...))
yadda yadda yadda