UMBC CMSC 691p Spring 2009
Teaching Computer Science I in Python

Syllabus

UMBC's CS program is planning a major redesign of CMSC 201, the introductory programming course for majors. In this special topics course, students will have the opportunity to learn first-hand what is involved in designing and teaching a new class. As a group, we will review textbooks, survey the research literature on teaching programming courses, design a syllabus, learn the Python programming language, develop programming projects, and write exam questions. The course will also include "mock teaching sections," in which each student will have the opportunity to present a lecture segment to the rest of the class. We will discuss effective teaching strategies and related issues, such as TA management, handling "problem students," and methods for minimizing and responding to academic dishonesty.

The course will be team-taught by Tim Finin and Marie desJardins, with guest lectures and commentary by other CS instructors.

This special topics course is available to graduate students and to advanced undergraduates with permission of the instructor.

Prerequisites: There are no formal prerequisites. Advanced undegraduates may be admited with permission of the instructors.

Who: Marie desJardins, 3xx ITE, 410-455-xxxx, mariedj@cs.umbc.edu, Tim Finin, 329 ITE, 410-455-3522, finin@cs.umbc.edu, offcie hours: by appointment

Where and when: 10:00-11:15, Tuesday and Thursday, room TBA

Readings: Papers and other material to read will be available online.

Structure: This will be a seminar style class with everyone taking turns presenting material and leading discussions. We will use the private class Google group and public class blog to carry out additional discussion, comment and interactions. This will be a required part of the course and the quality and level of your participation in online discussions will play a part in determining your grade.

Assignments: Everyone will be required to prepare and present material to the class, complete a number of short assignments and engage in a longer project, either individually or as part of a group.

Software: We may experiment with several software systems, tools and packages.

Academic Honesty: Please read this statement on academic honesty.