Recent ProfessorsNot yet assignedRecent SemestersNo scheduled sections on recordClass SizeNot publishedCredits4PrerequisiteMATH 066 or MATH 071 with C or better Transfers ToNot transferableDescriptionThis course covers the elements of the functional, object-oriented, and declarative programming paradigms. Topics include procedural abstraction; control abstraction using recursion, higher order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. Students will complete several significant programming projects using Python. The central idea in this course is the management of program complexity through abstraction.