It will return to first selection as on page_load you have called the coursecodebind(). So as soon as you click inside any of the Dropdowns, the page will postback and the first thing it will do is reinitialize your dropdown. Keep the coursecodebind() function inside the isPostback condition.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (IsPostBack = False) Then
categorybind()
coursecodebind()
binddata()
End If
End Sub