This course is intended to provide students with a hands-on feel for what research is like. The experience will tend to be CS- or IT-related, but to a large extent, research is research.
A significant component of the course will revolve around semester-long research projects carried out by small teams in collaboration with a faculty advisor. These projects will develop and exercise the following abilities:
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. These discussions will also serve as a venue for coordinating the efforts of different teams. Teams will also prepare weekly written reports
Teams and topics will be established a few weeks into the course. The hope is that most droppers will have dropped by that time, so the teams will be stable.
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 BA 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).
The course may require non-trivial programming, so 173 is required. Projects may require the use of multiple source files and libraries, so experience with programming utilities such as make, or more sophisticated systems is desireable. Efficiency may be an issue, so ability to program in a relatively efficient language such as C or C++ (though not assembly) is required. Java, Python or Matlab may not always cut it. Some projects may require efforts outside of the programming arena.
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.