: Hello, I am a third year computer scientist at Exeter University. : I am also a violin player and have chosen to undertake a project : about violin fingering. The idea is that the violinist : would type in the notes (s)he was trying to play and then an algorithm : would work out the best possible set of fingerings for that particular : passage. That's an interesting idea, though I'm not sure if there is such a thing as "the" best fingering for a passage, because on a certain level fingerings tend to be somewhat personal. For example, certain people learn shifting in a certain way, say 1-3-5 1-2-4 (don't worry if you don't know what exactly I meant by that), while others might do it differently, so they would disagree on which fingering is "best" for them. Nevertheless, I suppose it's at least possible to narrow down fingerings to just 2 to 3 similar alternatives. For starters you might want to investigate some common fingerings for scales and arpeggios of some of the more common keys (eg. C, a, D, Eb, c, E, F, d, G, e, A, Bb, g). There are so far 2 things I can think of that could make things tricky: 1) slur passages might sometimes require a different fingering than normal in order to avoid awkward shifting in the middle of the slur. 2) certain musical passages might sound best when certain notes are played on a certain string even though it might lead to a more difficult fingering. While sometimes it's explicitly marked in the music that certain notes are to be play on a specific string, sometimes it's not actually written. There are probably other more subtle issues. So it will be a pretty good accomplishment to at least have it work satisfactorily to simpler types of music, say those from violin pieces and exercises for beginning and intermediate young violinists. Good luck!