
Felienne Hermans
Biography
Felienne is assistant professor at Delft University of Technology, where she makes programming for non-programmers more awesome. She built an IDE for spreadsheets in the form of smell detection, refactoring and unit testing tools for Excel, and has researched code smells and clone detection in the Scratch programming language for kids.
She is also one of the founders of Joy of Coding, a one day developer conference in Rotterdam, celebrating the love for programming.
When not building programs that play board games or card games, she is probably dancing Lindy Hop or killing creeps in a tower defense game.
Previous events
NewCrafts Paris 2018
What is programming anyway?
Talk
All kids should learn to code! Yes, I think we programmers all agree with Bill Gates and Sheryl Sandberg that kids should learn programming. But what is programming? What should kids know? What should they practice? How should they practice? And how will we make programming more inclusive?
In her keynote, Felienne will take you through her research on programming for children, as well as her quest to make programming education inclusive for everyone.
NewCrafts Paris 2016
Using F# and genetic programming to play computer bridge
Talk
In September 2016, Felienne's bridge bot Desiderius (Desi, as she calls him affectionately) will compete in the World Championship of Computer Bridge. In this talk she will explain how she built Desi.
Bridge is a card game with two distinct phases: bidding and playing. For this talk, Felienne will focus mainly on the bidding part, as that is most challenging. In the bidding phase, both pairs of players bid to reach 'the contract': the number of tricks they want to make, and with which trump color. Given the limited bandwidth of communication (players can only communicate with bids) the challenge is to get at the best bid. She made a DSL in F# to describe the bidding rules that her bot will bid with, and she will talk about its design and the choices she made.
For bidding, there are a number of standard systems, but of course she wanted to go a bid further*. Reaching the optimal bid is very important: Failure to make the contract results in a penalty, but not reaching a possible contract does too. Therefore, she used genetic programming to combine different existing bidding strategies to reach the perfect scheme.
*pun intended