11 639

Designining Around Patents on Machine Learning and NLP Technology

Carnegie Mellon University · UGRD · Fall 2026

1 section
Add to a schedule

Catalog description

This course uses Machine Learning and Natural Language Processing as vehicles to teach principles in designing software to avoid patents. After introducing students to the basics of patents, we investigate how to use students software skills to design around patents that is, create new technology that avoids a patent while maintaining some, or even all, of the performance and value of the patented technology. Designing around a patent can be viewed as a puzzle that requires technical skill, understanding the business value of technology, knowledge of patents, and creativity. Students will also be able to help design patents that cannot be easily designed-around. Not only does this add a valuable new dimension to the students skill set, the course material is organized as a vehicle for refining knowledge of ML and NLP techniques. We will practice by designing around patents on well-known ML and NLP algorithms. Students study the basic algorithm, learn the patents that cover those algorithms, and then experiment with software modifications that avoid the patent while preserving as much of the algorithms performance as possible. In essence, students will view the presence of particular patents as a design constraints, akin to designing for limited memory, bandwidth, or processor speed. Students must have already taken courses in Natural Language Processing (e.g., 11-411 ) and Machine Learning (e.g., 10-315 ). Law of Computer Technology 17-562 , 17-662, 17-762 or Patents, Licensing, and Innovation 19-473, 19-673 are helpful but not required.

Sections

Current meeting, instructor, credit, and enrollment details

Updated 6 hours ago

001

Availability not recently verified
Class #carnegie_mellon-11639Fall 2026UGRD12 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?