Faits: Faits: A. X._ s'est inscrite à la Faculté de droit et des sciences économiques de l'Université de Neuchâtel (ci-après cité: l'Université) en octobre 1998. En juin-juillet 2000, elle s'est présentée pour la quatrième fois à sa première série d'examens, après l'annulation, sur recours, des examens qu'elle avait passés lors de la session du mois de février 2000 (décision du 3 mai 2000 du Rectorat de l'Université de Neuchâtel). Elle a obtenu les notes suivantes: introduction au droit 4.5 droit romain 4.5 droit des personnes et de la famille 5.5 institutions européennes 5 introduction à l'économie politique 2 L'Université lui a communiqué ces résultats le 21 juillet 2000, en lui signifiant qu'elle était en situation d'échec définitif. L'Université lui a communiqué ces résultats le 21 juillet 2000, en lui signifiant qu'elle était en situation d'échec définitif. B. X._ a recouru contre cette décision, en demandant que la note de l'examen d'introduction à l'économie politique soit relevée d'un demi-point pour tenir compte de ce qu'elle se trouvait en série éliminatoire. Elle indiquait par ailleurs que le travail pratique que comportait cet examen ne correspondait pas aux cours qu'elle avait suivis en 1998-1999, mais à ceux dispensés en 1999-2000, qu'elle n'avait pas fréquentés. Elle précisait que cette erreur résultait d'une inadvertance qu'elle avait commise lors de son inscription aux examens. Enfin, au cas où son recours ne serait pas admis, elle demandait à pouvoir repasser l'examen d'introduction à l'économie politique. Par décision du 31 août 2000, le Rectorat de l'Université a rejeté le recours, au motif que l'intéressée n'avait aucun droit à obtenir la réévaluation de ses notes et qu'elle n'avait pas établi en quoi l'enseignement dispensé au cours d'introduction à l'économie politique différait de la matière d'examen sur laquelle elle avait été interrogée. Cette décision a été confirmée, sur recours de X._, par le Département neuchâtelois de l'instruction publique et des affaires culturelles (décision du 12 février 2001). A son tour saisi d'un recours, le Tribunal administratif du canton de Neuchâtel (ci-après: le Tribunal administratif) l'a rejeté par arrêt du 29 novembre 2001. A son tour saisi d'un recours, le Tribunal administratif du canton de Neuchâtel (ci-après: le Tribunal administratif) l'a rejeté par arrêt du 29 novembre 2001. C. Agissant par la voie du recours de droit public, X._ conclut, sous suite de frais et dépens, à l'annulation de l'arrêt précité du Tribunal administratif et au renvoi de la cause à cette autorité pour nouvelle décision au sens des considérants. Elle invoque la violation des principes de l'interdiction de l'arbitraire, de l'égalité de traitement, de la bonne foi et du droit d'être entendu, tel qu'il découle de l'art. 29 Cst. En outre, elle requiert le bénéfice de l'assistance judiciaire totale. Le Tribunal administratif se réfère aux considérants de son arrêt. Quant au Rectorat de l'Université de Neuchâtel, il renonce à présenter des observations, en précisant qu'il s'en tient à sa décision du 31 août 2000. 