Add description to custom text widget and display the 5 recent post titles

You are not passing your description correctly. Really, you aren’t passing it at all.

public function __construct() {
    parent::WP_Widget(false, $name="Kevins Textbox");
    array('description' => __('A text widget created by Kevin Ullyott for practice in creating widgets') );
}

That ‘description’ line is creating an array but you aren’t doing anything with it. It is just floating alone in space. You need to pass that to WP_Widget. Follow the example in the Codex:

/**
 * Register widget with WordPress.
 */
public function __construct() {
    parent::__construct(
        'foo_widget', // Base ID
        'Foo_Widget', // Name
        array( 'description' => __( 'A Foo Widget', 'text_domain' ), ) // Args
    );
}

See how ID, name, and the array all get passed to the parent constructor? Compare that to your code, where the array is outside the closing bracket of WP_Widget.

Calling WP_Widget is about the same as calling __constructthe first passes everything to the second. WP_Widget is a pre-PHP5 style constructor as noted in the source.

Also, no need to assign the name to a variable here, $name="Kevins Textbox". You can’t ‘name’ variables when you pass them like you can in Python.

So, what you need is this:

public function __construct() {
    parent::WP_Widget(
    // or parent::__construct(
        false, 
        'Kevins Textbox',
        array(
            'description' => __('A text widget created by Kevin Ullyott for practice in creating widgets') 
        )
    );
    ;
}

You need WP_Query or get_posts to get your posts.

$fiveposts = get_posts(array('numberposts' => 5);
var_dump($fiveposts); // should show you what you have to work with.

Hope that helps.