Drupal 7: Edit/delete is not working on the custom module
You are using an Auto-Loader Wildcard in your menu item definition for admin/structure/course/edit/%course. This wildcard defines the prefix for the load function of your module. In your case course_load() will be called which returns a course object from a datasource.

If the function is not found it will fallback in any of your parent menu items. In your case it is admin/structure/course.

This could be an example of you load function

function course_load($course_id) 
{
    return db_query("SELECT * FROM {course} WHERE course_id = :course_id", array(
        ':course_id' =&gt; $course_id
    ))-&gt;fetchObject();
}


Your course_edit_form doesn't receive an array of courses but 1 course object as third argument.

function course_edit_form($form, &amp;$form_state, $course)
{
     // $course is here your Course object