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 gives students a solid foundation from which to specialize in future employment or further schooling.
The degree provides breadth of study across a variety of 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 allow students to explore courses outside their disciplines, or even within their program, and so enhance 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 both 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.
Science Disciplines
Discipline | Major | Minor | Honours |
---|---|---|---|
Applied Statistics | ⦿ | - | - |
Biological Sciences | ⦿ | ⦿ | ⦿ |
Chemistry | ⦿ | ⦿ | - |
Computer Science | ⦿ | ⦿ | - |
Earth and Planetary Sciences | - | ⦿ | - |
Mathematics | ⦿ | ⦿ | ⦿ |
Mathematical Sciences | ⦿ | - | - |
Planetary Physics | - | ⦿ | - |
Physical Sciences | ⦿ | - | - |
Physics | - | ⦿ | - |
Psychology | ⦿ | ⦿ | ⦿ |
Statistics | - | ⦿ | - |
Arts Minors
Discipline | Minor |
---|---|
Anthropology | ⦿ |
Classics | ⦿ |
Creative Writing | ⦿ |
Economics | ⦿ |
English | ⦿ |
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 | ⦿ |
Digital Experience Design | ⦿ |
Finance Minor for Arts and Science | ⦿ |
Human Resources Minor for Arts and Science | ⦿ |
Marketing Minor for Arts and Science | ⦿ |
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 year of a number of pre-professional programs, including chiropractic medicine, dental hygiene, dentistry, medical laboratory science, medicine, optometry, pharmacy and veterinary medicine. All courses taken in these pre-professional programs are credit courses and, as such, they may be applied to any of 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. Completion of 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, 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 major, or one or two minors. Minor courses must be completed at the senior-level.1 | 18-60 |
Options | Students can complete up to 15 credits in out-of-faculty options, with no more than 3 credits in physical activity (PACT) courses | Up to 60 |
Total Degree Credits Including Breadth | 120 |
1 | Multi-disciplinary majors consist of 60-72 junior- and senior-level credits. Students majoring in mathematical or physical sciences may pursue a minor but are not required to do so. |
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.
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, and CMPT 498 to fulfill senior-level requirements of the Computer Science Major.
- 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 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 |
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 major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can complete up to 15 credits in out-of-faculty options, with no more than 3 credits in physical activity (PACT) courses. | 0-60 | |
Total Credits | 120 |
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 |
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 major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can complete up to 15 credits in out-of-faculty options, with no more than 3 credits in physical activity (PACT) courses. | 0-60 | |
Total Credits | 120 |
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 |
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 major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can complete up to 15 credits in out-of-faculty options, with no more than 3 credits in physical activity (PACT) courses. | 0-60 | |
Total Credits | 120 |
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 |
CRWR 295 | The Craft of Writing | 3 |
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 major, or one or two minors. Minor courses must be completed at the senior-level. | 18-60 | |
Options | ||
Students can complete up to 15 credits in out-of-faculty options, with no more than 3 credits in physical activity (PACT) courses. | 0-60 | |
Total Credits | 120 |
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:
- Students can use DESN 240 in place of CMPT 250 in the Computer Science Minor.
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, Bachelor of Science 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.
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, or primary major and a secondary major, or a major and two minors by the time they have completed 45 credits. Majors are selected from Science disciplines and consist of 42 to 60 junior- and senior-level credits. Multi-disciplinary majors consist of 60-72 junior- and senior-level credits. With the exception of those 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 courses in which a student enrols, meeting the requirements of a double major may require the completion of more than 120 credits for graduation. Students are strongly encouraged to consult with a program advisor in the Program Services Office in the Faculty of Arts and Science and a discipline advisor in their major and minor prior to this declaration. Students majoring in mathematical or physical sciences may pursue a minor but are not required to do so.
Graduation Grade Point Average
As part of the Graduation Grade Point Average regulation above, 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) up to and including February 15 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 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. 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
Degree options may include a maximum of 15 credits from courses offered by a Faculty or School other than Arts and Science except for those students completing an out-of-faculty minor or those who have met the minor requirements with a diploma. These students must complete their degree options from courses offered within the Faculty of Arts and Science.
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.
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. 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.
Additional Degree Regulations - Subsequent Baccalaureate
In addition to meeting the degree regulations listed above, students who already hold a baccalaureate degree must satisfy the provisions of policies pertaining to subsequent baccalaureate credentials.
Computer Science Courses
CMPT 101
Introduction to Computing I
3 Credits
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 enrol 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
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
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
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.
Prerequisites: Minimum grade of C- in CMPT 103.
CMPT 201
Practical Programming Methodology
3 Credits
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
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 grade of C- in CMPT 200 and CMPT 272 or MATH 200 and MATH 113 or MATH 114 (Note: CMPT 272 is preferred to MATH 200).
CMPT 220
Unix, Scripting, and Other Tools
3 Credits
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
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
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
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: Credit cannot be obtained for both CMPT 250 and DESN 240.
CMPT 272
Formal Systems and Logic in Computing Science
3 Credits
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
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: Minimum grade of C- in CMPT 200.
CMPT 291
Introduction to File and Database Management
3 Credits
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
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
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
This hybrid 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 cyberethics; freedom and information; privacy and security; intellectual property; information technology and the future; 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: Minimum grade of C- in any 200-level course.
CMPT 311
Phenomenon of Technology
3 Credits
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 315
Web Application Development
3 Credits
This course introduces various technologies in web programming. It requires students to work both 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 and testing.
Prerequisites: Minimum grade of C- in CMPT 291 and CMPT 305.
CMPT 330
Introduction to Real Time Gaming
3 Credits
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
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
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
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, expert systems and shells, natural language processing, propositional logic, learning and cognitive models. Some of the AI techniques will be implemented using both procedural and non-procedural languages (Prolog and LISP). Note: Students should be able to program in a high level programming language that allows explicit access to the underlying memory model. C and C++ are acceptable languages.
Prerequisites: Minimum grade of C- in CMPT 201 and CMPT 272.
CMPT 360
Introduction to Operating Systems
3 Credits
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
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
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
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 such as: buffer overflow, SQL injection, cross site scripting and cross site request forgery. Topics include: host and application threats and hardening, storage security, virtualization, secure software development and web and mobile security.
Prerequisites: A minimum grade of C- in CMPT 280 and CMPT 360.
CMPT 391
Database Management Systems
3 Credits
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
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: Minimum grade of C- in CMPT 201.
CMPT 398
Independent Study
3 Credits
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
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.
Prerequisite: Consent of the department.
CMPT 430
3D Game Development and Artificial Intelligence
3 Credits
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 grade of C- in both CMPT 330 and CMPT 395.
CMPT 450
Information Visualization
3 Credits
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
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
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 480
Computer Network Security
3 Credits
Students are introduced to the principles and practice of computer networks security and get hands-on experience with relevant tools used by security professionals. Students also write code to illustrate vulnerabilities and attacks such as packet spoofing, ARP poisoning and DNS cache poisoning. 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
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
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 498
Advanced Independent Study
3 Credits
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
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.
Expected Course Offerings
Following is a list of expected course offerings for the fall and winter terms of 2021-22 and 2022-23. While some might change, students can be assured that required courses will be available.
Code | Title | Credits |
---|---|---|
Fall 2021 | ||
Introduction to Computing I | ||
Introduction to Computing II | ||
Data Structures and Algorithms | ||
Practical Programming Methodology | ||
Unix, Scripting, and Other Tools | ||
Introduction to Human Computer Interaction | ||
Formal Systems and Logic in Computing Science | ||
Introduction to File and Database Management | ||
Introduction to Object-Oriented Programming | ||
Introduction to Real Time Gaming | ||
Introduction to Numerical Methods | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Introduction to Computer Graphics | ||
Introduction to Software Engineering | ||
Computer Network Security | ||
Datamining and Advanced Database Topics |
Code | Title | Credits |
---|---|---|
Winter 2022 | ||
Introduction to Computing I | ||
Introduction to Computing II | ||
Data Structures and Algorithms | ||
Practical Programming Methodology | ||
Algorithms I | ||
Computer Organization and Architecture | ||
Introduction to Computer Games | ||
Introduction to Computer Security | ||
Introduction to File and Database Management | ||
Introduction to Object-Oriented Programming | ||
Introduction to Data Visualization | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Computer Systems Security | ||
Introduction to Software Engineering | ||
Topics in Computer Science | ||
Introduction to Machine Learning | ||
Wireless Networks and Embedded Systems |
Code | Title | Credits |
---|---|---|
Fall 2022 | ||
Introduction to Computing I | ||
Introduction to Computing II | ||
Data Structures and Algorithms | ||
Practical Programming Methodology | ||
Unix, Scripting, and Other Tools | ||
Introduction to Human Computer Interaction | ||
Formal Systems and Logic in Computing Science | ||
Introduction to File and Database Management | ||
Introduction to Object-Oriented Programming | ||
Non-Procedural Programming Languages | ||
Introduction to Real Time Gaming | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Introduction to Computer Graphics | ||
Introduction to Software Engineering | ||
Topics in Computer Science | ||
Computer Network Security |
Code | Title | Credits |
---|---|---|
Winter 2023 | ||
Introduction to Computing I | ||
Introduction to Computing II | ||
Data Structures and Algorithms | ||
Practical Programming Methodology | ||
Algorithms I | ||
Computer Organization and Architecture | ||
Introduction to Computer Games | ||
Introduction to Human Computer Interaction | ||
Introduction to Computer Security | ||
Introduction to Data Visualization | ||
Introduction to Operating Systems | ||
Introduction to Networks | ||
Introduction to Software Engineering | ||
Topics in Computer Science | ||
Information Visualization | ||
Wireless Networks and Embedded Systems |
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.