Bachelor of Computer Science (BCS)

Bachelor of Computer Science

Students taking the Bachelor of Computer Science Degree study the design, structure and use of modern computer systems. Students will understand how modern computer systems work and how modern computers support complex applications. You will learn to design systems that run efficiently on all kinds of computing devices such as lap top computers, tablets, smart phones and robotic devices. Options exist that allow you to specialize in computer games, computer networks and artificial intelligence. The co-op placements program allows you to obtain valuable work experience and earn a good salary during your three work terms.

You can tailor your degree to match your interests, doubling with another major such as Environment, Sustainability and Society, or supplementing with a specialty in the sciences, psychology, foreign languages or any other subjects you choose. With Dalhousie’s BCS, you can earn your degree with honours or with co-op study terms for more real-world experience.

Students are able to select from a broad set of minors for the Bachelor of Computer Science (with/without Honours, with/without co-op) program. Optionally, the students are able to select from the following specializations: Specialization in Graphics, Gaming, and Media; Artificial Intelligence and Intelligent Systems; Communication Technologies and Cyber Security.

The Bachelor of Computer Science, Bachelor of Computer Science (with Co-op Education option) and Bachelor of Computer Science with Honours have been accredited by the Canadian Information Processing Society's (CIPS) Computer Science Accreditation Council (CSAC).

The CSAC works with academic institutions to ensure that educational programs prepare students for the demands of the Computing and Information Systems profession. Completion of accredited computer information systems programs, assist graduates in pursuing the Information Systems Professional of Canada I.S.P.) designation. More information about CIPS and the professional certification program can be obtained at http://www.cips.ca or (905) 602-1370.

BCS Degree Requirements and Courses

See the Dalhousie Computer Science Undergraduate Calendar for detailed course information and degree requirements, as administered by the Registrar's office.

Suggested Courses for First Year BCS Students

The course selection of a first year student in the Bachelor of Computer Science typically contains a mix of specific courses, courses for broader degree requirements like writing or science requirements, and general electives. We provide some sample course selections that involve common choices among.

Students applying to enter the first year are encouraged to email inquiries@cs.dal.ca if they have questions

Computer Science focus
Fall Winter
CSCI 1100 Computer Science 1 CSCI 1101 Computer Science 2
INFX 1615 Concepts in Computing INFX 1616 Applications of Computing
CSCI 1107 Social Computing CSCI 1106 Animated Computing
INFX 1606 Introduction to Web Site Creation INFX 2601 Introduction to Information Security
MATH 1000 Differential and Integral Calculus 1 MATH 2030 Matrix and Linear Algebra 1

Science focus
Fall Winter
CSCI 1100 Computer Science 1 CSCI 1101 Computer Science 2
Any first writing course from the list below Any second writing course from the list below
one of BIOL 1010, CHEM 1011, PHYC 1100X, or PSYO 1011 one of BIOL 1011, CHEM 1012, PHYC 1100Y, or PSYO 1012
one of BIOL 1010, CHEM 1011, PHYC 1100X, or PSYO 1011 one of BIOL 1011, CHEM 1012, PHYC 1100Y, or PSYO 1012
MATH 1000 Differential and Integral Calculus 1 MATH 1010 Differential and Integral Calculus 2

Business focus
Fall Winter
CSCI 1100 Computer Science 1 CSCI 1101 Computer Science 2
Any first writing course from the list below Any second writing course from the list below
one of BIOL 1010, CHEM 1011, CSCI 1107, or PHYC 1300X one of BIOL 1011, CHEM 1012, CSCI 1106, or PHYC 1300Y
COMM 1010 Business in a Global Context ECON 1101 Principles of Microeconomics
MATH 1000 Differential and Integral Calculus 1 ECON 1102 Principles of Macroeconomics

Arts and Social Science focus
Fall Winter
CSCI 1100 Computer Science 1 CSCI 1101 Computer Science 2
Any first writing course from the list below (e,g. RELS 1200X) Any second writing course from the list below (e,g. RELS 1200Y)
Science with a lab from the list below (e.g. CSCI 1107) Science with a lab from the list below (e.g. CSCI 1106)
Any first course in the Faculty of Arts and Social Science Any second course in the Faculty of Arts and Social Science
MATH 1000 Differential and Integral Calculus 1 Elective (2000+) in the FASS (e.g. HIST 2504 History of the Modern Middle East)

Generic schedule
Fall Winter
CSCI 1100 Computer Science 1 CSCI 1101 Computer Science 2
Any first writing course from the list below Any second writing course from the list below
Science with a lab from the list below Science with a lab from the list below
Elective in any subject (Arts, Science, Management, Computer Science) Elective in any subject (Arts, Science, Management, Computer Science)
MATH 1000 Differential and Integral Calculus 1 Elective in any subject (Arts, Science, Management, Computer Science) or Math 1010 or Math 2030 or CSCI 2112

Bachelor of Computer Science degree requirements

In the table below, a course means a one-semester (four-month) course, typically with three lecture hours per week. The normal load is five courses per semester. Also, a notation such as 3000+ indicates that the class chosen must be numbered 3000 or higher.

The leftmost column indicates the number of one-semester courses that you are required to take.

Bachelor of Computer Science degree requirements
Courses Course number or category
1 CSCI 1100 Computer Science 1
1 CSCI 1101 Computer Science 2
2 Two term writing requirement (see below)
2 Two term science with lab requirement (see below)
1 CSCI 2100 Communications Skills: oral and written
1 CSCI 2110 Computer Science III
1 CSCI 2121 Introduction to Computer Organization and Assembly Language
1 CSCI 2132 Software Development
1 CSCI 2141 Introduction to Database Systems
1 CSCI 3101 Social, Ethical and Professional issues in Computer Science
1 CSCI 3110 Algorithm Analysis I
1 CSCI 3120 Operating Systems
1 CSCI 3130 Software Engineering
1 CSCI 3136 Principles of Programming
1 CSCI 3171 Network Computing
1 MATH 1000 Differential and Integral Calculus I
1 MATH 2030 Matrix Theory and Linear Algebra I
1 STAT 2060 Introduction to Probability and Statistics I
1 MATH 1010 Differential and Integral Calculus II or CSCI 2113 discrete structures II
1 CSCI 2112 Discrete Structures I
1 Humanities or social science (1000+)
2 Business, science, or engineering (1000+)
1 Business, science, or engineering (2000+)
2 Free elective (1000+)
7 Free elective (2000+)
2 CS elective (3000+)
3 CS elective (4000+)

New or newly available electives from Computer Science for CS students

* It is recommended that the 1-st year students take CSCI 1106 and CSCI 1107 as either science (1000 level) requirement(s) and/or as free elective(s) (1000 level). CSCI 1107 is offered in both the fall and the winter and it may be taken together with CSCI 1106 in the winter.

The following schedule of courses is only a recommendation. Students can select courses in whichever year they choose provided that they have satisfied the prerequisites for their course selections. We strongly recommend that all core computer science and mathematics courses be completed before the start of the student's fourth year. We also recommend that students consult an academic advisor if they have any questions about selecting courses for their programme.

Suggested Schedule for Second, Third and Fourth Year Students

Year 2 Year 3 Year 4
CSCI 2100 Communications Skills: oral and written CSCI 3101 Social, Ethical and Professional issues in Computer Science 2 - 3000+ CS Electives
CSCI 2110 Computer Science III CSCI 3110 Algorithm Analysis I 3 - 4000+ CS Electives
CSCI 2112 CSCI 3120 Operating Systems 5 - 2000+ Free Electives
CSCI 2121 Introduction to Computer Organization and Assembly Language CSCI 3130 Software Engineering  
CSCI 2132 Software Development CSCI 3136 Principles of Programming  
CSCI 2141 Introduction to Database Systems CSCI 3171 Network Computing  
STAT 2060 Introduction to Probability and Statistics I 1 - 1000+ Business, Science, or Engineering  
MATH 2030 Matrix Theory and Linear Algebra I 1 - 2000+ Business, Science, or Engineering  
1 - 1000+ Business, Science, or Engineering 2 - 2000+ Free Electives  
1 - 1000+ Humanities or Social Science    
  • Students may replace MATH 1010 with MATH 2030 in year 1and then replace CSCI 2113 for MATH 2030 in year 2.
  • The science with a lab requirement is usually completed with 1 full credit selected from the following courses (a .03 suffix designates a half-credit course and .06 suffix designates a full credit course):
    • CSCI 1106.03
    • CSCI 1107.03
    • BIOL 1010.03
    • BIOL 1011.03
    • CHEM 1011.03
    • CHEM 1012.03
    • ENGI 1100.03
    • ENGI 1400.03
    • ERTH 1010.03
    • ERTH 1020.03
    • ERTH 1080.03
    • ERTH 1090.03
    • PHYC 1100.06
    • PHYC 1300.06

    Consult with an academic advisor before selecting any other course for the science with a lab degree requirement.

  • The following courses have been approved to count towards the Writing Requirement:

    • INFX 1615
    • INFX 1616
    • CLAS 1000.06
    • ENGL 1000.06
    • Two of ENGL 1010.03, ENGL 1020.03, ENGL 1030.03, ENGL 1040.03 and ENGL 1050.03
    • GERM 1020.06
    • GERM 1080.06
    • HIST 1005.06
    • HIST 1867.06
    • HSTC 1800.03 and HSTC 1801.03 (both must be completed)
    • JOUR 1001.06
    • PHIL 1010.06
    • POLI 1103.06
    • RELS 1200.06
    • RUSN 1020.03 and RUSN 1070.03 (both must be completed)
    • SOSA 1050.06
    • SUST 1000.06
    • THEA 1000.06
    • THEA 1300.06
    • Dalhousie Integrated Science Program
  • Academic advisors are available to discuss choices of electives. The choice of an elective depends on the interests of the student. Consequently, the Faculty does not maintain a list of recommended electives.

* Students enrolled in the Bachelor of Computer Science prior to September 2005 are not required to take CSCI 3136. This course in the degree requirements is replaced by an additional 3000+ CS elective.