Родился 7 августа 1950 года в городе Богородицке Тульской области. В 1972 году окончил механико-математический факультет Московского государственного университета им. М. В. Ломоносова (МГУ), специальность — математик. Окончил аспирантуру механико-математического факультета. Был секретарем парткома мехмата. В 70-е — 80 е годы занимал ответственные посты в приемной комиссии для абитуриентов на вступительных экзаменах в МГУ; в это время, как утверждается, в МГУ существовала негласная практика ограничения приема евреев на мехмат. С 1986 по 1988 год — председатель объединенного профсоюзного комитета МГУ. С 1988 по 1991 год — секретарь парткома МГУ. Начиная с 1991 года принимал участие в создании и становлении Коммунистической партии Российской Федерации (КПРФ), с 1995 года — секретарь ЦК КПРФ, с 1997 года — заместитель председателя ЦК КПРФ (по идеологии). С 2004 г. — первый заместитель председателя ЦК КПРФ.
В 1995 году избран депутатом Государственной Думы второго созыва по списку КПРФ. В 1999 году избран депутатом Государственной Думы третьего созыва. До сентября 2002 года входил в состав коллегии Министерства образования РФ.
В 2002 году по инициативе центристских фракций снят с поста председателя комитета Государственной Думы по образованию и науке. 7 декабря 2003 года избран депутатом Государственной Думы четвертого созыва. Вошел в состав фракции КПРФ.
С 2007 года — депутат Государственнной думы России пятого созыва, возглавлял избирательный список КПРФ по городу Москве. С 24 декабря 2007 года — заместитель председателя Государственной думы.
Имеет ученую степень кандидата физико-математических наук и доктора педагогических наук. Награжден орденом "Знак Почета" и знаком "Отличник народного просвещения". Профессор механико-математического факультета МГУ, заведует кабинетом методики преподавания математики Московского университета. В 1997—1999 гг. был председателем Комиссии по науке и технологиям Парламентской ассамблеи Совета Европы.