University of Saskatchewan Department of Computer Science

Welcome to the Department of Computer Science

Undergraduate Studies > Frequently Asked Questions > Computer Science Courses
Printer

Computer Science Courses

1.Am I required to take English, or some natural language?
2.After I am finished my degree, I'd like to work in a "specialized" field, say Operations Research, AI, Scientific Computing, Gaming, e-Business, Human Computer Interaction, web programming, etc. Keeping that in mind, which courses should I take, both CMPT and other?
3.In the calendar, it lists CMPT 385 as a prerequisite for CMPT 485. However, CMPT 385 isn't offered, so how can I obtain the prerequisite for CMPT 485?
4.Which courses at the Dept. are more theoretical and which ones are more about hands-on programming?
5.Who should take CMPT 400 and CMPT 405, and what is the difference between them?

1 . Am I required to take English, or some natural language?

Computer Science programs are classified as Type C programs in the College of Arts and Science. All students in Type C programs are required to satisfy the Humanities Writing Requirement. This requirement is to take 6 cu of first-year humanities courses that involve writing several essays. Courses that satisfy this requirement are first year English, first year History, and a couple other courses. For the specific list, consult the Arts and Science section of the calendar. At the time this question was answered, the link is B.A. and B.Sc. requirements. There is no longer a requirement to take a natural language course, although in the past there was such a requirement.

2 . After I am finished my degree, I'd like to work in a "specialized" field, say Operations Research, AI, Scientific Computing, Gaming, e-Business, Human Computer Interaction, web programming, etc. Keeping that in mind, which courses should I take, both CMPT and other?

This question is too open-ended to answer here. You should look through the CMPT courses offered and try to determine a course or two related to your field of interest. Then, determine who is teaching the course (from the registration site or the Computer Science main office) and make an advising appointment with the instructor. Finally, ask this question during your advising session. If you cannot find a related course, then sign up for an advising session with any faculty member, and that person can direct you to an appropriate adviser.

3 . In the calendar, it lists CMPT 385 as a prerequisite for CMPT 485. However, CMPT 385 isn't offered, so how can I obtain the prerequisite for CMPT 485?

At the moment, the Department is short of instructors to teach graphics. As a result, both 385 and 485 cannot be offered. The calendar has not been changed as it is hoped that a person can be hired soon to teach in this area, at which time the courses in this area might well change. In the meantime, the prerequisite of CMPT 385 for CMPT 485 is being ignored. Instead, a student should have the prerequisites listed for CMPT 385 in order to take CMPT 485.

4 . Which courses at the Dept. are more theoretical and which ones are more about hands-on programming?

The wide range of courses available at the Department offer the opportunity for students to be flexible enough to explore the dynamic nature of the Computer Science discipline. The right balance is achieved through offering courses both theoretical and formal on one hand, and practical and hands-on on the other, all under one program. Though categorizing these CMPT courses into theoretical and practical is at least partially based upon subjective opinion, following are some of the “more theoretical” vs. the “more hands-on” courses among the third and fourth year electives.
Theoretical Hands-on
CMPT 360 CMPT 350
CMPT 364 CMPT 352
CMPT 417 CMPT 355
CMPT 461 CMPT 370
CMPT 463 CMPT 371

It should be noted however, that the course content varies from year to year depending on who teaches the course that term. Also, most CMPT courses at the U. of S. can not be put into either of the two categories since they involve a combination of the theoretical and practical aspects of the discipline of Computer Science.


5 . Who should take CMPT 400 and CMPT 405, and what is the difference between them?

CMPT 40

0 and CMPT 405 are project courses. They are designed for better students to give them the chance to investigate some topic or develop some project does not fit in the regular courses. Students in these courses will be supervised by a faculty member, but are expected to be able to research their topic and develop their project and ideas with relatively little help from their supervisor. As a result, these courses are restricted to students with an average of 65% or better. In addition, a student with a 65% average will not necessarily be given permission to take one of these courses as it might not be possible to find a supervisor. CMPT 400 is required for all regular Honours students, and CMPT 405 is required for all Software Engineering Honours students who do not go on an internship program. As a result, Honours students have priority for entrance into these courses.

CMPT 400 emphasizes research on a topic by reading books and/or papers. The primary outcome from CMPT 400 is a research paper explaining what was learned and ideas for future work in the area. The focus of CMPT 405 is the development of a software product. There will be background reading for a CMPT 405 project, and a written paper is often required, but the emphasis is on development of a working version of a software project. As should be obvious, there can be a fine line between a CMPT 400 project and a CMPT 405 one. This is resolved by determining whether the primary focus is on the paper or on the software product.

Students who wish to take either CMPT 400 or CMPT 405 should apply to the Department towards the end, or just after completion, of their third year. If the student has some idea of a project that is great, and the Department will determine whether that topic is feasible. However, a student need not have a topic. The form requests that a student state their area or areas of interest, and the Department will attempt to match the student with a supervisor who is interested in similar areas. By the end of September, the student and supervisor are expected to agree on a topic, and sign an agreement of what is expected from the student. For CMPT 405, it is certainly possible for a team of students to work together on some product.

Note that the same project cannot be used for two courses. Also, a student is not normally allowed to do both CMPT 400 and CMPT 405.

Application forms: