This course will cover basics of BCIs, example applications and computational demands, fundamental tradeoffs in computer architecture and system design encountered in developing processors for BCIs, some advanced computer architecture concepts relevant to BCI processor design like super-scalar processing, caching, accelerators etc., open problems, and potential future directions like brain-inspired computer architectures. The course will build on prior courses in computer architecture and organization (e.g., COMP 211, 311, 541), and is targeted for early graduate students and advanced undergraduates.
There will be a mix of lectures covering fundamental concepts for advanced processor architecture, paper readings, discussions, and a semester-long project. Prepare to read about two papers per week, additional lighter reading on BCIs, and demonstrate a working team project by the end of the semester.
Background in one or more of computer architecture, organization, digital design, systems (e.g., COMP 311, 541) is recommended, although students with alternative backgrounds in relevant topics (e.g., neuro-engineering, neural/digital signal processing, biomedical IoT/CPS) are also welcome to take the course by discussing with the instructor.
You will understand what BCIs are, gain exposure to the kinds of applications they run, understand the challenges in designing BCI processors and systems, and the ability to critique computer architecture and system designs for BCIs.
Project (40%), presentation and report (10%), homeworks (20%), technical paper reviews (10%), lead presentation (10%), discussion (10%).
Undergraduates will receive standard letter grades based on the university scale (A, A-,...), and graduates will receive grades based on the department scale (H+, H,...). Grading will use both objective (homework scores) and subjective measures (like quality, significance and novelty of project submissions used in assessing technical work, and class participation).
Students can propose course projects in teams of two. There will be a mid-term review of progress for course correction as needed. Team members hold collective responsibility for the project. So, choose wisely.
Homeworks with written assignments due in class are to be submitted within the first ten minutes of the class start. Homeworks with problems that are to be submitted online (e.g., on Gradescope) or paper reviews (e.g., on Piazza), are due by class start. Anything later is considered a late submission, and a letter grade per-day will be dropped until an F.
Project submissions (presentations, report) cannot be late. Project report is due by midnight (Eastern) on the due date.
Exceptions include pre-arranged accommodations, unexpected emergencies including illness.
You can discuss your initial thoughts on the homeworks with other student in course, but each of you must answer separately. Do not use or read another students work before you turn yours in. You should not violate the university honor code. Violations are serious, and can end a career.
Please be respectful and maintain the sanctity of the classroom to ensure everyone has a positive experience with the course. For any student concerns, reach out to UNC Care, or to UNC Safe.
All materials of this course are for educational use only. My permission is necessary to use them. They cannot be shared outside of the course.
There is no required textbook, but readings are recommended from the following books as appropriate.
Note that most books on BCIs so far, if not all, have not aimed at the computer scientist or engineer. So, if the math in the signal processing, or the neuroscience is overwhelming, don’t worry. We will cover the basics in the class as needed for our purposes. Our goal is to understand at least enough math and neuroscience so that we can reason about how to best build computer systems for them (you're most welcome and even encouraged to go as further as you find intellectually stimulating). Additionally, unless specifically stated, the readings are best approached after the corresponding lecture, and are self-paced.
Date | Topic | Notes | Reading |
---|---|---|---|
8/18/2025 | Introduction to BCIs and the role of computer architecture | Homework 1 released | B1: Part 1, Part 2.Ch 1-3, 6. B2: Ch 1-5, 9-11, 19-23. |
8/20/2025 | Computer architecture overview | B3: Ch 1. Paper: Hints and Principles for Computer System Design Butler Lampson (Sections 1, 2, 3.1) |
|
8/25/2025 | Design goals | Paper: Hints and Principles for Computer System Design Butler Lampson (Sections 3.2-3.8) | |
8/27/2025 | Pipelining | Homework 1 due in class | B3: Appendix C. |
9/3/2025 | Dynamic scheduling | Project proposals due in class. Homeworks 2 released |
B3: Chapter 3, Review Appendix C. Paper: Complexity-effective Superscalar Processors Paper: Implementation of Precise Interrupts in Pipelined Processors |