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 viewed through the lens of computer science, neuroscience, and human-computer interaction.

The course will conclude with a programming project (teams of ≤ 4, 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 F21, Tue/Thu 9:00 – 10:50 am, Phelps 3526
Office Hours Tue 2–4 pm Zoom (schedule a meeting)
  • 2021-10-09: Switched order of mid-quarter content
  • 2021-09-27: Updated office hours and assigned reading for Week 1
  • 2021-09-15: Posted initial schedule

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
  • explain how the retina and visual cortex support our sense of seeing
  • apply common computer vision & machine learning techniques for stimulus encoding
  • give a nuanced review of the HCI & ethics issues associated with implantable neurotechnology
  • demonstrate your hands-on experience of working on open problems in the field

The course is targeted to a diverse audience spanning computer science (computer vision, human factors, deep learning) 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, including a crash course in neuroscience & computational vision.
  • However, homeworks and final projects will require programming. Homeworks will be based around pulse2percept, a Python-based simulation framework for bionic vision. Any suitable programming language/framework is ok for the final project.


  • Will classes be in person? Yes, and you are strongly encouraged to attend.
  • What about office hours? I will offer both in-person and virtual office hours.
  • Do instructors and students need to wear a mask in class? Yes. There will be no exceptions to this policy. Sure, it’ll be a little weird at first, but I’m sure we’ll all adjust pretty quickly.
  • What if I can’t make a lecture? Send me a quick email before the lecture. You don’t need a reason for your first 3 absences. I will do my best to record the lectures and upload them to GauchoCast for those who cannot make a lecture, but I am unable to make any remote accommodations beyond that.
  • What if I’m sick or need to quarantine or isolate? Now more important than ever, do not come in if you feel under the weather. Email me, then follow UCSB testing & quarantine protocol.
  • What if the instructor needs to quarantine? In this case we will temporarily shift to remote instruction.
  • What if my question isn’t answered here? I’m happy to answer your question via email.


Note: This schedule is subject to slight change over the course of the quarter.

Wk Date Reading Topics Action HWout HWdue Quiz
0 Thu Sep 23 R1
1 Tue Sep 28 R2, R3 HW1
Thu Sep 30 Quiz 1 (Q1) due by Sun, Oct 3, 11:59 pm. A1 Q1
2 Tue Oct 5 R4 Guest lecture by Aiwen Xu
Thu Oct 7 R5 Homework 1 (HW1) due by Sun, Oct 10, 11:59 pm. HW1
3 Tue Oct 12 R6
Thu Oct 14 R7 Quiz 2 (Q2) due by Sun, Oct 17, 11:59 pm. A2, A3 HW2 Q2
4 Tue Oct 19 R8
Thu Oct 21 R9 Homework 2 (HW2) due by Sun, Oct 24, 11:59 pm. HW2
5 Tue Oct 26 R10, R11 A4
Thu Oct 28 A4: Project Progress Presentations
Team & project description (TPD) due by Sun, Oct 31, 11:59 pm.
6 Tue Nov 2 R12
Thu Nov 4 R13 Quiz 3 (Q3) due by Sun, Nov 7, 11:59 pm. A6 Q3
7 Tue Nov 9 R14, R15
Thu Nov 11 Veterans' Day
8 Tue Nov 16 R16, R17
Thu Nov 18 A7: Guest Visit by Jason Esterhuizen, ORION implantee
Quiz 4 (Q4) due by Sun, Nov 21, 11:59 pm.
A7 Q4
9 Tue Nov 23 A8: Project Progress Presentations A8
Thu Nov 25 Thanksgiving Day
10 Tue Nov 30
Thu Dec 2 Project report (PR) & source code (SC) due Sun, Dec 5, 11:59 pm. A9 PR&SC
11 Tue Dec 7 A10: Final Project Presentations A10

Course Requirements & Grading

Your final grade will be determined as follows:

  • 20% Homework assignments:
    • 10% Homework 1
    • 10% Homework 2
  • 30% “Check Your Knowledge” quizzes
    • 10% per quiz
    • Lowest-scoring quiz will be dropped
  • 50% Final project implementation, documentation, and presentation
    • 5% Project proposal presentation (1 slide)
    • 5% Project progress presentation (2 slides: what have you done, what’s left to do)
    • 20% Project final presentation
    • 20% Project final report
    • (+5% extra credit if project shows promise of turning into a publication)

Lateness Policy

All assignments are due at 11:59:59 pm on the scheduled due date, typically a Sunday (timestamp of the online submission system).

  • Each student will be allowed 3 “late days” over the course of the quarter for which lateness will not be penalized. Late days cannot be applied to project deadlines. Late days may be applied to the quizzes and homework assignments: Anything turned in between 12:00:00 am and 11:59:59 pm the next day is one day late; every day thereafter that an assignment is late, including weekends and holidays, counts as an additional late day.
  • No late work will be accepted after the deadline if you have used up all your late days. If you’re not done on time, you should turn in what you have to receive partial credit.
  • No exceptions will be made for the final project report.

Please make sure you understand this policy.

“Check Your Knowledge” Quizzes

We will have 4 GauchoSpace quizzes over the quarter that test your theoretical/conceptual knowledge of the course content (this includes lectures and assigned reading materials).

The following rules apply:

  • Quizzes must be completed by Sunday 11:59 pm of the respective week (lateness policy applies)
  • You have 30 mins per attempt
  • A quiz can be taken twice. If you decide to take the quiz again, only your second attempt will be counted (that is, the score from your first attempt will be dropped, this is called “grading method: last attempt” on GauchoSpace)
  • At the end of the quarter, the lowest-scoring quiz will be dropped. (Each of the 3 highest-scoring quizzes will thus account for 10% of your grade)

Final Project

In lieu of a final exam, students will conduct a programming project (team size ≤ 4). 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
Thu, Oct 14 9:00 am Students start forming teams and discussing project ideas in class.
Thu, Oct 28 9:00 am Teams present their project ideas in class.
Sun, Oct 31 11:59 pm Teams submit a project title and 2-3 sentence project description.
Tue, Nov 23 9:00 am Teams present their project progress in class.
Sun, Dec 5 11:59 pm Teams hand in their final project report and all source code.
Tue, Dec 7 9:00 am 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.

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.