12 March 2020
Cancellation deadline:
06 March 2020
Damian Conway
Academic: 70 CHF
For-profit: 250 CHF
Applications are closed because the course is full with a long waiting list or has just passed. to receive notification when a new course is scheduled.

No future instance of this course is planned yet


Good API design is essential to good software development because, from the point-of-view of the users of your modules, the API is the software.

This class explains how to create better code interfaces to your software modules, libraries, and frameworks, regardless of the language(s) in which they're implemented.

In this half-day seminar, we'll explore modern theories of what makes for a good API and examine many practical examples, drawn from real-world software libraries, of both good and bad designs.

If you've ever struggled with the interface of a software tool or library, this class will help you understand exactly why it was so hard to grapple with. More importantly, it will show you how to create software that is easier for users to understand, easier for developers to deploy, and easier for coders to use correctly.

This class is taught by Damian Conway, a well-known speaker and lecturer (see his official biography or his Wikipedia page). Damian already lectured at SIB several times, and consistently received amazing feedback about his courses.


Software developers who are familiar with the fundamentals of coding in any modern programming language, and who are looking for faster, safer, and more powerful ways to design libraries, classes, and applications.


Knowledge / competencies

There is no prerequisite for this class.


You do not need to bring anything for this course.


The registration fee for academics is 70 CHF, or 200 CHF otherwise. This includes printed course material. For members of the EPFL, the cost is 50 CHF (as EPFL participates to the cost of the course).

Deadline for registration and free-of-charge cancellation is set to 24 February 2020; participants who cancel after this date will not be reimbursed. Please note that participation to SIB courses is subject to this and other general conditions, available at general conditions.

You will be informed by email of your registration confirmation.

Venue and Time


The course will start at 13:00 and end around 17:00. Precise information will be provided to the participants in due time.

Additional information

This course is co-organized by the SIB and the EPFL.

Coordination: Frédéric Schütz, SIB training group

You are welcome to register to the SIB courses mailing list to be informed of all future courses and workshops, as well as all important deadlines using the form here.

For more information, please contact training@sib.swiss.