Gabriel J. Ferrer: Home Page
Home
Teaching
Current Courses
Teaching History
Research
Research Statement
Publications
Contact Info
Other Pages
Useful Links
Other Interests
Research Statement
My research activity falls into two broad categories:
Robotics and Artificial Intelligence
: The central research question I have explored in robotics is: “How can robots be made easier to program?” To that end, I study varying approaches to machine learning, subsumptive control, and AI planning. I employ inexpensive robots, so studying approaches that are practical on such platforms is an essential aspect of my robotics research. I am also strongly interested in robotics education.
Computer Science Education
: My educational research goals include teaching students how to write reliable software and building software tools to assist student learning:
Pluggable Interrupt OS
: The Pluggable Interrupt OS enables students to quickly and easily build bare-metal kernels using the
Rust
programming language. I employ this tool in my
Operating Systems
course.
Grambler
: Grambler is a parser generator that uses the Earley algorithm. I find most parser generators require excessive effort to explain to students. For student projects, clarity and ease of use are more important than parsing efficiency. Building a parser generator on the Earley algorithm enables it to accept all context-free grammars, greatly easing the teaching of parsing.
Boundalyzer
: Boundalyzer is a software modeling and specification tool I developed when teaching the Black Box concept from
Cleanroom Software Engineering
. It enables students to write specifications of the boundary between a software artifact and its environment. It will automatically check these specifications for completeness and consistency, reporting any problems to the student.