Computer Science - Bachelor of Science
Overview
Whether you’re interested in programming, networking or harnessing the power of big data, computer science is about connecting people and technology to solve real-world problems. You’ll learn from faculty with diverse interests – from artificial intelligence and virtual reality to cyber security and machine learning – in small classes and labs.
During your studies you’ll have opportunities to apply your knowledge in projects that have you working with community partners, not-for-profit organizations and other university faculties in ways that build your professional network and leave you engaged, confident and job-ready.
Choose to pursue a general computer science major that is flexible and allows you to create a focus that reflects your interests, or focus on one of three streams: database and interactive visualization, system and information security, or video gaming.
Contact Information
Department of Computer Science
Room 5-173, City Centre Campus
10700 - 104 Avenue
Edmonton, AB T5J 4S2
T: 780-497-4484
Arts and Science Academic Advising
Room 6-211, City Centre Campus
T: 780-497-4505
E: artsandscience@macewan.ca
Bachelor of Science
Faculty of Arts and Science
MacEwan.ca/Science
The Bachelor of Science (BSc) is a foundational general degree that provides broad and widely applicable knowledge and abilities rather than a niche specialization. This broad base equips graduates with generalist knowledge and skills that give the flexibility and agility so highly valued in a dynamic world economy. It also offers students a solid foundation to specialize in future employment or further schooling.
The degree provides a breadth of study across various Arts and Science disciplines and sets the foundation for later years. The major and minor areas of study allow students to focus and gain in-depth expertise in complementary or entirely disparate disciplines; there is a wide array of possible combinations. Finally, options enable students to explore courses outside their disciplines or even within their program, enhancing their diversity of learning. The small classes, close interaction between instructors and students, opportunities for individual study, and faculty with a strong focus on teaching are signature strengths of this program.
General Program Information
The BSc requires students to complete 120 credits of non-duplicative coursework. The BSc emphasizes breadth and depth and has been designed for exceptional flexibility and customization. Students can complete a major and a minor, a double major, or a major and two minors. Students can choose a secondary major in an Arts or Science discipline, but the primary major must be in a Science discipline.
All newly admitted students enter the BSc program as “Undeclared.” Undeclared means a student has not yet chosen their major(s) and minor(s). Students may declare at any time after being accepted to the BSc, and typically, they declare after completing a minimum of 45 credits. The Arts and Science Academic Advising Office will send information about majors and minors via email and newsletters; please contact the Advising Office if you require further assistance with this decision.
Science Disciplines
Discipline | Major | Minor | Honours |
---|---|---|---|
Applied Statistics | ⦿ | - | ⦿ |
Biological Sciences | ⦿ | ⦿ | ⦿ |
Chemistry | ⦿ | ⦿ | - |
Computer Science | ⦿ | ⦿ | - |
Cybersecurity Studies | - | ⦿ | - |
Earth and Planetary Sciences | - | ⦿ | - |
Environmental Sciences | - | ⦿ | - |
Mathematics | ⦿ | ⦿ | ⦿ |
Mathematical Sciences | ⦿ | - | - |
Planetary Physics | - | ⦿ | - |
Physical Sciences | ⦿ | - | - |
Physics | - | ⦿ | - |
Psychology | ⦿ | ⦿ | ⦿ |
Statistics | - | ⦿ | - |
Arts Disciplines
Discipline | Major | Minor |
---|---|---|
Anthropology | ⦿ | ⦿ |
Classics | ⦿ | |
Creative Writing | ⦿ | |
Economics | ⦿ | ⦿ |
English | ⦿ | ⦿ |
Film Minor for Arts and Science | ⦿ | |
French | ⦿ | |
Gender Studies | ⦿ | |
History | ⦿ | ⦿ |
Philosophy | ⦿ | ⦿ |
Political Science | ⦿ | ⦿ |
Sociology | ⦿ | ⦿ |
Spanish | ⦿ |
Out of Faculty Minors
Discipline | Minor |
---|---|
Accounting Minor for Arts and Science | ⦿ |
Arts and Cultural Management | ⦿ |
Business Law | ⦿ |
Business Studies | ⦿ |
Childhood, Youth, and Family Studies | ⦿ |
Digital Experience Design | ⦿ |
Finance Minor for Arts and Science | ⦿ |
Human Resources Minor for Arts and Science | ⦿ |
Marketing Minor for Arts and Science | ⦿ |
Laddering a Diploma into the Bachelor of Science
Students with an accredited diploma can ladder into the Bachelor of Science (BSc) and use some of their diploma coursework towards their degree requirements. If you have questions about the diploma laddering process, please visit www.macewan.ca/bscstudent or contact artsandscience@macewan.ca.
Preparing for Professional Studies
Students intending to enter professional programs at other universities can take their pre-professional programs in the Faculty of Arts and Science at MacEwan University. The university offers the first and second years of several pre-professional programs, including chiropractic medicine, dental hygiene, dentistry, medical laboratory science, medicine, optometry, pharmacy, and veterinary medicine. All courses in these pre-professional programs are credit courses, and, as such, they may apply to the degrees offered by MacEwan University.
Students are advised to consult the admissions requirements for the universities and programs of their choice and to select their MacEwan University courses accordingly. Completing pre-professional courses at MacEwan University does not guarantee admission to the subsequent professional program. Each professional program requires a separate application, and entry is competitive, not automatic.
Degree Requirements
Breadth Requirements
All Bachelor of Science degrees require Breadth Requirements. Courses can satisfy both the breadth requirements and requirements for the major(s), minor(s), Honours, or options. BIOL, CHEM, EASC, or PHYS courses must include a laboratory component.
Breadth Element | Description | Credits |
---|---|---|
Biological or Earth and Planetary Sciences | BIOL or EASC (not including BIOL 101, BIOL 102, or BIOL 103) | 6 |
Chemistry or Physics | CHEM or PHYS | 6 |
English | ENGL 102 and 3 credits in university English (not including ENGL 111, ENGL 108, or ENGL 211) | 6 |
Humanities | CLAS, COMP, HIST, HUMN, PHIL or a language other than English | 6 |
Mathematical Sciences | One of MATH 114, MATH 120, or MATH 125, and 3 credits in MATH, STAT, or CMPT (not including MATH 160, MATH 170, or CMPT 104) | 6 |
Social Sciences | ANTH, ECON, GEND, LING, POLS, PSYC, or SOCI | 6 |
Bachelor of Science Degree
Program Element | Description | Credits |
---|---|---|
Primary Major | The Science major will range from 42 to 60 credits with a minimum 36 credits taken at the senior-level.1 | 42-60 |
Secondary Major or Minor(s) | Students have the option of completing a second Science or Arts major, or one or two minors. Minor courses must be completed at the senior-level.1 | 18-60 |
Options | Students can choose from Arts and Science courses or up to 18 credits in out-of-faculty options.2 | Up to 60 |
Total Degree Credits Including Breadth | 120 |
- 1
Multi-disciplinary majors consist of 60-84 junior- and senior-level credits. Students who declare a multi-disciplinary major may pursue a minor but are not required to do so.
- 2
Students can take up to 3 credits from Physical Activity (PACT), Emergency Communications and Response (ECRP), Travel (TRVL), or Office Assistant (OAAS, OADM, OALS, or OAMS) to fulfill out-of-faculty options.
Bachelor of Science Honours
Program Element | Description | Credits |
---|---|---|
Minimum Honours Requirements | Honours requirements are determined by each discipline. | 63 |
Option Courses, Non-Compulsory Honours Courses, and/or a Minor | Students have the option of completing a minor from outside of the Honours discipline. Some disciplines may require a minor. | 57 |
Total Degree Credits Including Breadth | 120 |
The minimum passing grade for a course at MacEwan University is a D unless otherwise noted next to the appropriate course in the program of study. In the Faculty of Arts and Science, students typically require a minimum grade of C- to use a course as a prerequisite. Please check course descriptions for more information.
Cross-Faculty Course Recognitions
Cross-Faculty course recognition represents an agreement between programs within MacEwan University and consists of a number of approved courses that have the potential to be recognized within another degree. These courses are not considered transfers or equivalents as the original course will show within a student's transcript and their Academic Planning and Progress Report (APPR). How the courses listed below might be used within a student’s degree are determined by the student’s program of study. They are dependent on a number of factors including year of declaration, year of completion, and individual program requirements.
Out-of-Faculty Course | Course Recognition | Course Used For |
---|---|---|
ACUP 117 | ARTOP 1XX | Options; fulfills Humanities Breadth |
ACUP 209 | SCIOP 2XX | Options |
ACUP 220, ACUP 303, and ACUP 304 (must complete all three courses) | COSL 200 (6 credits) | Options |
ACUP 320 | SCIOP 3XX | Options |
AGAD 300 | COSL 300 | Options |
AGAD 435 | WINL 300 | Options |
ARTE 104 | ARTOP 1XX | Options; fulfills Humanities Breadth |
ARTE 214 | ARTOP 2XX | Options; fulfills Humanities Breadth |
ARTE 224 | ARTOP 2XX | Options; fulfills Humanities Breadth |
ARTE 225 | ARTOP 2XX | Options |
ARTE 234 | ARTOP 2XX | Options; fulfills Humanities Breadth |
ARTE 304 | ARTOP 3XX | Options; fulfills Humanities Breadth |
ARTE 314 | ARTOP 3XX | Options; fulfills Humanities Breadth |
ARTE 324 | ARTOP 3XX | Options; fulfills Humanities Breadth |
CORR 102 | SOCI 1XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CORR 104 | SOCI 1XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CORR 110 | SOCI 225 | Options or Sociology program requirements; fulfills Social Science Breadth |
CORR 120 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CORR 202 | ARTOP 2XX | Options |
CORR 208 | ARTOP 2XX | Options |
CORR 214 | COSL 200 | Options |
CORR 218 | SOCI 321 | Options or Sociology program requirements; fulfills Social Science Breadth |
CORR 224 | COSL 200 | Options |
CYCW 100 | PSYC 2XX | Options or Psychology program requirements; fulfills Social Science Breadth |
CYCW 108 and CYCW 112 | SOCI 1XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 115 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 114 | ARTOP 1XX | Options |
CYCW 201 | PSYC 2XX | Options or Psychology program requirements; fulfills Social Science Breadth |
CYCW 204 | COSL 200 | Options |
CYCW 205 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 206 | ARTOP 2XX | Options |
CYCW 208 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 211 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 302 | ARTOP 3XX | Options; fulfills Social Science Breadth |
CYCW 303 | ARTOP 3XX | Options; fulfills Social Science Breadth |
CYCW 339 | ARTOP 3XX | Options; fulfills Social Science Breadth |
CYCW 340 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 350 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 360 | SOCI 3XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 361 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
CYCW 466 | ARTOP 4XX | Options |
DESN 270 | ARTOP 2XX | Options; fulfills Humanities Breadth |
DESN 271 | ARTOP 2XX | Options; fulfills Humanities Breadth |
ECCS 110 | PSYC 1XX | Options or Psychology program requirements; fulfills Social Science Breadth |
ECCS 115 | ARTOP 1XX | Options |
ECCS 160 | PSYC 2XX | Options or Psychology program requirements; fulfills Social Science Breadth |
ECCS 180 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science breadth |
ECCS 220 | COSL 200 | Options |
ECCS 255 | ARTOP 2XX | Options |
ECCS 260 | SOCI 2XX | Options or Psychology program requirements; fulfills Social Science Breadth |
ECCS 270 | COSL 200 | Options |
ECCS 310 | SOCI 3XX | Options or Sociology program requirements; fulfills Social Science Breadth |
ECCS 355 | SOCI 3XX | Options or Sociology program requirements; fulfills Social Science Breadth |
ECCS 360 | SOCI 3XX | Options or Sociology program requirements; fulfills Social Science Breadth |
ECCS 425 | SOCI 4XX | Options or Sociology program requirements; fulfills Social Science Breadth |
ECDV 160 | ARTOP 1XX | Options |
ECDV 220 | COSL 200 | Options |
ECDV 255 | ARTOP 2XX | Options |
ECDV 260 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
ECDV 270 | COSL 270 | Options |
ECDV 280 | PSYC 2XX | Options or Psychology program requirements; fulfills Social Science Breadth |
FNCE 301 | ECON 3XX | Options or Economics program requirements; fulfills Social Science Breath |
HAPR 101 | SCIOP 1XX | Options |
HAPR 104 | ARTOP 1XX | Options |
HAPR 114 | WINL 200 | Options |
HAPR 201 | ARTOP 2XX | Options |
HAPR 212 | WINL 200 | Options |
HEED 110 | ARTOP 1XX | Options |
HEED 120 | SCIOP 1XX | Options |
HLSC 104 | SCIOP 1XX | Options |
HLSC 105 | SCIOP 1XX | Options |
HLSC 120 | BIOL 1XX | Options or Biological Sciences program requirements |
HLSC 124 | BIOL 1XX | Options or Biological Sciences program requirements |
HLSC 126 | BIOL 1XX | Options or Biological Sciences program requirements |
HLSC 128 | BIOL 2XX | Options or Biological Sciences program requirements |
HLST 150 | SCIOP 1XX | Options |
HLST 210 | ARTOP 2XX | Options |
HLST 290 | SCIOP 1XX | Options |
INFM 101 | ARTOP 1XX | Options |
INFM 202 | ARTOP 2XX | Options |
INFM 208 | ARTOP 2XX | Options |
INFM 209 | ARTOP 2XX | Options |
INFM 210 | ARTOP 2XX | Options |
INFM 260 | COSL 200 | Options |
INTA 210 | ARTOP 2XX | Options; fulfills Humanities Breadth |
INTA 362 | ARTOP 3XX | Options |
MTST 120 | BIOL 1XX | Options or Biological Sciences program requirements |
MTST 122 | BIOL 1XX | Options or Biological Sciences program requirements |
MTST 125 | BIOL 1XX | Options or Biological Sciences program requirements |
MTST 126 | BIOL 1XX | Options or Biological Sciences program requirements |
MTST 161, MTST 162, MTST 260, MTST 261, MTST 262 | COSL 200 | Options |
MUSC 104 | ARTOP 1XX | Options |
MUSC 123 | ARTOP 1XX | Options; fulfills Social Science Breadth |
MUSC 124 | ARTOP 1XX | Options; fulfills Social Science Breadth |
PEDS 100 | BIOL 1XX | Options or Biological Sciences program requirements |
PEDS 101 | BIOL 1XX | Options or Biological Sciences program requirements |
PEDS 103 | BIOL 2XX | Options or Biological Sciences program requirements |
PEDS 109 | SCIOP 1XX | Options |
PEDS 200 | BIOL 2XX | Options or Biological Sciences program requirements |
PEDS 203 | SCIOP 2XX | Options |
PEDS 206 | BIOL 2XX | Options or Biological Sciences program requirements |
PEDS 207 | BIOL 2XX | Options or Biological Sciences program requirements |
PEDS 209 | ARTOP 2XX | Options |
PEDS 240 | SCIOP 1XX | Options |
PERL 104 | ARTOP 1XX | Options |
PERL 204 | ARTOP 2XX | Options |
PERL 207 | ARTOP 2XX | Options |
PSSC 102 | ARTOP 1XX | Options |
PSSC 112 | ARTOP 1XX | Options |
PSSC 121 | SOCI 1XX | Options or Sociology program requirements; fulfills Social Science Breadth |
PSSC 203 | ARTOP 2XX | Options |
PSSC 204 | ARTOP 2XX | Options |
PSSC 212 | ARTOP 2XX | Options |
PSSC 252 | ARTOP 2XX | Options |
PSSC 253 | ARTOP 2XX | Options |
PSSC 272 | COSL 200 | Options |
PSSC 273 | COSL 200 | Options |
SOWK 101 | ARTOP 1XX | Options; fulfills Humanities Breadth |
SOWK 111 | ARTOP 1XX | Options |
SOWK 112 | ARTOP 1XX | Options |
SOWK 203 | ARTOP 2XX | Options |
SOWK 204 | SOCI 2XX | Options or Sociology program requirements; fulfills Social Science Breadth |
TAST 101 | ARTOP 1XX | Options |
TAST 129 and TAST 130 | COSL 200 | Options |
THAR 240 | ARTOP 2XX | Options |
THAS 101 | ARTOP 1XX | Options |
THAS 102 | SCIOP 1XX | Options |
THAS 115 | ARTOP 1XX | Options |
THAS 203 | COSL 200 | Options |
THAS 210 | COSL 200 | Options |
THAS 211 | COSL 200 | Options |
THAS 214 | COSL 200 | Options |
THAS 222 | ARTOP 2XX | Options |
THPR 205 | ARTOP 2XX | Options; fulfills Humanities Breadth |
THPR 206 | ARTOP 2XX | Options; fulfills Humanities Breadth |
THPR 214 | COSL 200 | Options |
THPR 224 | COSL 200 | Options |
Computer Science Requirements
Computer Science Major
The Bachelor of Science (BSc) in Computer Science program requires students to complete 120 credits of non-duplicative coursework. In addition to the Computer Sciences Major, students will complete one of the following:
- one minor,
- two minors, or
- a secondary Science major
Students are required to complete option courses as well as the major(s) and minor(s). All BSc degrees require Breadth Requirements. Courses can satisfy both the breadth requirements and requirements for the major(s), minor(s), or options.
The Computer Science major is 42 to 60 credits with a minimum of 36 senior-level credits. Students majoring in Computer Science have the option of completing the General Computer Science Major, the Database and Interactive Visualization Stream, the System and Information Security Stream, or the Video Gaming Stream.
To declare the Computer Science Major, students need to have successfully completed MATH 114 and have completed or be currently enrolled in CMPT 200. The deadline to declare is January 15 and students will be notified by February 1.
Notes:
- Students majoring in Computer Science are required to take MATH 114, one of MATH 120 or MATH 125, and STAT 151.
- Students can complete a maximum of 9 credits of independent work from CMPT 398, CMPT 496, CMPT 497, and CMPT 498 to fulfill senior-level requirements of the Computer Science Major.
- Students can complete a maximum of 6 credits from CMPT 496 or CMPT 497.
- While not explicitly required, CMPT 101 is the prerequisite for CMPT 103. Students must complete CMPT 101 , or its equivalent, prior to enrolling in CMPT 103. CMPT 101 can be used to fulfill a general major requirement.
- Students can use DESN 240 or DESN 242 in place of CMPT 250 in the Computer Science Major.
Bachelor of Science - Computer Science Major
Code | Title | Credits |
---|---|---|
Specific Major Requirements | ||
CMPT 103 | Introduction to Computing II | 3 |
CMPT 200 | Data Structures and Algorithms | 3 |
CMPT 201 | Practical Programming Methodology | 3 |
CMPT 395 | Introduction to Software Engineering | 3 |
CMPT 496 | Final Project | 3 |
or CMPT 497 | Computer Science Internship | |
Choose 6 credits from the following: | 6 | |
Algorithms I | ||
Computer Organization and Architecture | ||
Introduction to Human Computer Interaction | ||
Introduction to Computer Security | ||
Introduction to File and Database Management | ||
Choose 6 credits from the following: | 6 | |
Introduction to Object-Oriented Programming | ||
Non-Procedural Programming Languages | ||
Web Application Development | ||
Introduction to Real Time Gaming | ||
Introduction to Artificial Intelligence | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Introduction to Computer Graphics | ||
Computer Systems Security | ||
Database Management Systems | ||
General Major Requirements | ||
Choose 15 to 33 credits from junior- or senior-level CMPT. | 15-33 | |
Secondary Major or Minor(s) | ||
Students have the option of completing a second Science or Arts major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can choose from Arts and Science courses or up to 18 credits in out-of-faculty options.1 | 0-60 | |
Total Credits | 120 |
- 1
Students can take up to 3 credits from Physical Activity (PACT), Emergency Communications and Response (ECRP), Travel (TRVL), or Office Assistant (OAAS, OADM, OALS, or OAMS) to fulfill out-of-faculty options.
Bachelor of Science - Computer Science Major, Databases and Interactive Visualization Stream
Code | Title | Credits |
---|---|---|
CMPT 103 | Introduction to Computing II | 3 |
CMPT 200 | Data Structures and Algorithms | 3 |
CMPT 201 | Practical Programming Methodology | 3 |
CMPT 250 | Introduction to Human Computer Interaction | 3 |
CMPT 272 | Formal Systems and Logic in Computing Science | 3 |
CMPT 291 | Introduction to File and Database Management | 3 |
CMPT 395 | Introduction to Software Engineering | 3 |
CMPT 496 | Final Project | 3 |
or CMPT 497 | Computer Science Internship | |
Choose 12 credits from the following: | 12 | |
Web Application Development | ||
Introduction to Data Visualization | ||
Database Management Systems | ||
Information Visualization | ||
Datamining and Advanced Database Topics | ||
Choose 6 to 24 credits from junior- and senior-level CMPT. | 6-24 | |
Secondary Major or Minor(s) | ||
Students have the option of completing a second Science or Arts major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can choose from Arts and Science courses or up to 18 credits in out-of-faculty options.1 | 0-60 | |
Total Credits | 120 |
- 1
Students can take up to 3 credits from Physical Activity (PACT), Emergency Communications and Response (ECRP), Travel (TRVL), or Office Assistant (OAAS, OADM, OALS, or OAMS) to fulfill out-of-faculty options.
Bachelor of Science - Computer Science Major, System and Information Security Stream
Code | Title | Credits |
---|---|---|
CMPT 103 | Introduction to Computing II | 3 |
CMPT 200 | Data Structures and Algorithms | 3 |
CMPT 201 | Practical Programming Methodology | 3 |
CMPT 229 | Computer Organization and Architecture | 3 |
CMPT 280 | Introduction to Computer Security | 3 |
CMPT 360 | Introduction to Operating Systems | 3 |
CMPT 361 | Introduction to Networks | 3 |
CMPT 380 | Computer Systems Security | 3 |
CMPT 395 | Introduction to Software Engineering | 3 |
CMPT 464 | Wireless Networks and Embedded Systems | 3 |
CMPT 480 | Computer Network Security | 3 |
CMPT 496 | Final Project | 3 |
or CMPT 497 | Computer Science Internship | |
Choose 6 to 24 credits from junior- and senior-level CMPT | 6-24 | |
Secondary Major or Minor(s) | ||
Students have the option of completing a second Science or Arts major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can choose from Arts and Science courses or up to 18 credits in out-of-faculty options.1 | 0-60 | |
Total Credits | 120 |
- 1
Students can take up to 3 credits from Physical Activity (PACT), Emergency Communications and Response (ECRP), Travel (TRVL), or Office Assistant (OAAS, OADM, OALS, or OAMS) to fulfill out-of-faculty options.
Bachelor of Science - Computer Science Major, Gaming Stream
Code | Title | Credits |
---|---|---|
CMPT 103 | Introduction to Computing II | 3 |
CMPT 200 | Data Structures and Algorithms | 3 |
CMPT 201 | Practical Programming Methodology | 3 |
CMPT 230 | Introduction to Computer Games | 3 |
CMPT 291 | Introduction to File and Database Management | 3 |
CMPT 330 | Introduction to Real Time Gaming | 3 |
CMPT 370 | Introduction to Computer Graphics | 3 |
CMPT 395 | Introduction to Software Engineering | 3 |
CMPT 496 | Final Project | 3 |
or CMPT 497 | Computer Science Internship | |
CRWR 195 | Introduction to Creative Writing | 3 |
or CRWR 295 | The Craft of Writing | |
Choose 3 credits from the following: | 3 | |
Introduction to Human Computer Interaction | ||
Introduction to Computer Security | ||
Introduction to Artificial Intelligence | ||
Choose 9 to 27 credits from junior- and senior-level CMPT | 9-27 | |
Secondary Major or Minor(s) | ||
Students have the option of completing a second Science or Arts major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can choose from Arts and Science courses or up to 18 credits in out-of-faculty options.1 | 0-60 | |
Total Credits | 120 |
- 1
Students can take up to 3 credits from Physical Activity (PACT), Emergency Communications and Response (ECRP), Travel (TRVL), or Office Assistant (OAAS, OADM, OALS, or OAMS) to fulfill out-of-faculty options.
Computer Science Minor
The Computer Science Minor requires 18 senior-level CMPT credits with a minimum of six credits at the 300- or 400-level, excluding CMPT 310 and CMPT 311.
Notes:
Code | Title | Credits |
---|---|---|
Specific Minor Requirements | ||
CMPT 200 | Data Structures and Algorithms | 3 |
Choose 3 credits from the following: | 3 | |
Practical Programming Methodology | ||
Algorithms I | ||
Computer Organization and Architecture | ||
Introduction to File and Database Management | ||
General Minor Requirements | ||
Choose 12 credits from senior-level CMPT | 12 | |
Total Credits | 18 |
Degree Regulations
Students are strongly encouraged to seek advice from the faculty advisors about program planning.
Academic Residency - Credit Requirements
In addition to the academic residency requirements of the University, while enrolled in the Bachelor of Science (BSc), students must complete at MacEwan University:
- A minimum of 24 credits at the senior-level in the major discipline, with 12 of those senior credits completed at the 300- or 400-level. All 400-level requirements are to be completed at MacEwan University.
- If applicable, a minimum of nine credits in a minor at the senior-level, with at least three of those credits completed at the 300- or 400-level.
Students with a previous MacEwan University credential are required to complete a minimum of 45 credits while enrolled in the BSc.
Students who hold a baccalaureate degree from another post-secondary institution must complete a minimum of 60 additional MacEwan University credits applicable to the BSc. Forty-five of these credits must be completed while the students is enrolled in the BSc. This credit requirement applies to students who began their studies at MacEwan University and completed a credential at another institution.
Students who interrupt their program and who must apply for readmission to the program will be required to comply with any new regulations upon resumption of their studies.
Breadth Requirements
Courses taken to fulfil the major, minor, or option requirements can also be used to satisfy breadth requirements.
Declaration of a Major and Minor
Students are advised to declare a primary major and minor, a primary major and a secondary major, a major and two minors, or a multi-disciplinary major by the time they have completed 45 credits. Primary majors are selected from Science disciplines and consist of 42 to 60 junior- and senior-level credits; multi-disciplinary majors consist of 60 to 84 junior- and senior-level credits. Students who declare a multidisciplinary major may pursue a minor but are not required to do so. Secondary majors can be from a Science or Arts discipline. Students cannot combine a major with a multidisciplinary major. Except for students in an Honours program, a maximum of 60 credits may be completed from any one discipline for credit towards the degree. A major and minor cannot be in the same discipline and students may not declare more than one out-of-faculty minor. Students can re-declare their major(s) and/or minor(s) if required.
For students completing multiple majors or minors, the Faculty cannot guarantee a schedule of classes that will permit students to complete their degree in eight consecutive fall and winter semesters. Furthermore, depending on the configuration of the student's degree, meeting the requirements for the degree may require the completion of more than 120 credits for graduation. Students are strongly encouraged to consult with an academic advisor in the Faculty of Arts and Science Advising Office and a discipline advisor in their major and minor prior to this declaration.
Restricted Enrolment Courses
The Faculty of Arts and Science strives to accommodate all students wishing to enrol in a given course when it is appropriate to their program: however, classes in some courses must, for academic reasons, be restricted in size. If such a course is found to be oversubscribed, priority in registration will be given to those students whose programs may require it (e.g., majors, Honours, and/or minors) and then to other students as space permits.
Graduation Grade Point Average
As part of the Graduation Grade Point Average regulation, Bachelor of Science students must obtain an overall GGPA of 2.0 or higher, with a minimum GPA of 2.0 on all courses credited toward the major(s) and a minimum GPA of 2.0 on all courses credited toward the minor(s).
Graduation Requirements
Graduation requirements are governed by the date on which a student declares their major(s) and minor(s). Students who declare their major(s) and minor(s) on or before the published deadline are bound by the requirements of the current academic year. Those students who declare after this date are bound by the programs of study and degree requirements of the upcoming academic year as published in the MacEwan Academic Calendar.
Junior - and Senior-Level Courses
Courses numbered from 100 to 199 are considered junior-level and courses numbered from 200 to 499 are considered senior-level.
Major or Minor 300- and 400- Level Requirements
The 300- and 400-level requirements in the major or minor cannot consist solely of project, field placement, and/or individual study courses.
Maximum Independent Courses
The maximum number of credits for independent work (project, field placement, and/or individual study courses) excluding the Honours Thesis, is 15 credits. Specific disciplines may have further restrictions.
Maximum Junior-Level Courses
A maximum of 48 credits at the 100-level are permitted in completion of the B.Sc. degree. Additional courses at the 100-level are extra to the 120 credits required to complete the B.Sc. degree and will not be counted toward fulfilment of graduation requirements.
Minimum Science Courses
Students are required to complete successfully a minimum of 72 total credits from Science courses.
Minimum Passing Grade
A minimum grade of D or credit CR is required for all Science degree courses unless otherwise noted next to the appropriate course in the program of study.
Minimum Transfer Grade for Credit
A minimum grade of D is required on any transfer credit granted for the program. Unless otherwise stated, Arts and Science courses require a minimum grade of C- when the course is used as a prerequisite. Transfer credit decisions made by the university are final and cannot be appealed.
Out-of-Faculty Options Requirements
Students may take a maximum of 18 credits from courses offered by a MacEwan University Faculty or School other than Arts and Science. Students completing an out-of-faculty minor or laddering students who have met the minor requirements with a MacEwan University diploma must complete their degree requirements from courses offered within the Faculty of Arts and Science or from the list of Cross-Faculty Course Recognitions in the Academic Calendar. Courses deemed as Cross-Faculty Course Recognitions are used to fulfill in-Faculty courses within the BSc and do not count as out-of-Faculty options.
Progression of Studies
Students are responsible for ensuring they meet the prerequisite and/or co-requisite requirements as noted on all courses that may fulfill Bachelor of Science program requirements.
Honours Regulations
Overall Requirements
The Honours program of study consists of 63 to 84 credits as determined by the discipline. Students in the Honours program may choose to complete a minor outside of the Honours discipline. Some disciplines may require a minor.
Acceptance to Honours
For consideration of admittance/acceptance into Honours, students must present a minimum of 45 university-level credits applicable to the program of study, with a GPA of 3.0 or higher. They must complete 24 of the 45 credits in the last 12 months; however, exceptions to this rule may occur with the approval of the Honours discipline advisor. Individual departments may have additional requirements noted in their program of study.
Course Load
Students accepted into an Honours program must complete 24-credits in each twelve consecutive months they are in the program. Exceptions to this rule may occur with the approval of the Honours discipline advisor.
Grade Point Average
Students accepted and enrolled in the Science Honours program must maintain a minimum overall GPA of 3.0 across all courses in the degree. As well, students must maintain a minimum GPA of 3.3 across a set of courses designated by each discipline for each twelve consecutive months following acceptance into the Honours program. Failure to do so will result in the student’s program status reverting to BSc with a major in the previous Honours discipline.
Graduation Grade Point Average
In order to graduate, students must obtain an overall GGPA of 3.0 or higher, with a minimum GPA of 3.3 on all courses credited toward the Honours program of study.
Program Learning Outcomes
Faculty of Arts and Science Degree-Level Learning Outcomes
Thinking about knowledge is at the core of University education and learning within the Faculty of Arts and Science. Students develop capacities to “think-through” - to practice wonder, reflection, and engage in thoughtful inquiry and dialogue. Thinking-through involves questioning beyond the confines of one's immediate personal, social, and disciplinary surroundings. First, knowledge is acquired and understood. Learning moves beyond acquiring information and data to a formally disciplined manner of thinking about knowledge. Next, knowledge is interrogated by asking and answering questions, distinguishing between opinion and knowledge, and developing tools to assess reasons and evidence. Finally, knowledge is synthesized as students develop coherent arguments, and link ideas together beyond what is immediately apparent. Learning is a lifelong creative process of discovery and action that happens beyond the classroom and the degree. Our graduates interact with and contribute to their community by integrating and applying the research and communication skills and ways of knowing developed through their education. Learning outcomes capture the observable knowledge, skills, and abilities graduates acquire that are the foundation of learning.
Graduates will demonstrate their ability to “think-through” by:
- Analysing puzzles, problems, concepts, and theories.
- Conceptualizing questions based on disciplinary knowledge.
- Evaluating knowledge within and across disciplines in ways that acknowledge historical, cultural, and social contexts.
Graduates will demonstrate research and scholarship skills by:
- Applying appropriate research skills and ethical principles.
- Interpreting results appreciating the value and limits of conclusions.
- Recognizing how research involves an ongoing process of reflection, dialogue, and reassessment.
Graduates will demonstrate diverse skills for communication by:
- Conveying complex ideas coherently in a variety of formats.
- Appraising information in ways that consider context and audience.
- Interpreting the ideas and arguments of others in ways that reflect their knowledge, judgement, and comprehension.
Graduates will demonstrate durable skills necessary for learning beyond their degree by:
- Collaborating with diverse groups.
- Examining different perspectives and challenging biases and preconceptions.
- Exploring the continuous impact and limitations of disciplinary knowledge and expertise.
Computer Science Major Learning Outcomes
Graduates of MacEwan University’s Computer Science program will be able to:
1) Utilize programming skills with different technologies
- Modularize a solution into implementable components
- Write programs in three or more industry-relevant languages
- Write a program that implements a specified algorithm
- Find and resolve problems/errors in code (debugging)
- Write tests to verify that a solution meets specification (testing)
- Apply language-specific standards when programming
2) Judge the quality of a technical solution
- Evaluate that solutions meet current and future requirements
- Evaluate and select technologies that best fit the solutions
- Appraise functional and non-functional (business, legal, ethical, performance, security) requirements
- Examine the quality of technical solutions from Human-Computer Interaction (design and usability) and Software Engineering (maintainability and sustainability) perspectives.
3) Justify their choice of data structure(s), programming paradigm(s), and algorithm(s) when solving problems
- Adopt existing data structures to solve problems
- Evaluate algorithms and data structure in terms of memory, efficiency, and speed
- Compare and contrast various implementation approaches (languages, OS, platforms, etc.)
4) Create a computational method or algorithm that achieves specified outcomes
- Identify the algorithm category of a problem
- Identify subtasks within an algorithm
- Design tests that verify the algorithm meets specified outcomes
- Evaluate the complexity of an algorithm
5) Communicate technical information using a variety of media to a standard of excellence consistent with established best practices
- Write accurate and thorough documentation for a technical solution according to standards
- Convey the appropriate representation (written, graph, diagram, table, video, animation, etc.) to convey information
- Read and summarize technical information
- Express concepts at different levels of knowledge for a variety of audiences (business, technical, public)
Student Plan
- The student plan provides a suggest course sequence with the minimum number of credits required for the major
- The suggested course sequence depends on course availability, the student's schedule, and the student's choice of minor(s) or secondary major
- It is highly recommended that students complete their Breadth Requirements by the end of year 2
- The student plans list CMPT 101 as a requirement of the Computer Science program. Students who have CMPT 101 or its equivalent can take an additional 3 credits (1 course) of senior-level CMPT in year 3 or 4
- Students can complete a maximum of 9 credits (3 courses) of independent work from CMPT 398, CMPT 496, and CMPT 498 to fulfill senior-level requirements of the Computer Science major
Computer Science Major
Year 1 | Credits |
---|---|
CMPT 101 | 3 |
CMPT 103 | 3 |
MATH 114 | 3 |
MATH 120 | 3 |
ENGL 102 | 3 |
Breadth Requirements | 15 |
30 | |
Year 2 | Credits |
CMPT 200 | 3 |
CMPT 201 | 3 |
Choose 6 credits (2 courses) from the following: | 6 |
STAT 151 | 3 |
Breadth, Option, Minor(s), or Primary or Secondary Major Requirements | 15 |
30 | |
Year 3 | Credits |
CMPT 395 | 3 |
Choose 6 credits (2 courses) from the following: | 6 |
Choose 3 credits (1 course) from senior-level CMPT | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 18 |
30 | |
Year 4 | Credits |
Choose 3 credits (1 course) from the following: | 3 |
Choose 9 credits (3 courses) from senior-level CMPT | 9 |
Options, Minor(s), or Primary or Secondary Major Requirements | 18 |
30 | |
Total Credits 120 |
Computer Science Major, Databases and Interactive Visualization Stream
Year 1 | Credits |
---|---|
CMPT 101 | 3 |
CMPT 103 | 3 |
MATH 114 | 3 |
MATH 120 | 3 |
ENGL 102 | 3 |
Breadth Requirements | 15 |
30 | |
Year 2 | Credits |
CMPT 200 | 3 |
CMPT 201 | 3 |
CMPT 250 | 3 |
CMPT 272 | 3 |
CMPT 291 | 3 |
STAT 151 | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 12 |
30 | |
Year 3 | Credits |
CMPT 315 | 3 |
CMPT 351 | 3 |
CMPT 391 | 3 |
CMPT 395 | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 18 |
30 | |
Year 4 | Credits |
Choose 3 credits (1 course) from the following: | 3 |
Choose 3 credits (1 course) from the following: | 3 |
Choose 3 credits (1 course) from senior-level CMPT | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 21 |
30 | |
Total Credits 120 |
Computer Science Major, System and Information Security Stream
Year 1 | Credits |
---|---|
CMPT 101 | 3 |
CMPT 103 | 3 |
MATH 114 | 3 |
MATH 120 | 3 |
ENGL 102 | 3 |
Breadth Requirements | 15 |
30 | |
Year 2 | Credits |
CMPT 200 | 3 |
CMPT 201 | 3 |
CMPT 229 | 3 |
CMPT 280 | 3 |
STAT 151 | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 15 |
30 | |
Year 3 | Credits |
CMPT 360 | 3 |
CMPT 361 | 3 |
CMPT 380 | 3 |
CMPT 395 | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 18 |
30 | |
Year 4 | Credits |
CMPT 464 | 3 |
CMPT 480 | 3 |
Choose 3 credits (1 course) from the following: | 3 |
Choose 3 credits (1 course) from senior-level CMPT | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 18 |
30 | |
Total Credits 120 |
Computer Science Gaming Stream
Year 1 | Credits |
---|---|
CMPT 101 | 3 |
CMPT 103 | 3 |
MATH 114 | 3 |
MATH 120 | 3 |
ENGL 102 | 3 |
Breadth Requirements | 15 |
30 | |
Year 2 | Credits |
CMPT 200 | 3 |
CMPT 201 | 3 |
CMPT 230 | 3 |
CMPT 291 | 3 |
Choose 3 credits (1 course) from the following: | 3 |
STAT 151 | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 12 |
30 | |
Year 3 | Credits |
CMPT 330 | 3 |
CMPT 370 | 3 |
CMPT 395 | 3 |
Choose 3 credits (1 course) from the following: | 3 |
Options, Minor(s), or Primary or Secondary Major Requirements | 18 |
30 | |
Year 4 | Credits |
Choose 3 credits (1 course) from the following: | 3 |
Choose 6 credits (2 courses) from senior-level CMPT | 6 |
Options, Minor(s), or Primary or Secondary Major Requirements | 21 |
30 | |
Total Credits 120 |
Expected Course Offerings
Following is a list of expected course offerings for fall 2025 and winter 2026. While some courses may change, we will ensure that required courses will be available. This list was accurate at the time of publication. For an up-to-date schedule, please check MyStudentSystem before registration opens.
Code | Title | Credits |
---|---|---|
Fall 2025 | ||
Introduction to Computing I | ||
Introduction to Computing II | ||
Data Structures and Algorithms | ||
Practical Programming Methodology | ||
Algorithms I | ||
Unix, Scripting, and Other Tools | ||
Introduction to Computer Games | ||
Introduction to Human Computer Interaction | ||
Formal Systems and Logic in Computing Science | ||
Introduction to File and Database Management | ||
Introduction to Object-Oriented Programming | ||
Computers and Society | ||
Introduction to Numerical Methods | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Introduction to Computer Graphics | ||
Cryptology from Classical to Post-Quantum | ||
Introduction to Software Engineering | ||
Topics in Computer Science | ||
3D Game Development and Artificial Intelligence | ||
Information Visualization | ||
Computer Network Security | ||
Final Project | ||
Computer Science Internship |
Code | Title | Credits |
---|---|---|
Winter 2026 | ||
Introduction to Computing I | ||
Introduction to Computing II | ||
Data Structures and Algorithms | ||
Practical Programming Methodology | ||
Algorithms I | ||
Introduction to Human Computer Interaction | ||
Formal Systems and Logic in Computing Science | ||
Introduction to Computer Security | ||
Introduction to File and Database Management | ||
Introduction to Object-Oriented Programming | ||
Computers and Society | ||
Introduction to Robotics: Programming and Control | ||
Web Application Development | ||
Introduction to Real Time Gaming | ||
Introduction to Data Visualization | ||
Introduction to Artificial Intelligence | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Computer Systems Security | ||
Database Management Systems | ||
Introduction to Software Engineering | ||
Topics in Computer Science | ||
Introduction to Machine Learning | ||
Wireless Networks and Embedded Systems | ||
Final Project |
Admission Requirements
Applicants may be admitted to one of the following:
Regular Admission
To be evaluated through the Office of the University Registrar
Applicants must have a minimum overall average of 65 percent, with no course grade lower than 50 percent, in the following high school courses:
- ELA 30-1
- Mathematics 30-1
- Two of Biology 30, Chemistry 30, Mathematics 31, Physics 30, or Computing Science-Advanced Career and Technology Studies (5 credits)
- One subject from Group A, B, C or D
Notes:
- A maximum of one Group D subject may be presented. Group D subjects used for admission must be 5-credit or any credit combination of at least 5 credits (e.g., two 3-credit subjects).
Applicants with nine to 23 university-level credits must also present a minimum Admission Grade Point Average (AGPA) of 2.0 on a 4.0 scale. Applicants with 24 or more university-level credits will be considered under Previous Post-Secondary Work.
Mature Admission
To be evaluated through the Office of the University Registrar
Applicants must be Canadian Applicants, 20 years of age or older, and have been out of full-time high school at least one year by the beginning of the intake term. Applicants must have a minimum overall average of 60 percent, with no course grade lower than 50 percent, in the following high school courses:
- ELA 30-1
- Mathematics 30-1
- Two of Biology 30, Chemistry 30, Mathematics 31, Physics 30, or Computing Science-Advanced Level Career and Technology Studies (5 credits)
Applicants with nine to 23 university-level credits must also present a minimum Admission Grade Point Average (AGPA) of 2.0 on a 4.0 scale. Applicants with 24 or more university-level credits will be considered under Previous Post-Secondary Work.
Previous Post-Secondary Work
To be evaluated through the Office of the University Registrar
Admission in this category does not imply or guarantee the transfer of any coursework and/or credential unless a block transfer agreement (internal or external) is in effect and published in the calendar by the Office of the University Registrar. In addition, transfer of coursework does not imply or guarantee that an applicant will be admitted.
Applicants must have successfully completed the following:
- A minimum of 24 university-level credits, from a recognized institution, with a minimum Admission Grade Point Average (AGPA) of 2.0 on a 4.0 scale.
- The required mathematics and science courses listed under the Regular or Mature Admission category.
Additional Admission Criteria
All applicants must meet the following:
1. English Language Proficiency
To be evaluated through the Office of the University Registrar
Applicable to All Admission Categories
All applicants must meet an acceptable level of English language proficiency. We will require official documents such as high school or post-secondary transcripts or proof of successful completion of standardized language evaluation. Full details are available in MacEwan University’s academic calendar or online at MacEwan.ca/ELP.
2. Other Admission Criteria
To be evaluated through the Office of the University Registrar
Applicable to All Admission Categories
Applicants who have been assigned two unsatisfactory academic records within the past five years will not be considered for admission or re-admission to the program until a minimum three years from the date of the assignment of the last unsatisfactory academic record. For the purpose of admission or re-admission, an unsatisfactory record is defined as a transcript with the notation ‘required to withdraw’ or equivalent.
Computer Science Courses
CMPT 101
Introduction to Computing I
3 Credits Weekly (3-3-0)
This course provides a breadth-first introductory treatment of concepts in computing science for students with little or no programming background. Topics include data representation and machine architecture; algorithms and their properties; the control constructs of sequence, selection, and repetition; functions; and the notions of data type and operations on data types in low-level and high-level programming languages. Students do introductory programming for a portion of the course. Note: Students with no previous computing experience should enroll in CMPT 101 instead of CMPT 103. Credit cannot be obtained for CMPT 101 if credit has already been granted for CMPT 103.
CMPT 103
Introduction to Computing II
3 Credits Weekly (3-3-0)
This course continues the overview of computing science concepts that was started in CMPT 101. Topics include representation of compound data using abstraction, programming languages, and modularity; algorithms that use these data structures; and networks with the TCP/IP model and client/server architecture. Students continue with the syntax of a high-level programming language: functions, arrays, and user-defined data types.
Prerequisites: A minimum grade of C- in CMPT 101 or ENCP 100 or three credits of intermediate CSE including CSE 2120.
CMPT 104
Fluency with Information Technology
3 Credits Weekly (3-0-0)
This course introduces fundamental computational concepts. While some specific productivity software is covered, this is not a computer literacy course. The emphasis is on the concepts that underlie today's information infrastructure. Topics include abstraction, data representation and analysis, algorithms and algorithmic thinking, the Internet, and security.
CMPT 200
Data Structures and Algorithms
3 Credits Weekly (3-3-0)
This course continues the study of dynamic data structures (e.g., lists, stacks, queues, trees, and dictionaries) and associated algorithms (e.g., traversal, sorting, searching, element addition and removal). Recursion is covered, and some of the basic ideas of object-oriented programming, such as classes and objects, are introduced. Analysis of algorithm time and space using standard notation is introduced. Unit testing is also introduced.
Prerequisites: A minimum grade of C- in CMPT 103.
CMPT 201
Practical Programming Methodology
3 Credits Weekly (3-3-0)
This course provides an introduction to the principles, methods, tools, and practices of the professional programmer. The lectures focus on best practices in software development and the fundamental principles of software engineering. The laboratories offer an intensive apprenticeship to the aspiring software developer. Students use C and the software development tools of the UNIX environment.
Prerequisites: Minimum grade of C- in CMPT 200.
CMPT 204
Algorithms I
3 Credits Weekly (3-0-1)
This is a first course on algorithm design and analysis with an emphasis on fundamentals of searching, sorting and graph algorithms. Examples of methodologies considered include divide and conquer, dynamic programming, and greedy methods, together with analysis techniques to estimate program efficiency.
Prerequisites: Minimum grades of C- in CMPT 200 and MATH 114 and one of CMPT 272 or MATH 200 (Note: CMPT 272 is preferred to MATH 200).
CMPT 220
Unix, Scripting, and Other Tools
3 Credits Weekly (3-2-0)
The student is introduced to a Unix-like operating system along with some of its important design features, such as processes, pipes, and the I/O model. Some of the basic tools and methodologies are discussed, including shell scripts, editors, and standard utilities. Various open source tools are surveyed.
Prerequisites: Minimum grade of C- in CMPT 200.
CMPT 229
Computer Organization and Architecture
3 Credits Weekly (3-3-0)
This course provides a general introduction to number representation, the architecture and organization concepts of von Neumann machines, assembly level programming, exception handling, peripheral programming, floating point computations, and memory management.
Prerequisites: Minimum grade of C- in CMPT 200.
CMPT 230
Introduction to Computer Games
3 Credits Weekly (3-0-0)
This course is an introduction to various aspects of computer game design and marketing. It focuses on the history of computer games, computer game markets, evaluation of computer games, creation and testing of interactive narratives, and game interface design. The course includes a final capstone design for an interactive (narrative) game. Note: This course has a significant writing component; students are advised to take ENGL 102 (or equivalent) prior to taking this course.
Prerequisites: Minimum grade of C- in any CMPT or ENGL course or in either PSYC 104 or PSYC 105.
CMPT 250
Introduction to Human Computer Interaction
3 Credits Weekly (3-2-0)
This course introduces students to the basic components of the interaction design process. Effective user interaction design emphasizes the importance of good interfaces and the relationship of user interface design to human-computer interaction (HCI). The concept of interaction is introduced with a focus on the centrality of the user in HCI. Other topics include interface and interaction types, data gathering and analysis to understand and solve the design problem; design requirements, prototyping and usability testing. The lab allows the students to apply the concepts, tools and methods, discussed in lecture, towards the major course project. Note: In addition to the prerequisite, it is recommended that students taking this course have completed an additional computing science course or an introductory course in psychology, sociology, or anthropology. Note: Students who have received credit in DESN 240 or DESN 242 will not receive credit for CMPT 250.
Prerequisites: A minimum grade of C- in CMPT 101 or CMPT 103.
CMPT 272
Formal Systems and Logic in Computing Science
3 Credits Weekly (3-2-1)
This course provides an introduction to the tools of set theory, logic, and induction, and their use in the practice of reasoning about algorithms and programs. Topics include basic set theory, the notion of a function, counting, propositional and predicate logic and their proof systems, and inductive definitions and proofs by induction.
Prerequisites: A minimum grade of C- in CMPT 101 or CMPT 103 or CMPT 200 and a minimum grade of C- in MATH 114 and C- in MATH 120 or MATH 125.
CMPT 280
Introduction to Computer Security
3 Credits Weekly (3-1-0)
Students are introduced to computer and network security and the underlying concepts of confidentiality, integrity, and availability. Topics include common cyberattacks, identifying vulnerabilities and defending against attacks, and approaches to creating secure systems. Students also work with some of the tools available to security administrators.
Prerequisites: A minimum grade of C- in CMPT 200.
CMPT 291
Introduction to File and Database Management
3 Credits Weekly (3-3-0)
The course covers basic concepts in computer data organization and information processing, the entity-relationship model, the relational model, SQL, and other relational query languages. Other topics include storage architecture, physical organization of data, and access methods for relational data.
Prerequisites: A minimum grade of C- in CMPT 200.
CMPT 305
Introduction to Object-Oriented Programming
3 Credits Weekly (3-3-0)
In this course, students study the object-oriented programming (OOP) paradigm. The components of object-oriented programming are encapsulation, inheritance, and polymorphism. Students use some of the well established design patterns that recur in many non-trivial software systems. The last component of this course is event-driven programming. Note: Credit in CMPT 250 is recommended but not required.
Prerequisites: Minimum grade of C- in CMPT 200.
CMPT 306
Non-Procedural Programming Languages
3 Credits Weekly (3-3-0)
This course examines various programming languages other than the standard third generation languages such as C++ and Java. This course considers a functional language (Lisp) and a logic language (Prolog). The underlying theories of lambda calculus (Lisp) and predicate logic (Prolog) are also studied. A limited number of applications to Artificial Intelligence are considered for both languages. This course also may examine additional interpreted languages.
Prerequisites: Minimum grade of C- in CMPT 200 and CMPT 272.
CMPT 310
Computers and Society
3 Credits Weekly (3-0-0)
This course explores the social, legal and ethical issues arising in the wake of computer technology, especially those concerning self, community, environment, education, work and democracy. Topics include ethical frameworks; data collection and use; privacy and security; intellectual property; artificial intelligence and automation; social responsibility. Note: This is a third year course. It is recommended that students taking this course have at least 48 earned credits in their program of study.
Prerequisites: A minimum grade of C- in CMPT 200, or a current student in the Cybersecurity Studies Minor with a minimum grade of C- in CYCS 200.
CMPT 311
Phenomenon of Technology
3 Credits Weekly (3-0-0)
This hybrid course explores the role and significance of technology in our daily lives through a variety of theoretical and research frameworks and methods, including media ecology, phenomenology, STS (science, technology and society) studies, and human-computer interaction research.
Prerequisites: Minimum grade of C- in any 200-level course (Note: this is a third year course, It is recommended that students taking this course have at least 48 credits in their program of study).
CMPT 312
Introduction to Robotics: Programming and Control
3 Credits Weekly (3-3-0)
This project based course offers an introduction to the basic concepts in robotics and the various algorithms used for perception, locomotion, and pathway planning. Students will get hands on experience with programming micro-controllers and building hardware and will apply concepts learned through interdisciplinary projects.
Prerequisite: A minimum grade of C- in CMPT 200.
CMPT 315
Web Application Development
3 Credits Weekly (3-3-0)
This course introduces various technologies in web programming. It requires students to work individually and collaboratively to design and develop interactive web-based applications. Students learn both client- and server-side programming, database programming, and basic security concepts, testing and deployment.
Prerequisites: Minimum grade of C- in CMPT 291 and CMPT 305.
CMPT 330
Introduction to Real Time Gaming
3 Credits Weekly (3-3-0)
This course introduces the basic concepts of 2D and 3D game writing. Students learn to handle sprite animation, collision detection, and simple game artificial intelligence, and gain an understanding of the basics of 2D and 3D display at the level of the game engine. During this course, students design and implement an effective user interface for a game using a game engine as well as create several very small games. The course culminates with a team-based major game project.
Prerequisites: Minimum grade of C- in CMPT 230 and CMPT 305.
CMPT 340
Introduction to Numerical Methods
3 Credits Weekly (3-2-0)
This course provides an overview of computational methods for solving problems in linear algebra, non-linear equations, interpolation and approximation, and integration. Computer arithmetic and errors are discussed. The aim is to teach students the proper use of mathematical packages currently available.
Prerequisites: Minimum grades of C- in CMPT 201, MATH 114, and one of MATH 120 or MATH 125.
CMPT 351
Introduction to Data Visualization
3 Credits Weekly (3-2-0)
This course introduces techniques and tools for creating effective visualizations based on principles from visual design, perceptual psychology, and cognitive science. The goal of this course is to expose students to visual representation methods and techniques that increase the understandability of complex and varied data.
Prerequisites: Minimum grades of C- in CMPT 250 and STAT 151.
CMPT 355
Introduction to Artificial Intelligence
3 Credits Weekly (3-3-0)
This course provides an introduction to Artificial Intelligence (AI). AI is the study of how human intelligence can be imitated by computer programs. The course presents a survey of the concepts and applications of AI - such as: intelligent agents, knowledge representation, state-space search, propositional logic, and learning and cognitive models. Instructors may choose to augment the course by presenting expert systems and shells, natural language processing, computer vision or robotics. Some of the AI techniques will be implemented using both procedural and non-procedural languages.
Prerequisites: Minimum grades of C- in CMPT 201 and one of CMPT 272 or MATH 200.
CMPT 360
Introduction to Operating Systems
3 Credits Weekly (3-3-0)
This course introduces the fundamentals of operating systems. Topics include scheduling, memory management, concurrency, security and protection, device management, and file systems. The laboratory component involves both the investigation of these concepts in current operating systems as well as their design and implementation.
Prerequisites: Minimum grade of C- in CMPT 201.
CMPT 361
Introduction to Networks
3 Credits Weekly (3-3-0)
This course introduces the basics of networking with a focus on computer networks. Topics include network architectures, protocols, client-server programming, security, and network management. A selection of material from data compression and decompression and multimedia data technologies are also discussed.
Prerequisites: Minimum grade of C- in CMPT 201.
CMPT 370
Introduction to Computer Graphics
3 Credits Weekly (3-3-0)
This course introduces students to the foundations of computer graphics. Topics covered include 2D and 3D transformations, interactive 3D graphics programming, shading and lighting models, geometric modelling, computer graphics rendering including ray tracing and texture mapping. There will be an emphasis on both the mathematical and geometric aspects of graphics, as well as the ability to write complete 3D graphics programs.
Prerequisites: Minimum grades of C- in CMPT 201, MATH 114, and in either MATH 120 or 125.
CMPT 380
Computer Systems Security
3 Credits Weekly (3-3-0)
Students are introduced to the principles and practice of computer systems security and get hands on experience with relevant tools used by security professionals. Students also write programs to illustrate vulnerabilities and attacks relevant to system security . Topics include: host and application threats and hardening, storage security, virtualization, secure software development, web security, risk analysis and ethics.
Prerequisites: Minimum grades of C- in CMPT 280 and CMPT 360.
CMPT 381
Cryptology from Classical to Post-Quantum
3 Credits Weekly (3-3-0)
Cryptographic algorithms are used to ensure the privacy and integrity of data, secure communications, and protect and even supplant currency altogether. However, their utility and ubiquity were recently threatened by developments in quantum computing, necessitating a near future shift to more sophisticated, quantum-resistant algorithms. In this course, students will study the evolution of cryptology, covering the essentials of classical and contemporary symmetric and asymmetric encryption and decryption algorithms in their many forms and applications. In addition, students will study the implications of quantum attacks and explore at least one newly certified quantum-resistant algorithm. The focus of the course will balance practical implementations of naturally theoretical and mathematical concepts.
Prerequisites: Minimum grades of C- in CMPT 200 and one of MATH 120 or MATH 125.
CMPT 391
Database Management Systems
3 Credits Weekly (3-2-0)
This is the second course in database management systems. Topics include database design, normalization theory, transaction management, query processing, and query optimization, building and supporting secure applications. Database support for special data types such as XML documents is considered. Support for complex applications, data analysis and information retrieval is also covered.
Prerequisites: A minimum grade of C- in CMPT 291.
CMPT 395
Introduction to Software Engineering
3 Credits Weekly (3-2-0)
This course is an introduction to the fundamental concepts of software engineering. Topics include software design and analysis, software process, requirements, design patterns and testing. Team management is considered in both the lecture and in the laboratory through the use of team projects.
Prerequisites: A minimum grade of C- in CMPT 201.
CMPT 398
Independent Study
3 Credits Total (0-0-45)
This course permits an intermediate-level student to work with an instructor to explore a specific topic in depth through research or directed reading in primary and secondary sources. The student plans, executes and reports the results of their independent research or study project under the direction of a faculty supervisor. To be granted enrolment in the course, the student must have made prior arrangements with a faculty member willing to supervise the student’s project.
CMPT 399
Topics in Computer Science
3 Credits Weekly (3-3-0)
In this course, students examine one or two topics in computer science. Topics will vary from year to year, but will typically build upon material students will have seen in the second year of their studies. Consultation with the department is required prior to registration. Note: This course may be taken multiple times for credit.
Prerequisites: Consent of the department.
CMPT 430
3D Game Development and Artificial Intelligence
3 Credits Weekly (3-3-0)
Modern game engines provide basic components such as animation and physics but to create a good game, the developer needs to provide functionality beyond the basics. This course will focus non-basic features such as camera control and game search/tracking heuristics. For the major project students will develop a portion of a game level using an existing commercial game engine. Note: CMPT 370 is recommended.
Prerequisites: Minimum grades of C- in CMPT 330 and CMPT 395.
CMPT 450
Information Visualization
3 Credits Weekly (3-3-0)
This course continues the examination of human-computer interaction (HCI) that was begun in CMPT 250, but with the emphasis moving to the design and implementation of interactive visualization systems. Topics include design principles in information visualization, abstraction of data and user tasks, visual encoding, interaction techniques, and visualization toolkits.
Prerequisites: Minimum grade of C- in CMPT 250 and CMPT 305.
CMPT 455
Introduction to Machine Learning
3 Credits Weekly (3-3-0)
Machine learning (ML) is the science of making computers perform tasks without being explicitly programmed. There is a multitude of real-world applications of ML (e.g. speech recognition, advanced web search and information retrieval, self-driven cars). ML is used in almost any computer application without even knowing it. This class teaches the most effective machine learning techniques, along with practical skills to implement and adapt them to new problems.
Prerequisites: Minimum grades of C- in either CMPT 340 and STAT 151, or MATH 335 and CMPT 200.
CMPT 464
Wireless Networks and Embedded Systems
3 Credits Weekly (3-3-0)
This course introduces selected topics in embedded systems and wireless networks. Topics include an introduction to embedded systems with an emphasis on microcontrollers, techniques for programming embedded systems, design for low-power applications, the basics of radio communication, and protocols for both medium access control and routing within static and mobile environments. The laboratory is oriented toward the design and implementation of lecture topics using wireless sensor network hardware.
Prerequisites: Minimum grade of C- in CMPT 395 and C in CMPT 201.
CMPT 470
Introduction to Computer Vision
3 Credits Weekly (3-3-0)
Computer vision is a research field aimed to enable computers to process and interpret visual data, as sighted humans can. It is one of the most exciting areas of research in computing science and among the fastest growing technologies in today’s industry. This course provides an introduction to the fundamental principles and applications of computer vision. Topics include feature detection and tracking, image matching and alignment, geometric relationships between 2D images and the 3D world, and some machine learning methods for computer vision.
Prerequisites: Minimum grades of C- in either CMPT 340 and STAT 151, or MATH 335 and CMPT 200.
CMPT 480
Computer Network Security
3 Credits Weekly (3-3-0)
Students are introduced to the principles and practice of computer network security and get hands-on experience with relevant tools used by security professionals. Students also write code to illustrate vulnerabilities and attacks relevant to network security. Topics include network threats, hardening and monitoring, internet service hardening and network intrusion prevention and detection.
Prerequisites: Minimum grades of C- in CMPT 280 and CMPT 361.
CMPT 491
Datamining and Advanced Database Topics
3 Credits Weekly (3-3-0)
This course on data mining introduces the concepts, algorithms, techniques, and systems of data warehousing. Topics include what data mining is, data preprocessing, integration, and transformation. The design and implementation of data warehouse and OLAP systems, mining frequent patterns and association (basic concepts and advanced methods), and classification, clustering and outlier analysis are covered.
Prerequisites: Minimum grades of C- in STAT 151, CMPT 291, and in a 300-level CMPT course.
CMPT 496
Final Project
3 Credits Total (0-0-60)
In this course, students plan, conduct, and communicate the results of an independent project in Computer Science under the direction of a faculty supervisor. The project can be undertaken by an individual student or, if the scope warrants, by a team of students. Registration is contingent on the student(s) having made prior arrangements with a faculty member willing to supervise the project. Note: This course is intended for students in the final year of their degree. This course may be taken twice for credit.
Prerequisites: Minimum grade of C- in CMPT 395 and consent of the department.
CMPT 497
Computer Science Internship
3 Credits Total (45-0-90)
This course provides students with practical experience in a work environment. Students engage in work integrated learning through employment or internship in industry. Students learn in practice the professional aspects (work and ethics) of a computer scientist. At the end of the placement, students provide a presentation to demonstrate the learning accomplished. The contact hours are a minimum of 90 hours but can involve more depending on the placement. This course may be taken two times for credit. All placements require departmental approval.
Prerequisites: A minimum grade of C- in CMPT 395 and consent of the Department.
CMPT 498
Advanced Independent Study
3 Credits Total (0-0-45)
This course permits a senior-level student to work with an instructor to explore a specific topic in depth through research or directed reading in primary and secondary sources. The student plans, executes and reports the results of their independent research or study project under the direction of a faculty supervisor. To be granted enrolment in the course, the student must have made prior arrangements with a faculty member willing to supervise the student’s project.
CMPT 499
Topics in Computer Science
3 Credits Weekly (3-0-0)
In this course, students examine a topic of specialization in computer science. Topics will vary from year to year. Consultation with the department is required prior to registration. Note: This course may be taken multiple times for credit.
Prerequisites: Consent of the department.