CS 291A: Bionic Vision

What would the world look like with a bionic eye?

This graduate course will introduce students to the multidisciplinary field of bionic vision, with an emphasis on both the computer science and neuroscience of the field.

The course will conclude with a programming project (teams of ≤ 3, any language/environment ok) in lieu of a final exam, giving students an opportunity to gain hands-on experience of working on open research problems using methods and tools best suited to their scientific background.

Instructor Michael Beyeler (first initial last name at ucsb dot edu)
Class FQ 2021, Tue/Thu 9:00 – 10:50 am, Location TBD
Office Hours TBD

Table of Contents

Course Objectives

The course will give an overview of current bionic eye technology designed to restore vision to people living with incurable blindness. By the end of the course, you should be able to:

  • Identify various types of bionic eye technologies, their differences and similarities
  • Have a basic understanding of the neuroscience of the human visual system
  • Be familiar with common preprocessing, encoding, and electrical stimulation methods
  • Understand the limitations of current bionic eye technologies
  • Have hands-on experience of working on open problems in the field

The course is targeted to a diverse audience spanning from computer science (human factors, neural networks, computer vision) to psychology (vision, psychophysics) and brain sciences (computational neuroscience, neuroengineering).


  • There are no official prerequisites for this course. The instructor will do his best to make the course content self-contained.
  • However, homeworks and final projects will require programming. Homeworks will be based around pulse2percept, a Python-based simulation framework for bionic vision. Any programming language/framework is ok for the final project.



Course Requirements & Grading


Lateness Policy


Final Project

In lieu of a final exam, students will conduct a programming project (team size ≤ 3). The goal of the project is to gain hands-on experience working on open research questions in bionic vision using tools and methods best suited to their scientific background.

All projects must address a research question and have a programming component. Students are free to use any programming language and development environment they choose. Building a project based on pulse2percept is encouraged (especially for students with relatively little programming experience) but is by no means required. Reproducing key research findings in the literature is allowed. No pure literature reviews, please.

Projects that show promise of turning into a publication will receive extra credit.

Students will present their project to the rest of the class during finals week. In addition, students will submit a write-up of their project and hand in their source code (see Milestones).

The project will be evaluated based on the:

  • originality/novelty of the idea
  • technical strength of the work (emphasis on the research, not the programming expertise)
  • organization, clarity, and style of the project report
  • effort and completeness of the work (normalized by the number of team members)

Project Milestones

Date Time Deliverable due
TBD 9:00 am Students start forming teams and discussing project ideas in class.
TBD 9:00 am Teams present their project ideas in class.
TBD 11:59 pm Teams submit a project title and 2-3 sentence project description.
TBD 9:00 am Teams present their project progress in class.
TBD 11:59 pm Teams hand in their final project report and all source code.
TBD Teams make their final project presentations in class.

Students are encouraged to discuss ideas with the instructors, so that feedback can be incorporated early in the process.

Late days cannot be used on these project deadlines.

Project Presentation


Project Report

Each team will also submit a write-up of their project.

Don’t forget to submit your source code.

Academic Integrity

The University of California has formal policies related to academic integrity.

Any act of academic dishonesty, such as cheating or plagiarism, will result in a University disciplinary action and an “F” in this course. In addition to academic integrity, I also expect everyone in this class to treat their fellow students and course staff with respect.

Basic Needs

If you are facing any challenges securing food or housing and believe this may affect your performance in the class, you are urged to meet with a Food Security and Calfresh Advocate who is aware of the broad variety of resources that UCSB has to offer (see their drop-in hours at food.ucsb.edu). You are also urged to contact the professor if you are comfortable doing so.

Please visit food.ucsb.edu for additional resources including Calfresh, the AS Food Bank, and more.