Родился 12 апреля 1946 года в г. п. Брагин Гомельской области.
В 1965 году окончил Могилевский машиностроительный техникум, а в 1970 году — математический факультет Белорусского государственного университета. После окончания в 1976 году аспирантуры в Институте технической кибернетики работал на механико-математическом факультете БГУ ассистентом, старшим преподавателем, доцентом, профессором.
Научные интересы: математическая кибернетика, теория графов, обучение дискретной математике в средней и высшей школах.
Автор более 200 публикаций, среди которых свыше 20 научных, научно-популярных книг, пособий для школьников и студентов. Отдельные книги переведены на английский и испанский языки и изданы за границей.
Кандидат физико-математических наук (1977), доктор педагогических наук (2006), лауреат Государственной премии Республики Беларусь в области науки (1998).