Functional Object Oriented Programming
Functional Object Oriented Programming, or FOOP, is one of Gunn's computer science classes. It is typically taken after AP Computer Science Principles and before AP Computer Science A.
Department | CTE |
---|---|
Length | Year |
Credit type | Weighted |
Teacher(s) | Mr. Kaneko |
Course catalog description
This project-based course introduces the student to the functional and object-oriented programming paradigms. It includes concepts such as functions, conditionals, data abstraction, recursion, lambda, higher-order functions, lists, loops, arrays, interfaces, inheritance, and polymorphism. Some projects throughout the year will consist of creating small games, simulating real-world processes, taking apart a computer, and producing graphically interesting programs (such as Conway’s Game of Life) in which almost all of these big ideas are needed.
• Prior Recommended Courses: Completion Geometry A (or higher), Algebra 2 (or higher), or concurrent enrollment or completion of Geometry H (or higher)
• Homework Expectation: 1-1.5 hours per week
• This is a college prep course
Topics
In the first semester of this course, students learn the functional language Simply Scheme, a version of Scheme, a dialect of Lisp. Although many students with prior experience programming in languages such as Python and Java lament the unconventional nature of this language, is is an important part of the course.
In the second semester, students learn Java, an object-oriented language.
Should I take this course?
This course is technically a prerequisite for AP CS A, though students may choose to do summer homework and directly enroll in AP CS A instead.
Similar to AP CS A, the actual homework load is very small despite what the course catalog says