³ÉÈËVRÊÓƵ

Computer Science (COMP)

Note: This is the 2011–2012 edition of the eCalendar. Update the year in your browser's URL bar for the most recent version of this page, or click here to jump to the newest eCalendar.

Computer Science (COMP)

Location

Location

  • McConnell Engineering Building, Room 318
  • 3480 University Street
  • Montreal, Quebec H3A 2A7
  • Telephone: 514-398-7071
  • Fax: 514-398-3883
  • Undergraduate Student Affairs Office
  • Lorne Trottier Building, Room 2060
  • 3630 University Street
  • Montreal, Quebec H3A 2B2
  • Telephone: 514-398-7071 ext. 00739
  • Fax: 514-398-4653
  • Email: ugrad-sec [at] cs.mcgill.ca
  • Website:

About Computer Science

About Computer Science

Computer Science covers the theory and practice behind the design and implementation of computer and information systems. Fundamental to computer science are questions about how to describe, process, manage, and analyze information and computation. A fundamental building block is the study of algorithms. An algorithm presents a detailed sequence of actions solving a particular task. A computer program is the implementation of an algorithm in a specific programming language so that a computer can execute the algorithm. Software generally refers to a computer program or a set of related computer programs.

Based on the building blocks of algorithms and programs, computer science is split into many different areas such as the study of algorithms and data structures, programming languages and methodology, theory of computation, software engineering (the design of large software systems), computer architecture (the structure of the hardware), communication between computers, operating systems (the software that shields users from the underlying hardware), database systems (software that handles large amounts of data efficiently), artificial intelligence (algorithms that imitate human information processing), computer vision (algorithms that let computers see and recognize their environment), computer graphics, robotics (algorithms that control robots), and computational biology (algorithms and methods that address problems inspired by biology). Computer science also plays an important role in many other fields, including Biology, Physics, Engineering, Business, Music, and Neuroscience, where it is necessary to process and reason about large amounts of data. Computer Science is strongly related to mathematics, linguistics, and engineering.

A degree in Computer Science offers excellent job prospects. As the use of computers and specialized software plays a crucial role in business, science, and our personal life, computer graduates are in high demand. Computer scientists find jobs in software development in many areas of computer science, in consulting, and in project management. As computer scientists often develop the software for a specific application domain (e.g., business, engineering, medicine), they must be prepared and willing to get to know their application area.

The School of Computer Science offers a wide range of programs. Most programs start with the same set of basic courses allowing students to decide on their exact program once they get a basic understanding of the discipline. Within the Faculty of Science, there are a major, an honours, a liberal and a minor program in Computer Science, a major and a liberal program in Software Engineering, a major in Computer Science: Computer Games Option, a minor in Computational Biology, a joint major and a joint honours program in Mathematics and Computer Science (see Mathematics and Statistics (MATH)), a joint major and a joint honours program in Statistics and Computer Science (see Mathematics and Statistics (MATH)), a joint major in Physics and Computer Science (see Physics (PHYS)), and a joint major in Computer Science and Biology (see Biology (BIOL)). The School also offers a major concentration and minor concentrations in Computer Science through the Faculty of Arts (see Faculty of Arts > Computer Science (COMP)) or as part of a Bachelor of Arts and Science (see Bachelor of Arts and Science > Computer Science).

The School's courses are available as electives to Engineering students. Engineering students interested in a minor in Computer Science should consult Faculty of Engineering > Computer Science Courses and Minor Program.

Most course instructors are Faculty members of the School that do research in the areas they teach. Students will learn in a small classroom environment, get to know their professors and have opportunity to do cutting-edge research. Some graduate courses in Computer Science are available to suitable qualified senior undergraduates. The School offers their students large computing labs in the Lorne Trottier Building that is dedicated to undergraduate students.

All students planning to enter Computer Science programs should make an appointment with an academic adviser through the School's Undergraduate Student Affairs Office.

Internship Opportunities

Internship Opportunities

Students who want to get practical experience in industry before graduation are encouraged to participate in one of the following internship programs:

The Internship Year in Science (IYS) is an academic program offered for a duration of 8, 12, or 16 months. It will be reflected on your transcript and is included in your program name (Bachelor of Science - Internship Program).

The Industrial Practicum (IP) has a duration of 4 months and is usually carried out starting in May. It will appear as a 0-credit, Pass/Fail course on your transcript. If you complete two IPs, the name of your program will change to include the word internship.

For more information on these programs, consult Industrial Practicum (IP) and Internship Year in Science (IYS), or, www.mcgill.ca/science/internships-field/internships.

Research Opportunities

Research Opportunities

Computer science undergraduates have excellent opportunities to participate in research. Each summer, several awards are available, such as the NSERC Undergraduate Student Research Awards; these offer financial support for a research experience in an academic setting. As well, students may take undergraduate research project courses such as COMP 396 Undergraduate Research Project, COMP 400 Technical Project and Report (for honours students), and COMP 401 Project in Biology and Computer Science. Students who have participated in substantial and broad undergraduate research may qualify for the Dean's Multidisciplinary Undergraduate Research List at graduation time. For more information, consult University Regulations and Information > Graduation Honours: Faculty of Science Dean's Multidisciplinary Undergraduate Research List.

³ÉÈËVRÊÓƵ

³ÉÈËVRÊÓƵ

Students intending to pursue a major in Computer Science or Software Engineering should have a reasonable mathematical background and should have completed MATH 140 (or MATH 150), MATH 141 (or MATH 151) and MATH 133, or their CEGEP equivalents. These three mathematics courses should have been completed with at least an average of B-. A background in computer science is not necessary as students may start their studies with the introductory course COMP 202. However, taking COMP 202 in the Freshman year, or completing an equivalent course in CEGEP, would be an asset and allows students to take more advanced courses earlier in their program.

More information about the admission process and the programs is available at .

Programs, Courses and University Regulations—2011-2012 (last updated Aug. 16, 2011) (disclaimer)

Computer Science (COMP) Faculty

Computer Science (COMP) Faculty

Director
Gregory Dudek
Emeritus Professors
Renato De Mori-Bajolin
Timothy Merrett; B.Sc.(Qu.), D.Phil.(Oxf.)
Monroe Newborn; B.E.E.(R.P.I.), Ph.D.(Ohio St.), F.A.C.M.
Christopher C. Paige
Gerald Ratzer; B.Sc.(Glas.), M.Sc.(McG.)
Godfried T. Toussaint ; B.Sc.(Tulsa), Ph.D.(Br. Col.)
Sue Whitesides; M.S.E.E.(Stan.), Ph.D.(Wisc.)
Professors
David M. Avis; B.Sc.(Wat.), Ph.D.(Stan.)
Luc P. Devroye; M.S.(Louvain), Ph.D.(Texas) (James ³ÉÈËVRÊÓƵ Professor)
Gregory Dudek; B.Sc.(Qu.), M.Sc., Ph.D.(Tor.) (James ³ÉÈËVRÊÓƵ Professor)
Laurie Hendren; B.Sc., M.Sc.(Qu.), Ph.D.(C’nell)
Prakash Panangaden; M.Sc.(IIT, Kanpur), M.S.(Chic.), Ph.D.(Wisc.)
Bruce Reed; B.Sc., Ph.D.(McG.) (Canada Research Chair) (Royal Society of Canada Fellow)
Kaleem Siddiqi; B.Sc.(Lafayette), M.Sc., Ph.D.(Brown) (William Dawson Scholar)
Denis Thérien; B.Sc.(Montr.), M.Sc., Ph.D.(Wat.) (James ³ÉÈËVRÊÓƵ Professor)
Associate Professors
Mathieu Blanchette; B.Sc., M.Sc.(Montr.), Ph.D.(Wash.)
Xiao-Wen Chang; B.Sc., M.Sc.(Nanjing), Ph.D.(McG.)
Claude Crépeau; B.Sc., M.Sc.(Montr.), Ph.D.(MIT)
Nathan Friedman; B.A.(W. Ont.), Ph.D.(Tor.)
Michael Trevor Hallett; B.Sc.(Qu.), Ph.D.(Vic., BC)
Patrick Hayden; B.Sc.(McG.), Ph.D.(Oxf.) (Canada Research Chair)
Bettina Kemme; B.Sc., M.Sc.(Erlangen-Nuremberg, Germany), Ph.D.(ETH, Zurich)
Jörg Kienzle; Eng.Dip., Ph.D.(Swiss Fed. IT)
Michael Langer; B.Sc.(McG.), M.Sc.(Tor.), Ph.D.(McG.)
Xue Liu; B.Sc., M.Sc.(Tsinghua), Ph.D.(Ill.)
Muthucumaru Maheswaran; B.Sc.(Peradeniya), M.Sc., Ph.D.(Purd.)
Brigitte Pientka; B.Sc., M.Sc.(Darmstadt), Ph.D.(Carn. Mell)
Joëlle Pineau; B.Sc.(Wat.), M.Sc., Ph.D.(Carn. Mell)
Doina Precup; B.Sc.(Cluj-Napoca), M.Sc., Ph.D.(Mass.)
Martin Robillard; B.Eng.(École Poly., Montr.), M.Sc., Ph.D.(Br. Col.)
Carl Tropper; B.Sc.(McG.), Ph.D.(Brooklyn Poly.)
Hans Vangheluwe; B.Sc., M.Sc., D.Sc.(Ghent, Belgium)
Clark Verbrugge; B.A.(Qu.), Ph.D.(McG.)
Adrian Vetta; B.Sc., M.Sc.(LSE), Ph.D.(MIT)
Assistant Professors
Hamed Hatami; B.Sc.(Sharif Univ. of Technology), M.Sc., Ph.D.(Tor.)
Paul Kry; B.Sc.(Wat.), M.Sc., Ph.D.(Br. Col.)
Derek Ruths; B.Sc., M.Sc., Ph.D.(Rice)
Mohit Singh; B.Tech.(Indian IT), Ph.D.(Carn. Mell)
Jérôme Waldispühl; B.Sc.(Nice and Sophia-Antipolis, France), M.Sc.(Paris VII), Ph.D.(École Poly., France)
Faculty Lecturer
Joseph Vybihal; B.Sc., M.Sc.(McG.)
Associate Members
Daniel J. Levitin (Psychology)
Dirk Schlimm (Philosophy)
Raja Sengupta (Geography)
F. Bruce Shepherd (Mathematics)
Thomas Richard Shultz (Psychology)
Renée Sieber (Geography)
Adjunct Professors
Masoumeh Tabaeh Izadi; B.Sc.(Tehran), M.Sc.(King's Coll., Lond.), Ph.D.(McG.)
Ted Perkins; B.A.(Car.), M.Sc.(Wisc.), Ph.D.(Mass.)
Ioannis Rekleitis; B.Sc.(Athens), M.Sc., Ph.D.(McG.)
Ger Otto Sabidussi
Pascal Tesson
Programs, Courses and University Regulations—2011-2012 (last updated Aug. 16, 2011) (disclaimer)

Bachelor of Science (B.Sc.) - Minor Computer Science (24 credits)

This Minor is designed for students who want to gain a basic understanding of computer science principles and get an overview of some computer science areas. Basic computer science skills are important in many domains. Thus, the Minor is useful for students majoring in any discipline. It can be taken in conjunction with any program in the Faculties of Science and...

For more information, see Minor Computer Science (24 credits).

Bachelor of Science (B.Sc.) - Liberal Program - Core Science Component Computer Science (45 credits)

This program provides an introduction to the principles of computer science and offers opportunity to get insight into some of its sub-areas. Having only 45 credits, it allows students to combine it with minor or major concentrations in other disciplines.

For more information, see Liberal Program - Core Science Component Computer Science (45 credits).

Bachelor of Science (B.Sc.) - Liberal Program - Core Science Component Software Engineering (49 credits)

This program covers a core of programming and software engineering courses and allows students to select courses that aim at practical aspects of software development. Students may complete this program with a minimum of 48 credits or a maximum of 49 credits depending on their choice of complementary courses.

For more information, see Liberal Program - Core Science Component Software Engineering (49 credits).

Bachelor of Science (B.Sc.) - Major Computer Science (63 credits)

This program is the standard Major program offered by the School of Computer Science. It provides a broad introduction to the principles of computer science and offers ample opportunity to acquire in-depth knowledge of several sub-disciplines. At the same time, its credit requirements allow students to take an additional minor. ...

For more information, see Major Computer Science (63 credits).

Bachelor of Science (B.Sc.) - Major Computer Science and Biology (73 credits)

This program will train students in the fundamentals of biology - with a focus on molecular biology - and will give them computational and mathematical skills needed to manage, analyze, and model large biological datasets. Two integrative features of the program are a three-credit joint independent studies course, and a one-credit seminar. ...

For more information, see Major Computer Science and Biology (73 credits).

Bachelor of Science (B.Sc.) - Major Computer Science - Computer Games (67 credits)

This program is a specialization within Computer Science. It fulfils all the basic requirements of the Major Computer Science. Complementary courses focus on topics that are important to understanding the technology behind computer games and to gaining experience in software development and design needed for computer game development. ...

For more information, see Major Computer Science - Computer Games (67 credits).

Bachelor of Science (B.Sc.) - Major Software Engineering (63 credits)

This program provides a broad introduction to the principles of computer science and covers in depth the design and development of software systems. Students may complete this program with a maximum of 63 credits or a minimum of 60 credits if they are exempt from taking COMP 202.

For more information, see Major Software Engineering (63 credits).

Bachelor of Science (B.Sc.) - Honours Computer Science (75 credits)

Students may complete this program with a maximum of 75 credits or a minimum of 72 credits if they are exempt from taking COMP 202. Honours students must maintain a CGPA of at least 3.00 during their studies and at graduation.

For more information, see Honours Computer Science (75 credits).

Bachelor of Science (B.Sc.) - Honours Software Engineering (75 credits)

This program provides a more challenging and research-oriented version of the Major Software Engineering program. Students may complete this program with a maximum of 75 credits or a minimum of 72 credits if they are exempt from taking COMP 202. Honours students must maintain a CGPA of at least 3.00 during their studies and at graduation.

For more information, see Honours Software Engineering (75 credits).

Computer Science (COMP) Related Programs

Computer Science (COMP) Related Programs

Joint Major in Mathematics and Computer Science

Joint Major in Mathematics and Computer Science

For more information, see Mathematics and Statistics (MATH).

Joint Honours in Mathematics and Computer Science

Joint Honours in Mathematics and Computer Science

For more information, see Mathematics and Statistics (MATH). Students must consult an Honours adviser in both departments.

Joint Major in Statistics and Computer Science

Joint Major in Statistics and Computer Science

For more information, see Mathematics and Statistics (MATH).

Joint Honours in Statistics and Computer Science

Joint Honours in Statistics and Computer Science

For more information, see Mathematics and Statistics (MATH). Students must consult an Honours adviser in both departments.

Joint Major in Physics and Computer Science

Joint Major in Physics and Computer Science

For more information, see Physics (PHYS).

Minor in Cognitive Science

Minor in Cognitive Science

Students following Major or Honours programs in Computer Science may want to consider the Minor in Cognitive Science.

Programs, Courses and University Regulations—2011-2012 (last updated Aug. 16, 2011) (disclaimer)
Faculty of Science—2011-2012 (last updated Aug. 16, 2011) (disclaimer)
Back to top