CSC 200 Undergraduate Problem Seminar




Ganesh: A deity for researchers.


Information

Course: CSC 200 Undergraduate Problem Seminar
Instructor: Randal C. Nelson
TA: Lior Privman,
Office hours TBA, CSC 620
Time: TR 3:25 - 4:40
Room: CSB 601

Summary

This course is intended to provide students with a hands-on feel for what research in computer science is like.

A significant component of the course will revolve around a set of semester-long "impossible projects". These are team system building efforts consisting of the following goals:

Team members will regularly present project progress the the rest of the class during semi-formal discussion sessions, where team understanding, approaches and progress, will be critiqued, and potentially modified. Teams will also prepare weekly written reports

Several different projects will be pursued in parallel by teams of 3-5 members. Teams and topics will be selected by the instructor and TAs a couple of weeks into the course on the basis of survey information and some preliminary projects. Our hope is that most droppers will have dropped the course by that time, so we can have stable teams. Depending on class size, we may have more than one team on a project, in semi-competition. Since both the instructor and the TA have AI backgrounds, the projects are likely to have an AI-ish flavor, since, although we will not be providing specific instruction, we need to be able to tell if teams are really off track or heading up a blind alley.

A second component of the course consists of guest lectures by researchers in the computer science department. The course may also address issues in proposal writing and evaluation.

Attendance is mandatory. Participation in critique sessions is an essential part of the experience, as is attendance at guest lectures. There may be 5-minute "easy" quizzes on material occuring in the previous class as a means of documenting attendance and attention. This could include the content of unscripted discussions.

NOTE THAT CSC 200 IS NO LONGER REQUIRED FOR THE CS DEGREE.
Students should not undertake this course lightly. It is expected to be a significant amount of work. Research is that way. It is also likely to be the first course where the professor is not providing material and answers, or detailed instructions. That is also how research is. If you are not interested in this sort of experience, don't take the course. If it's your bag however, it could be a bit of fun in addition to a lot of work, and you will learn a lot (not all of it technical knowledge).

Prerequisites

The course requires extensive programming, so 173 is required. The projects will require the use of multiple source files and libraries, so experience with programming utilities such as make, or more sophisticated systems is desireable. Efficiency is an issue in the projects, so ability to program in a relatively efficient language such as C or C++ (though not assembly) is required. Java may not cut it.

Course Text Books

There are no required texts. However, the following are recommended reading, in whole or in part.

Grading

Some combination of:
Attendance/quizzes, class participation, presentations, project reports, project accomplishments.
As a first approximation, 20% each. However, note that quizzes, class participation and presentations can only occur in class, and much of the project work and organization will occur in class, hence most of the grade is dependant on attendance. If you do not attend class regularly, you cannot pass this course, and missing more than a session or two will seriously impact your final mark. If you cannot avoid an absence, contact or email me IN ADVANCE.


The contents of the following may be expected to change regularly.



Back to Randal Nelson's home page