Computer Science
Address: Goldberg Computer Science Building
6050 University Avenue
P.O. Box 15000
Halifax, NS B3H 4R2
Telephone: (902) 494-2093
Fax: (902) 492-1517
Website:
http://www.cs.dal.ca
Professor Emeritus
Slonim, J., BSc, MSc (Western), PhD (Kansas)
Professors
Abidi, S., BEng (N.E.D. Univ of Eng & Technology), MS (Miami), PhD (Surrey)
Bodorik, P., BSc (Calgary), MEng, PhD (Carleton)
Cox, P.T., BSc, MSc (Auckland), PhD (Waterloo)
Farrag, A., PhD (Alberta)
Gao, Q., MASc, PhD (Waterloo)
Heywood, M., PhD (Essex)
Janssen, J., MSc (Eindhoven), PhD (Lehigh), cross appointment with Department of Mathematics and Statistics
Keselj, V., BSc (Belgrade), MMath, PhD (Waterloo)
Marche, S., BA (Royal Military College) Professional Diploma (Alberta), MEd (Alberta), PhD (London School of Economics), cross appointment with Faculty of Management
Milios, E.E., Dipl Eng (National Technical University), SM & EE, PhD (MIT)
Rau-Chaplin, A., BCompSc (York), MCompSc, PhD (Carleton)
Sampalli, S., BEng (Bangalore), PhD (Ind. Inst. of Sc.)
Scrimger, J. N., BSc (UBC), MSc, PhD (Western Ontario)
Trappenberg, T., MSc, PhD (Aachen)
Wach, G., BA (Western ONT), MSc (South Carolina), PhD (Oxford), cross appointment with Department of Earth Sciences
Watters, C.R., BSc, MSc, MLS (Western Ontario), PhD (Technical University of Nova Scotia)
Zincir-Heywood, A.N., BSc, MSc, PhD (Ege University)
Associate Professors
Arnold, D., Diplom Computer Science (Dortmund), MSc (SFU), Dr. rer. nat. (Dortmund)
Beiko, R., BSc (Dalhousie), PhD (Ottawa)
Blouin, C., BSc (Laval), PhD (Dalhousie)
Blustein, W.J., BSc, MSc, PhD (Western)
Brooks, S., BSc (Brock), MSc (UBC), PhD (Cambridge)
McAllister, M., BMath (Waterloo), MS, PhD (UBC)
Mitnitski, A., MEng (Baltic State Tech, University), PhD (Baltic State Tech Univ), cross appointment with Faculty of Medicine
Selinger, P., Vordiplom Mathematics (Technische Hochschule Darmstadt), PhD (Pennsylvania), cross-appointed with Department
of Mathematics and Statistics
Toms, E., BA (Memorial), MLS (Dalhousie) PhD (Western), cross-appointment with Faculty of Management
Zeh, N., Diplom-Informatiker (Friedrich-Scholler, PhD (Carleton)
Assistant Professor
Hawkey, K., BSc, PhD (Dalhousie)
He, M., BEng (Nanjing), M. Math, PhD (Waterloo)
Reilly, D., BA (Waterloo), BA (McGill), BEd (Queens), PhD (Dalhousie)
Adjunct Professors
Borwein, J., BA (Western Ontario), MSc, PhD (Oxford)
Cercone, N., BSc (Steubenville), MSc (Ohio), PhD (Alberta)
Dobscanyi, P., MSc (J.Attilla Univ.), PhD (Aukland)
Duffy, J., BS, MS, PhD (Iowa)
Gentleman, M., BSc (McGill), MA, PhD (Princeton)
Grundke, E. W., BSc, MSc (Dalhousie), PhD (Waterloo)
Hartzman, C., MSc (Toronto), PhD (Colorado)
Jost, A., BSc, MSc, PhD (Dalhousie)
Sedgwick, A., MS (Wisconsin), PhD (Toronto)
Smedley, T., BMath, MMath, PhD (Waterloo)
Adjunct Associate Professors
Shakshuki, E., BSc (Al-Fateh), MAS, PhD (Waterloo)
Oore, S., BSc (Dalhousie), MSc, PhD (Toronto)
Wang, H., BSc (UNB), MSc, PhD (Toronto)
Adjunct Assistant Professors
Fisher, M., BA (York), MSc (McMaster), PhD (York)
Hussain, S., BS (UET), MS (KFUPM), PhD (Manitoba)
Jutla, D. N., BSc (U. W. Indies), MCSc., PhD (TUNS)
Kuruvila, J., BEng (Kasnataka), MCIS (Queen’s)
Liscano, R., BSc (UNB), MSc (Rhode Island), PhD (Waterloo)
Lucic, V., Dipl. EE (Nis), MASc, PhD (Waterloo)
Marchand, Y., MCS (Paris, D.E.A. (Caen), PhD (Compeigne)
Vaughn, P., HBA, MA (Guelph), MD (McMaster), MPH (Johns Hopkins)
Ye, Q., BEngr, MEngr (Harbin), PhD (Alberta)
Senior Instructor
Brodsky, A., BMath(Waterloo), Msc, PhD (UBC)
Kalyaniwalla, N., BSc (Bombay), M.S., PhD (Rensselaer)
Instructor
Jin, H., B.Eng (Shanghai), MSc, PhD (Windsor)
I. General Interest Classes
The Faculty offers eight classes that should be of interest to students whose major field of study while at Dalhousie will not be Computer Science.
CSCI 1106.03: Animated Computing.
CSCI 1107.03: Social Computing.
CSCI 1200.03: Introduction to Computing for Non-Majors.
CSCI 1206.03: Introduction to Website Creation.
CSCI 1502.03: Core Business Applications.
CSCI 2201.03: Introduction to Information Security.
INFX 1615.03: Concepts of Computing.
INFX 1616.03: Applications of Computing.
II. Degree Programs
A. Academic Regulations
For all variations of the Bachelor of Computer Science degree:
| | | |
| | of the 19 half-credit CSCI courses required at all levels, at least 10 must be chosen from Dalhousie CSCI course offerings, and |
| | of the 11 half-credit CSCI courses required at the 3000 and 4000 level, at least 6 must be chosen from Dalhousie CSCI course offerings. |
B. Bachelor of Computer Science
1. Bachelor of Computer Science
The following regulations apply to students starting the program in September 2010 or after.
Faculty Requirements
1000 Level
2000 Level
| | | |
| | CSCI 2100.03: Communication Skills: Oral and Written |
| | CSCI 2110.03: Computer Science III |
| | CSCI 2112.03: Discrete Structures I |
| | CSCI 2121.03: Computer Organization with Assembly Language |
| | CSCI 2132.03: Software Development |
| | CSCI 2141.03: Introduction to Database Systems |
3000 Level
| | | |
| | CSCI 3101.03: Social, Ethical and Professional Issues in Computer Science |
| | CSCI 3110.03: Design and Analysis of Algorithms I |
| | CSCI 3120.03: Operating Systems |
| | CSCI 3130.03: Introduction to Software Engineering |
| | CSCI 3136.03: Principles of Programming Languages |
| | CSCI 3171.03: Network Computing |
Other Required Classes:
| | | |
| | MATH 1000.03: Differential and Integral Calculus I |
| | MATH 1010.03: Differential and Integral Calculus II or |
CSCI 2113.03 Discrete Structures II
| | | |
| | MATH 2030.03: Matrix Theory and Linear Algebra I |
| | STAT 2060.03: Introduction to Probability and Statistics I |
| | One full credit or two half credits of a science class with a lab from a list provided by the Faculty of Computer Science |
| | One full credit to satisfy the writing requirement |
| | One half-credit class in humanities or social science at or above the 1000 level |
| | Two half-credit classes in business, science, or engineering at or above the 1000 level |
| | One half-credit class in business, science or engineering at or above the 2000 level |
| | Two half-credit electives of computer science at or above the 3000 level |
| | Three half-credit electives of computer science at or above the 4000 level |
| | Two free half-credit electives at or above the 1000 level |
| | Seven free half-credit electives at or above the 2000 level |
CSCI 1502.03 may not be counted towards a Bachelor of Computer Science degree.
2. Bachelor of Computer Science with Honours
The purpose of the Honours program is to provide a more challenging degree program that prepares students for graduate school. The program provides greater rigour and more analytic content than the Bachelor of Computer Science degree.
To enter the Honours program a student must consult with the Honours Student Advisor and obtain the approval of the Faculty of Computer Science.
Each computer science class at or above the 3000 level must be passed with a grade of at least 2.0 (C). The cumulative GPA across all courses must be at least 3.0 (B).
The Honours program may be combined with co-op education.
Faculty Requirements
In addition to the normal requirements of the Bachelor of Computer Science degree, class selection must include six courses chosen as follows:
| | | |
| | five half-credit courses of computer science at or above the 4000 level chosen in consultation with the thesis supervisor to ensure that the student has the appropriate background |
| | CSCI 8873.03 (i.e., successfully complete and present an Honours Thesis) |
Students who meet these requirements and who obtain a GPA of 3.7 (A-) or higher in all computer science courses will receive the degree Bachelor of Computer Science with First Class Honours.
3. Minors for the Bachelor of Computer Science
Students in the Bachelor of Computer Science program may add a Minor in many subjects from the Faculties of Arts and Social Sciences, Management, Science and the College of Sustainability. Minors in the Faculty of Arts and Social Sciences are available in Classics, English, French, German, History, International Development Studies, Music, Philosophy, Political Science, Sociology and Social Anthropology, Spanish, Theatre, Gender and Women's Studies. Minors in the Faculty of Management are Business and Management.. Minors in the Faculty of Science are available in Biology, Chemistry, Earth Sciences, Economics, Environmental Programs, Mathematics, Physics, Psychology, and Statistics. The minor in the College of Sustainability is Environment, Sustainability and Society. Environment, Sustainability and Society can be Subject B of a BSc double major or combined honours degree in Computer Science.
Students who are seeking the requirements for a minor in any of the above subject areas should consult the corresponding department's section of the undergraduate calendar or http://www.cs.dal.ca. The minor requirements are in addition to the normal Bachelor of Computer Science requirements. Students wishing to pursue a minor in any of these subjects should consult the relevant department and a Faculty of Computer Science academic advisor.
4. Co-operative Education Programs
All programs in Computer Science have a Co-operative Education option. This requires the completion of three Co-op work terms.
The Co-op office receives requests from employers for Co-op placements and advertises these to qualifying students. Students apply for these positions and are interviewed by the employer.
Students interested in the Co-op program should apply to register for CSCI 8890.00 in their second year.
5. Specializations
The following three specializations have been approved within the Bachelor of Computer Science Programs:
| | | |
| | Graphics, Gaming, and Media |
| | Artificial Intelligence and Intelligent Systems |
| | Communication Technologies and Cyber Security |
The above three specializations have been approved for the following Bachelor of Computer Science programs: BCSC, BCSC Co-op, BCSC with Honours, BCSC Honours with Co-op, BCSC Honours Conversion, BCSC Honours Conversion with Co-op.
The specializations have the following requirements:
Graphics, Gaming, and Media specialization requires a student to take three compulsory and two electives from a list of elective courses. Required courses are:
Elective courses are:
Artificial Intelligence and Intelligent Systems specialization requires a student to take two compulsory and two electives at the 4th year level from a list of elective courses. Required courses are:
Elective courses are:
Communication Technologies and Cyber Security specialization requires a student to take two required courses and three electives from a set of elective courses. Required courses are:
Elective courses are:
Degree Requirements and Specialization Requirements
Note that to obtain a degree, the degree requirements must be satisfied. To obtain a specialization certificate, requirements for the specialization, in addition to the degree requirements, must be satisfied. Students need to contact the Undergraduate Administrator to request a certificate and a note on their transcript.
Additional information on the specializations is available at http://www.cs.dal.ca/undergraduate/specializations.
6. Entry Points to Bachelor of Computer Science
There are multiple entry points into the Bachelor of Computer Science program.
First-Year Entry-Students are advised to apply directly to the Faculty of Computer Science but may take their classes within the BSc first year and transfer to Computer Science at the beginning of their second year.
Students who wish to transfer to the Bachelor of Computer Science program from other disciplines may be able to do so, but will have to make up any required classes that are missing.
See also the Academic Regulations section for the Faculty of Computer Science on page 32.
7. Accreditation and the Profession
Of particular importance to the Faculty is the accreditation of the undergraduate program by the Computer Science Accreditation Council (CSAC), which is responsible for accreditation of computer science programs in Canada. Accreditation provides our graduates with an accelerated path towards achieving the professional designation of Information Systems Professional of Canada (I.S.P.).
The Bachelor of Computer Science, Bachelor of Computer Science with Co-op, Bachelor of Computer Science with Honours, and Bachelor of Computer science with Honours and Co-op are accredited by CSAC.
The co-operative program offers work terms to our students, thus providing an additional link between the Faculty and the Profession.
C. Bachelor of Science and Bachelor of Arts with Computer Science
1. Bachelor of Science Major in Computer Science
The Faculty of Computer Science offers a Bachelor of Science degree with a Major in Computer Science. The program of studies is similar to the Bachelor of Computer Science, but with more flexibility in selection of elective classes. The program may be of benefit for students who want to use it as a basis to enter other professional programs such as Education, Medicine, or Law. However, unlike the Bachelor of Computer Science degree, it does not meet CSAC accreditation requirements. Students interested in this degree option will find further information on the Faculty website at
http://www.cs.dal.ca and should consult with a Faculty advisor.
2. Double Majors and Combined Honours
The following degree programs are available to students interested in interdisciplinary studies where the larger number of majors credits is Computer Science: Bachelor of Science (20-credit) with Double Major, Bachelor of Science (20-credit) with Combined Honours, Bachelor of Arts (20-credit) Double Major and Bachelor of Arts (20-credit) Combined Honours.
Combined Honours
Students interested in taking honours in Computer Science and another subject as a combined program should consult the honours advisor through whom a suitable course of study can be arranged.
A combined honours program may well be an appropriate choice for many students. If a student is contemplating graduate work, it should be borne in mind that the work in either subject of a combined honours program may be insufficient for entry to a regular graduate program, and that a qualifying year may be necessary.
Students who wish to arrange interdisciplinary programs (with fields such as Mathematics, Physics, Psychology, and others) are invited to discuss their interests with the appropriate department and the Undergraduate Chair of the Faculty of Computer Science.
D. Scholarships
Scholarships and bursaries are available to both new and returning students. See the Awards and Financial Aid section of this calendar.
E. Minor in Computer Science for Non-Computer Science Major BSc
The Minor in Computer Science is available to students registered in the BSc 20-credit major and honours programs offered by the Faculty of Science. The requirements are as for the appropriate program with the completion of the following classes to fulfil the Computer Science Minor:
The selection of CSCI classes for a minor in computer science excludes CSCI 2100.03 and CSCI 3101.03
III. Class Descriptions
CSCI 1100.03: Computer Science I.
CSCI 1101.03: Computer Science II.
CSCI 1106.03: Animated Computing.
CSCI 1107.03: Social Computing.
CSCI 1200.03: Introduction to Computing for Non-Majors.
CSCI 1206.03: Introduction to Website Creation.
CSCI 1502.03: Core Business Applications.
CSCI 2100.03: Communication Skills: Oral and Written.
CSCI 2110.03: Computer Science III.
CSCI 2112.03: Discrete Structures I.
CSCI 2113.03: Discrete Structures II.
CSCI 2121.03: Computer Organization with Assembly Language.
CSCI 2132.03: Software Development.
CSCI 2141.03: Introduction to Database Systems.
CSCI 2170.03: Introduction to Server Side Scripting.
CSCI 2201.03: Introduction to Information Security.
CSCI 3101.03: Social, Ethical and Professional Issues in Computer Science.
CSCI 3110.03: Design and Analysis of Algorithms I.
CSCI 3111.03: Introduction to Numerical Linear Algebra.
CSCI 3120.03: Operating Systems.
CSCI 3121.03: Computer Systems Architecture.
CSCI 3130.03: Introduction to Software Engineering.
CSCI 3132.03: Object Orientation and Generic Programming.
CSCI 3136.03: Principles of Programming Languages.
CSCI 3151.03: Web Intelligence.
CSCI 3154.03: Introduction to Artificial Intelligence with Gaming Application.
CSCI 3160.03: User Interface Design.
CSCI 3161.03: Computer Animation.
CSCI 3162.03: Digital Media.
CSCI 3171.03: Network Computing.
CSCI 3172.03: Web-Centric Computing.
CSCI 3190.03: Community Outreach.
CSCI 3191.03: Community Outreach II.
CSCI 4112.03: Theory of Computation.
CSCI 4113.03: Design and Analysis of Algorithms II.
CSCI 4114.03: Formal Aspects of Software Engineering.
CSCI 4115.03: Topics in Graph Theory.
CSCI 4121.03: Advanced Computer Architecture.
CSCI 4122.03: Software Design Methods for Real Time Systems.
CSCI 4131.03: Compiler Construction.
CSCI 4134.03: Software Architecture.
CSCI 4136.03: Software Testing and Quality Assurance.
CSCI 4137.03: Software Deployment, Maintenance, and Evolution.
CSCI 4138.03: Empirical Performance Modelling.
CSCI 4140.03: Advanced Database Systems.
CSCI 4141.03: Information Retrieval.
CSCI 4144.03: Introduction to Data Mining and Data Warehousing.
CSCI 4152.03: Natural Language Processing.
CSCI 4155.03: Machine Learning with Robotics.
CSCI 4160.03: Computer Graphics.
CSCI 4163.03: Human-Computer Interaction.
CSCI 4166.03: Visualization.
CSCI 4167.03: Advanced Computer Animation.
CSCI 4168.03: Game Design and Development.
CSCI 4171.03: Networks and Communication.
CSCI 4174.03: Network Security.
CSCI 4176.03: Mobile Computing.
CSCI 4180.03: Introduction to Computational Biology and Bioinformatics.
CSCI 4181.03: Bioinformatics Algorithms.
CSCI 4190.03: Special Topics in Computer Science.
CSCI 4192.03: Directed Studies.
CSCI 8873.03: Honours Seminar.
CSCI 8890.00: Co-Op Seminar.
CSCI 8891.00: Co-op Work Term I.
CSCI 8892.00: Co-op Work Term 2.
CSCI 8893.00: Co-op Work Term 3.