Mr. Smallberg is a consultant in computer science, specializing in software systems and programming, and a Lecturer in the Computer Science Department at the University of California , Los Angeles . He obtained an M.S. degree in Computer Science at the University of California , Los Angeles (UCLA), and a B.S. degree in Mathematics at the California Institute of Technology, where he graduated with honors.
His major areas of expertise include software design, implementation, and testing in major programming languages in both Unix and Windows environments, and various applications and Internet and communications environments. He has developed and taught introductory and advanced courses in C++, C, Windows SDK, Visual Basic, Pascal, introductions to UNIX for both programmers and non-programmers, C/UNIX system interface, advanced UNIX programming tools, operating systems, compiler construction, Bourne and Korn shell programming, assembly language programming, and software internationalization. He has assisted various clients with the design and implementation of software tools and systems. He has conducted software comparisons in copyright and intellectual property litigation cases, and developed software tools for software similarity detection.
He has been a consultant since 1983. He was a Teaching Fellow at UCLA from 1976-1985 and resumed teaching various courses as a Lecturer in 2001. He was Programmer at the California Institute of Technology in 1973-75 where he designed and implemented student database management programs and controlled computer-assisted course scheduling.
Clients have included Microsoft, IBM, Xerox, Hewlett-Packard, Sun Microsystems, Tandem, Data General, Qualcomm, Vodaphone, Telcordia, Rockwell Automation, Lexis-Nexis, Barclays Capital, NASDAQ, General Motors, TRW, Mitre, NCR, Hyperion, Intrusion.com, Air Products and Chemicals, Caltech, the Internal Revenue Service, Citicorp TTI, Investor Technology Group, and United Parcel Service.
He co-authored the internationalization text Creating Worldwide Software, Prentice Hall, 1997, and Programming a Floating-Point Signal Processor, Pascal Research Institute, 1985. He captained and coached programming teams that placed second, second, fifth, and seventh internationally at four ACM Programming Competitions, and coached programming teams that placed first, seventh, eighth, and eighth internationally at four ACM Programming Competitions. He received a Xerox Excellence Award, 1992; a UCLA campus-wide award for outstanding teaching, 1986; and a UCLA Computer Science Department Distinguished Service Award, 1985.