This course will cover the basics of BCIs, example applications and computational demands, fundamental tradeoffs in computer architecture and system design encountered in developing processors for BCIs, 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, but 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 develop the ability to critique computer architecture and system designs for BCIs.
Project (50%) with presentation (25%) and report (25%), homeworks (20%), technical paper reviews (10%), lead presentation (10%), discussion (10%).
Lead paper presentation: Review content (40%), delivery and presentation (30%), organization (20%), and discussion (10%).
Reviews: Demonstrate overall understanding of the paper and the context (20%), identify main technical contributions (20%), identify critical limitations (20%), identify underlying systems design principles or implication, as appropriate (20%), significance and impact (10%), critique and discussion points (10%).
Participation: Regular presence (40%), responsiveness (30%), insightful engagement (30%).
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).
Course projects are expected to involve one or more of (but not limited to) FPGA or microcontroller prototyping, software languages, compilers, emulators, tools, runtimes or kernels, application design and optimization, as relevant to computer systems for BCIs, broadly construed. Highly innovative projects could also lead to publishable manuscripts.
Students can propose course projects individually or as teams of two. There will be a mid-term review of progress. Team members hold collective responsibility for the project.
Project presentation: The duration is 25 minutes including at least 5 minutes for questions. Grading will consider content (30%), delivery and presentation (30%), organization (20%), and response to questions (20%).
Project report: The report will be a pdf that is 10-12 pages long, with a 12-point font, and 1-inch margins. It must include a title, team member names and emails, brief description of the contributions of team members, any overlap with projects in other courses or research, and an abstract (< 200 words). The report should contain separate sections, with appropriate subsections as follows:
Beyond this content, include the following sections (these don’t count toward the page limit):
The project reports will be published online for future students. If you have confidential material, e.g., work that you're planning to use for a publication or patent, please send me an email to withhold publication and duration. You can also request not publishing the report for other reasons. Please send me an email if you wish so.
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 specified times. Anything later is considered a late submission, and a letter grade or 5% of the points will be dropped per day. The project proposal, presentation and report cannot be late.
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.
Materials (including, but not limited to documents, slides, images, audio, and video) used in connection with this course may be subject to copyright protection. They are only for the use of students enrolled in this course, for purposes associated with this course, and may not be retained for longer than the class term. Unauthorized retention, duplication, distribution, commercialization, or modification of copyrighted materials is strictly prohibited by law. The materials cannot be shared outside of the course without my approval.
I developed all the materials of the course, sometimes utilizing or building on works of others for fair, educational use (appropriately credited and/or licensed when needed). Such works and their copyrights belong to respective owners. Usage of product or brand names, images, or trademarks are for identification and educational purposes only, and do not imply endorsement. If you believe your work has been used in the materials and requires attribution, please email.
You can use AI tools to understand concepts, but course materials (lecture slides, homeworks etc.), or works of other students (reviews etc.) should not be shared with those tools.
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 |
|---|---|---|---|
| 1/7/2026 | Introduction to BCIs and the role of computer architecture | Homework 1 released on GradeScope (due 1/16) | B1: Part 1, Part 2.Ch 1-3, 6. B2: Ch 1-5, 9-11, 19-23. |
| 1/12/2026 | Computer architecture and design goals | B3: Ch 1. Paper: Hints and Principles for Computer System Design Butler Lampson (Sections 1, 2, 3.1) |
|
| 1/14/2026 | Design goals | Paper: Hints and Principles for Computer System Design Butler Lampson (Sections 3.2-3.8) | |
| 1/21/2026 | Pipelining | Project proposals due | B3: App C. |