Hal Fulton has two degrees in computer science. He has taught at the community college level and also has more than a decade of industry experience as a programmer. He is a member of the ACM and the IEEE Computer Society.