В 1969 году окончил механико-математический факультет Томского государственного университета по специальности «Вычислительная математика» и по распределению был оставлен на кафедре вычислительной математики в должности ассистента.
В 1970 г. перешел на кафедру программирования только что созданного факультета прикладной математики и кибернетики, на которой до настоящего времени и работает. В 1986 г. защитил кандидатскую диссертацию на тему "Разработка машинно-независимой СУБД на базе алгоритмического языка ЛЯПАС-М с приложением в океанографии" по специальности 05.13.16 – "Применение вычислительной техники и математических методов в научных исследованиях (по отраслям наук)". В период с 1989 по 1995 гг. занимал должность заведующего кафедрой.
Учебная работа
Читал или читает общие и специальные курсы:
- Информатика-1,
- Информатика-2,
- Объектно-ориентированное программирование,
- Архитектура компьютеров,
- Вычислительные сети,
- Операционные системы,
- Базы данных,
- Интеллектуальные информационные системы,
- Современные компьютерные технологии,
- Нейронные сети,
- Информационные технологии в экономике,
- Офисное прикладное программирование.
По большинству из этих курсов проводил практические и лабораторные занятия.
Только за последние пять лет осуществил руководство около 40 курсовыми, бакалаврскими и магистерскими работами.
Методическая работа
В рамках СДО «Электронный университет – Moodle» опубликовано пять курсов лекций общим объемом около 600 стр.