TRU Science

Bachelor of Science (Major in Computing Science)

The BSc Major in Computing Science is a four-year degree program that provides students with a broad training in science (concentrated in the first two years), and then a thorough training in computing science (concentrated in the last two years). Graduates will then be well qualified for a wide range of employment opportunities, for further study in advanced degrees and for research positions. A cooperative education option is available for the Major in Computing Science.

The first two years of all BSc programs at TRU (the pre-degree years) focus on providing scientific breadth, enhancing communication skills — oral, written and computer — and completion of in-depth pre-requisite courses for the specific degree. Currently students enter the BSc program at TRU at the end of their second year of study. A student in full time study would normally have completed 60 credits by this time, but entry to the program can formally take place after the completion of 48 credits. The degree component (the final 60 credits) would normally be completed in two years (four academic semesters) of full time study, although completion of the degree on a part time basis will be an option. Graduates will be able to draw upon their general and specific scientific knowledge, and the analytical and research skills that they learn as an integral part of the degree program.

Questions? Contact the program coordinator at BscAdvising@tru.ca.

Program structure and requirements

Years 1 and 2
COMP 1130
Computer Programming 1 (3,1,1)

COMP 1130 Computer Programming 1 (3,1,1)

Credits: 3 credits
Delivery: Campus

Students are introduced to the use of structured problem solving methods, algorithms, structured programming, and object-oriented programming concepts. Students use a high level programming language to learn how to design, develop, and document well-structured programs using software engineering principles. Students learn the workings of a computer as part of programming. This course is for students who plan to take further courses in Computing Science or to learn basic programming concepts. Notes: 1. Students with previous programming experience (if-else, loops, arrays) in a language other than Java, should take COMP 1230 or COMP 2120 2. Students may not receive credit for more than one of COMP 1130, COMP 1131 and COMP 1520
For more information, search for this course here.

COMP 1230
Computer Programming 2 (3,1,0)

COMP 1230 Computer Programming 2 (3,1,0)

Credits: 3 credits
Delivery: Campus

This course is a continuation of COMP 1130 and provides a foundation for further studies in computing science. The objectives are to introduce object oriented programming and continue to develop a disciplined approach to the design, coding and testing of programs. In a laboratory setting, through critical thinking and investigation, students will iteratively design and build a variety of applications to reinforce learning and develop real world competency in Computer. This course is for students who plan to take further courses in Computing Science or to learn basic Object Oriented programming concepts.
Prerequisite: C or better in COMP 1130 or 1131
Note: Students may not receive credit for more than one of COMP 1230 and 2120.
For more information, search for this course here.

COMP 2130
Introduction to Computer Systems (3,1,0)

COMP 2130 Introduction to Computer Systems (3,1,0)

Credits: 3 credits
Delivery: Campus

Students learn the basic concepts of computer systems. Students are introduced to the concepts of computer architecture, the 'C' and assembly programming languages as well as the use of Linux operating system. Students learn about memory organization, data representation, and addressing. Students are introduced to the concepts of machine language, memory, caches, virtual memory, linkage and assembler construction as well as exceptions and processes.
Prerequisite: C or better in COMP 1230 or COMP 1231 or COMP 2120
For more information, search for this course here.

COMP 2230
Data Structure, Algorithm Analysis, and Program Design (3,1,0)

COMP 2230 Data Structure, Algorithm Analysis, and Program Design (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the basic methods of representing data in Computing Science. Students review, implement and analyze several fundamental data structures including lists, stacks, queues, and graphs. Students learn the implementation of algorithms using these data structures and the efficiency and cost tradeoffs of each of them.
Prerequisite: C or better in COMP 1390 or MATH 1700 or MATH 1701, and COMP 1230 or COMP 1231 or COMP 1240 or COMP 2120
Note: Students can receive credit for either COMP 2230 or COMP 2231
For more information, search for this course here.

COMP 2160
Mobile Application Development 1 (3,1,0)(L)

COMP 2160 Mobile Application Development 1 (3,1,0)(L)

Credits: 3 credits
Delivery: Campus

Students will learn how to develop applications for mobile devices, including smartphones and tablets. Course topics include current mobile platforms, mobile application development environments, mobile device input methods, as well as developing applications for the Android platform. In a laboratory setting students will iteratively design and build a variety of Apps to reinforce learning and develop real world competency in Mobile Application development. Through critical thinking and investigation, students will design and create Apps that solve real world problems.
Prerequisite: C or better in COMP 1230 or COMP 1231
For more information, search for this course here.

COMP 2680
Web Site Design and Development (3,1,0)

COMP 2680 Web Site Design and Development (3,1,0)

Credits: 3 credits
Delivery: Campus

This course introduces students to an overview of website development. The course focuses on client-side components comprising of Hyper Text Markup Language (HTML), Cascading Style Sheets (CSS), Multimedia, JavaScript programming, Document Object Model (DOM) for dynamic web applications. Significant time is devoted to iterative development in a lab setting using mentor-ship to provide feedback to the students allowing them to reflect on the software written.
Prerequisite: C or better in COMP 1130 or COMP 1131
Note: Students cannot get credit for more than one of COMP 2680, COMP 2681
For more information, search for this course here.

COMP 2210
Programming Methods (3,1,0)

COMP 2210 Programming Methods (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the programming environments of visual and scripting language along with tools and techniques of software development process. Students learn a combination of visual programing using C# and scripting language using Python in this course. Students learn the techniques of event driven visual application development, database and web connectivity, scripts, functions, strings, tuples and text file handling.
Prerequisite: C or better in COMP 1230 or COMP 1231
For more information, search for this course here.

COMP 2920
Software Architecture and Design (3,1,0)

COMP 2920 Software Architecture and Design (3,1,0)

Credits: 3 credits
Delivery: Campus

Students learn how to establish, define and manage the requirements for a software system. Students gain knowledge of fundamental concepts and methods of software design. Students learn how to use design notations of unified modeling language to develop design of a software product. Students are introduced to the design guidelines, quality, and evaluation criteria of software architecture. Students study how to design, generate, and modify software patterns and their use in software development.
Prerequisite: COMP 1230 or COMP 1231 (minimum grade of C) Exclusion Requisite : Students can get credit for either COMP 2920 or COMP 2921
For more information, search for this course here.

MATH 1700
Discrete Mathematics 1 (3,1.5,0)

MATH 1700 Discrete Mathematics 1 (3,1.5,0)

Credits: 3 credits
Delivery: Campus

This course is an introduction to the foundation of modern mathematics including basic set theory; solution to recurrence relations; logic and quantifiers; properties of integers; mathematical induction; introduction to graphs and trees; Boolean algebra and finite state machines. Students will apply the critical thinking skills developed in Mathematics to derive meaning from complex problems. Prerequisites: Pre-calculus 12 (min grade C+) or Foundations of Math 12 (min grade C+) or MATH 0600 (min grade B) or MATH 0610 (min grade C-) or MATH 0630 (min grade C-) or MATH 0633 (min grade C-) or MATH 0650 (min grade C-)
Note: Students will only receive credit for one of MATH 1220, COMP 1390, MATH 1390, MATH 1700 or MATH 1701.
For more information, search for this course here.

Science
One of
BIOL 1110
Principles of Biology 1 (3,0,3)(L)

BIOL 1110 Principles of Biology 1 (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

This course is designed for biology or science majors. Students examine the molecular basis of cellular processes including energy transfer and the storage and use of genetic information.
Prerequisite: Life Sciences 11 with a minimum grade of C+ or Anatomy & Physiology 12 with a minimum grade of C+ and Chemistry 11 or CHEM 0500.
Note: Students repeating a course may be exempt from the laboratory component of that course if they took the course within two years and obtained a grade of at least 70% in the laboratory component of the course. The grade they previously obtained in the laboratory component of the course will be used in the calculation of their course grade.
For more information, search for this course here.

BIOL 1210
Principles of Biology 2 (3,0,3)(L)

BIOL 1210 Principles of Biology 2 (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

Students will explore evolution as unifying principle of biology: how it occurs, and how it leads to increasing biological diversity through speciation. They will develop an understanding of how evolutionary opportunities and constraints are reflected in the history of life on Earth and will examine the evolutionary conundrum of sexual reproduction (or lack thereof) in both plants and animals. They will develop important skills useful for biologists such as working in teams, finding and disseminating information, conducting research projects by developing and testing hypotheses, and communicating research results effectively. Pre-requisites: Life Sciences 11 with a minimum grade of C+ or Anatomy & Physiology 12 with a minimum grade of C+ or BIOL 0500 with a score of C+ or better or BIOL 0600 with a score of C+ or better or BIOL 0620 with a score of C+ or better and Chemistry 11 with a score of C+ or better or CHEM 0500 with a score of C+ or better
For more information, search for this course here.

GEOL 1110
Introduction to Physical Geology (3,0,2)(L)

GEOL 1110 Introduction to Physical Geology (3,0,2)(L)

Credits: 3 credits
Delivery: Campus

Students will learn about Earth, how it formed and continues to evolve, and the relationships between people and societies and geology. The course involves a survey of major topics of geology, including earth systems and cycles, plate tectonics, mountain building, mineralogy, petrology, earthquakes and volcanoes, and mineral and energy resources. Field excursions supplement the lecture and laboratory material. Exclusions: Students may only receive credit for one of GEOL 1110, GEOL 1111 or GEOL 1011
For more information, search for this course here.

GEOL 2050
Historical Geology:Global Change Through Time (3,0,3)(L)

GEOL 2050 Historical Geology:Global Change Through Time (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

In this course students explore the evolution of Earth, the continents, oceans, atmosphere, climate, and biosphere over geologic time. Students learn about the scientific principles, evidence, techniques and technologies for addressing fundamental inquires such as how oxygen was added to the atmosphere, how and why climates have changed throughout time and the significance to current climate change; how water and salts were added to the oceans, and causes of sea level change; the formation and erosion of mountains; causes and effects of glaciations; theories for the origin of life, and the timing and causes of major extinctions; and the recent importance of humans as geologic agents.
Prerequisite: GEOL 1110 or GEOG 1111 or GEOG 1000 or consent of the instructor
Note: Students cannot get credit for more than one of GEOL 2050, GEOL 2051
For more information, search for this course here.

Chemistry
CHEM 1500
Chemical Bonding and Organic Chemistry (4,0,3)(L)

CHEM 1500 Chemical Bonding and Organic Chemistry (4,0,3)(L)

Credits: 3 credits
Delivery: Campus

This course develops an understanding and historical context of atomic and molecular structure. Students will organize and synthesize existing knowledge of chemical structure, and engage in reflective review of their understanding. Topics include electron configurations, periodic trends, chemical bonding, Lewis structures, molecular shapes, valence bond and molecular orbital theory. The organic chemistry portion of the course focuses on the bonding and structure of organic compounds, functional groups, conformational and stereochemical features including applications to biochemistry. The laboratory stresses precision techniques in analytical chemistry. Students collect and analyze data and draw evidence-based conclusions. The laboratory provides opportunity for students to expand their existing knowledge and immerse them in challenging laboratory environment. Students receive weekly feedback and mentorship in the lab and lecture.
Prerequisite: Chemistry 11 or 12 or CHEM 0500 or 0600; and Pre-Calculus 12 or MATH 0600/0610
For more information, search for this course here.

English
One of
ENGL 1100
Introduction to University Writing (3,0,0)

ENGL 1100 Introduction to University Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students explore the practices of reading and writing in scholarly contexts by investigating a chosen topic or issue. Students read, critically analyze, and synthesize information and ideas found in appropriate secondary sources and coming from a variety of disciplinary backgrounds. They also develop their abilities to communicate knowledge by composing in the genres and sub-genres of scholarly writing, including the incorporation of research and documentation while using a clear, persuasive, grammatically-correct style.
Prerequisite: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent
Note: students cannot receive credit for both ENGL 1100 and ENGL 1101
For more information, search for this course here.

ENGL 1110
Critical Reading and Writing (3,0,0)

ENGL 1110 Critical Reading and Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students develop skills in close critical reading comprehension, written composition, and argumentation through the exploration and evaluation of a variety of creative narrative texts. Students learn critically and creatively to articulate complexities of various perspectives, techniques and rhetorical strategies, and assumptions employed by writers to convey a given subject matter or social issue. They also practice critical reflection and clear, persuasive, and grammatically-correct communication by building on scholarly writing and documentation skills. Students develop critical reading and writing skills, which are keys to success in any academic discipline and transfer directly to the workplace.
Prerequisite: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent
Note: Students cannot receive credit for both ENGL 1110 and ENGL 1001.
For more information, search for this course here.

Any two of
ENGL 1100
Introduction to University Writing (3,0,0)

ENGL 1100 Introduction to University Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students explore the practices of reading and writing in scholarly contexts by investigating a chosen topic or issue. Students read, critically analyze, and synthesize information and ideas found in appropriate secondary sources and coming from a variety of disciplinary backgrounds. They also develop their abilities to communicate knowledge by composing in the genres and sub-genres of scholarly writing, including the incorporation of research and documentation while using a clear, persuasive, grammatically-correct style.
Prerequisite: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent
Note: students cannot receive credit for both ENGL 1100 and ENGL 1101
For more information, search for this course here.

ENGL 1140
Introduction to Drama (3,0,0)

ENGL 1140 Introduction to Drama (3,0,0)

Credits: 3 credits
Delivery: Campus

Students develop skills in close critical reading comprehension, written composition, and argumentation through the exploration and evaluation of a variety of dramatic forms that take up a particular theme, topic, or issue chosen by the professor. Through lecture, class discussion, and written assignments, students learn critically and creatively to interpret and compare classic and contemporary dramatic texts. Students demonstrate how to reflect critically and to articulate the complexities of various perspectives, techniques, rhetorical strategies, and assumptions employed by dramatists to convey a given subject matter or social issue. They also practice clear, persuasive grammatically-correct communication while building on scholarly writing and documentation skills. Prerequisites: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent
Note: Students will only receive credit for one of ENGL 1210, ENGL 1011 and ENGL 1140
For more information, search for this course here.

ENGL 1110
Critical Reading and Writing (3,0,0)

ENGL 1110 Critical Reading and Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students develop skills in close critical reading comprehension, written composition, and argumentation through the exploration and evaluation of a variety of creative narrative texts. Students learn critically and creatively to articulate complexities of various perspectives, techniques and rhetorical strategies, and assumptions employed by writers to convey a given subject matter or social issue. They also practice critical reflection and clear, persuasive, and grammatically-correct communication by building on scholarly writing and documentation skills. Students develop critical reading and writing skills, which are keys to success in any academic discipline and transfer directly to the workplace.
Prerequisite: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent
Note: Students cannot receive credit for both ENGL 1110 and ENGL 1001.
For more information, search for this course here.

ENGL 1120
Introduction to Poetry (3,0,0)

ENGL 1120 Introduction to Poetry (3,0,0)

Credits: 3 credits
Delivery: Campus

Students develop skills in close critical reading comprehension, written composition, and argumentation through the exploration and evaluation of a variety of poetic forms that take up a particular theme, topic, or issue chosen by the professor. Through lecture, class discussion, and written assignments, students learn critically and creatively to interpret and compare classic and contemporary poetic texts. Students demonstrate how to reflect critically and to articulate the complexities of various perspectives, techniques, rhetorical strategies, and assumptions employed by poets to convey a given subject matter or social issue. They also practice clear, persuasive, grammatically-correct communication while building on scholarly writing and documentation skills. Prerequisites: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent Exclusion Requisites: ENGL 1210-Introduction To Drama & Poetry, ENGL 1011-Literature and Composition II
For more information, search for this course here.

ENGL 1210
Introduction to Drama and Poetry (3,0,0)

ENGL 1210 Introduction to Drama and Poetry (3,0,0)

Credits: 3 credits
Delivery: Campus

Students develop skills in close critical reading comprehension, written composition, and argumentation through the exploration and evaluation of a variety of poetic and dramatic forms that take up a particular theme, topic, or issue chosen by the professor. Through lecture, class discussion, and written assignments, students learn critically and creatively to interpret and compare classic and contemporary poetic and dramatic texts. Students demonstrate how to reflect critically and to articulate the complexities of various perspectives, techniques, rhetorical strategies, and assumptions employed by poets and dramatists to convey a given subject matter or social issue. They also practice clear, persuasive, grammatically-correct communication while building on scholarly writing and documentation skills.
Prerequisite: English Studies 12 /English First Peoples 12 with a minimum 73% or equivalent Exclusion Requisites: ENGL 1140-Introduction to Drama ENGL 1120-Introduction to Poetry ENGL 1011-Literature and Composition II
For more information, search for this course here.

Math
One of
MATH 1130
Calculus 1 for Engineering (3,1.5,0)

MATH 1130 Calculus 1 for Engineering (3,1.5,0)

Credits: 3 credits
Delivery: Campus

Students build a strong mathematical foundation for engineering by learning ideas, methods and applications of single-variable differential calculus. Limits and derivatives are defined and calculated, derivatives are interpreted as slopes and rates of change, and derivatives are then applied to many sorts of problems, such as finding maximum and minimum values of functions.
Prerequisite: Admission to the Engineering program.
Note: Students can get credit for only one of the following MATH 1130, MATH 1140, MATH 1141, MATH 1150, MATH 1157, MATH 1170 or MATH 1171.
For more information, search for this course here.

MATH 1230
Calculus 2 for Engineering (3,1.5,0)

MATH 1230 Calculus 2 for Engineering (3,1.5,0)

Credits: 3 credits
Delivery: Campus

Students learn the ideas and techniques of single-variable integral calculus from an engineering perspective. Integrals are defined, evaluated and used to calculate areas, volumes, arc lengths and physical quantities such as force, work and centres of mass. Differential equations are introduced and used to model various physical phenomena. Ideas about infinite series are pursued, including some convergence tests, with particular emphasis on Taylor series.
Prerequisite: MATH 1130 with a minimum grade of C.
Note: Students will get credit for only one of MATH 1230, MATH 1240, MATH 1241 or MATH 1250.
For more information, search for this course here.

Or one of
MATH 1140
Calculus 1 (3,1.5,0) or (5,0,0)

MATH 1140 Calculus 1 (3,1.5,0) or (5,0,0)

Credits: 3 credits
Delivery: Campus

Students study differential calculus for functions of one variable, with applications emphasizing the physical sciences. Topics include calculation and interpretation of limits and derivatives; curve sketching; optimization and related-rate problems; l'Hospital's rule; linear approximation and Newton's method. Prerequisites: Pre-calculus 12 with a minimum grade of 67% (C+) or MATH 0610 with a minimum grade of C- or MATH 0630 with a minimum grade of C- or MATH 0633 with a minimum grade of C- or MATH 1000 with a minimum grade of C- or MATH 1001 with a minimum grade of C-
Note: Students can get credit for only one of the following MATH 1130, MATH 1140, MATH 1141, MATH 1150, MATH 1157, MATH 1170 or MATH 1171.
For more information, search for this course here.

MATH 1240
Calculus 2 (3,1.5,0) or (5,0,0)

MATH 1240 Calculus 2 (3,1.5,0) or (5,0,0)

Credits: 3 credits
Delivery: Campus

This course covers integral calculus for functions of one variable, with applications emphasizing the physical sciences. Topics include Riemann sums, definite and indefinite integrals, techniques of integration, improper integrals, applications of integration (including area, volume, arc length, probability and work), separable differential equations, and series. Prerequisites: MATH 1130 with a minimum grade of C- or MATH 1140 with a minimum grade of C- or MATH 1141 with a minimum grade of C- or MATH 1150 with a minimum grade of C- or MATH 1157 with a minimum grade of C-
Note: Students will get credit for only one of MATH 1230, MATH 1240, MATH 1241 or MATH 1250.
For more information, search for this course here.

Physics
PHYS 1100
Fundamentals of Physics 1 (3,0,3)(L)

PHYS 1100 Fundamentals of Physics 1 (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

An algebra-based introduction to physics intended for students with some secondary school physics background. Students develop a basic understanding of several fields of physics through conceptualization, problem-solving and laboratory exercises. Topics include mechanics, fluid mechanics, waves, and thermodynamics.
Prerequisite: Pre-calculus 12 or equivalent with a minimum C+ and Physics 11 or equivalent with a minimum C+. Prerequisite/
Corequisite: MATH 1130 or MATH 1140 or MATH 1150.
For more information, search for this course here.

PHYS 1150
Mechanics and Waves (3,0,3)(L)

PHYS 1150 Mechanics and Waves (3,0,3)(L)

Credits: 3 credits
Delivery: Campus

The student will develop an understanding of physics concepts, acquire and apply problem-solving skills, and gain hands-on experience with data collection and analysis. Topics include mechanics, simple harmonic motion, mechanical waves, sound, wave optics and geometric optics. Calculus will be introduced and used in the course.
Prerequisite: Pre-calculus 12 or equivalent with a minimum C+ grade and Physics 12 or equivalent with a minimum C+ grade. Prerequisite/
Corequisite: MATH 1130 or MATH 1140 or MATH 1150. PHYS 1150 and 1250 are recommended for students planning to major in physics or chemistry.
Note: Students may only receive credit for one of PHYS 1150 or EPHY 1170
For more information, search for this course here.

Statistics
STAT 2009
Communications
CMNS 2290
Technical Communication (3,0,0)

CMNS 2290 Technical Communication (3,0,0)

Credits: 3 credits
Delivery: Campus

Students study a variety of technical communications used to document professional activity, including proposals, technical and formal reports, policies and procedures, technical descriptions and definitions, and instructions. Students learn the importance of documentation and accountability as part of professional due diligence, applicable across many fields including journalism, business, government, public service, consulting and research institutes. Students develop skills in assessing communication needs in a scenario, identifying communication goals, audience need and relevant media. Finally, students learn skills in research and synthesis to ensure professional engagement and presentation of research material. Prerequisites: CMNS 1291 OR CMNS 1290 OR ENGL 1100 OR ENGL 1101 OR CMNS 1810
Note: Students cannot receive credit for more than one of CMNS 2290, ENGL 2290 AND CMNS 2291
For more information, search for this course here.

CMNS 2300
Critical Thinking and Writing for Science and Technology (3,0,0)

CMNS 2300 Critical Thinking and Writing for Science and Technology (3,0,0)

Credits: 3 credits
Delivery: Campus

Students analyze and discuss examples of writing from scientific and technical literature to improve their communication skills for lay and scientific audiences. Students learn to identify and produce writing styles and formats appropriate for science-based contexts and audiences, as well as develop skills in writing and documenting research documents on science and technology topics. Prerequisites: Admission to the Bachelor of Science Program OR Bachelor of Natural Resource Science Program OR Permission of the instructor AND CMNS 1290 OR CMNS 1291 OR ENGL 1100 OR ENGL 1101
Note: Students cannot receive credti for both CMNS 2300 and ENGL 2300
For more information, search for this course here.

Electives
General Elective
General Elective
Years 3 and 4
COMP 3260
Computer Network Security (3,1,0)

COMP 3260 Computer Network Security (3,1,0)

Credits: 3 credits
Delivery: Campus

Students explore how information is exchanged on the Internet and the security issues that arise due to information exchange between different technologies. Students learn concepts of authentication, authorization, access control in computer networks. Students gain knowledge about Use of cryptography for data and network security. Students are introduced to the topics such as firewalls, public key infrastructure, security standards and protocols, virtual private networks, and wireless network security. Students also explore privacy, legal issues and ethics in context of network security.
Prerequisite: C or better in COMP 3270 or COMP 3271
Exclusion: COMP 3261
For more information, search for this course here.

COMP 3270
Computer Networks (3,1,0)

COMP 3270 Computer Networks (3,1,0)

Credits: 3 credits
Delivery: Campus

Students learn about computer network design principles and concepts, network architecture, Open Systems Interconnection (OSI) model, error detection and recovery, local area networks, bridges, routers and gateways, network naming and addressing, routing protocols, inter-networking, wireless networks, and Internet Protocol v6 network addressing. Students first gain knowledge about basic local area networks, and then learn about the wireless Local Area Networks, techniques to extend Local Area Networks, inter-networking and emerging network technologies.
Prerequisite: C or better in COMP 2230 or COMP 2231
For more information, search for this course here.

COMP 3410
Operating Systems (3,1,0)

COMP 3410 Operating Systems (3,1,0)

Credits: 3 credits
Delivery: Campus

The purpose of this course is to provide students basic knowledge of operating systems, difference between the kernel and user modes, concepts of application program interfaces, methods and implementations of interrupts. Students are introduced to the schedulers, policies, processes, threads, memory management, virtual memory, protection, access control, and authentication. Students learn system calls in different popular operating systems used in the industry.
Prerequisite: C or better in COMP 2130 or COMP 2131 and COMP 2230 or COMP 2231
Note: Students cannot get credit for more than one of COMP 3410, COMP 3411
For more information, search for this course here.

COMP 3450
Human-Computer Interaction Design (3,1,0)

COMP 3450 Human-Computer Interaction Design (3,1,0)

Credits: 3 credits
Delivery: Campus

Comp 3450 is the introductory course to interaction design from a human-computer interaction (HCI) perspective. Students will learn both theoretical and practical concepts of human-computer interaction that will help them produce user interfaces developed using a user-centered approach. Students will explore how cultural biases impact how we design computer programs, interfaces and AI programs. In addition, students will debate and discuss increasing concerns regarding the lack of cultural diversity in Machine Learning algorithms, which disadvantages non-privileged groups in society. As such, students will apply intercultural understanding to HCI to build inclusive systems. Further, students will test, reflect and revise their assumptions throughout the course to continually improve previous assignments, as the process of user interface design involves constant revision of existing systems.
Prerequisite: C or better in COMP 2680 or COMP 2681 and MATH 1650 or MATH 1651 or MATH 1240 or MATH 1241
Note: Students cannot receive credit for both COMP 3450 and COMP 3451
For more information, search for this course here.

COMP 3540
Advanced Web Design and Programming (3,1,0)

COMP 3540 Advanced Web Design and Programming (3,1,0)

Credits: 3 credits
Delivery: Campus

Students review client-side web technologies used for static webpages and interactive web applications on clients. Students examine advanced topics in Hyper Text Markup Language, Cascade Style Sheet and JavaScript for interactive web applications that use rich user interfaces. Students then continue with server-side web technologies for dynamic web applications, such as server-side scripting programming, database access for three-tier data-driven applications, and asynchronous communication between client and server for fast partial update of client windows.
Prerequisite: C or better in COMP 2680 or COMP 2681 and COMP 2230 or COMP 2231
Note: Students cannot get credit for more than one of COMP 3540, COMP 3541
For more information, search for this course here.

COMP 3610
Database Systems (3,1,0)

COMP 3610 Database Systems (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the database concepts. Students review the underlying data structures that make up databases. Students learn database design techniques using both the Entity Relationship model as well as an object oriented approach to designing database systems. Students study the relational database model and data normalization as they design and implement a case study project. Students also learn data description language, data manipulation language (updates, queries, reports), and data integrity. Students complete a case study work using a relevant and current relational database management system, database management system, software product. Prerequisite/
Corequisite: C or better in COMP 2230 or COMP 2231
For more information, search for this course here.

COMP 3710
Applied Artificial Intelligence (3,1,0)

COMP 3710 Applied Artificial Intelligence (3,1,0)

Credits: 3 credits
Delivery: Campus

Students investigate non-deterministic computer algorithms that are used in wide application areas but cannot be written in pseudo programming languages. Non-deterministic algorithms have been known as topics of machine learning or artificial intelligence. Students are introduced to the use of classical artificial intelligence techniques and soft computing techniques. Classical artificial intelligence techniques include knowledge representation, heuristic algorithms, rule-based systems, and probabilistic reasoning. Soft computing techniques include fuzzy systems, neural networks, and genetic algorithms. Students will be able to connect and apply a depth and breadth of knowledge in Artificial Intelligence to a wide domain of complex problems beyond Computing Science.
Prerequisite: COMP 2230 (min. grade C) or COMP 2231 (min. grade C) and MATH 1650 (min. grade C) or MATH 1651 (min. grade C) or STAT 2000 (min. grade C) and MATH 2120 (min. grade C) or MATH 2121 (min. grade C).
For more information, search for this course here.

COMP 3520
Software Engineering (3,1,0)

COMP 3520 Software Engineering (3,1,0)

Credits: 3 credits
Delivery: Campus

Students are introduced to the different software process models and management of modular inter-communication, software engineering tools, software testing and project management including resource estimation, team organization and review. Students learn software engineering techniques for dependable and secure systems, reliability engineering, software evolution, software maintenance, quality management, configuration management, reuse and ethical issues in software engineering. By the end of the course students will demonstrate the necessary skills of effective leadership and teamwork required in the Software Engineering discipline.
Prerequisite: C or better in COMP 2920 or COMP 2921
Note: Students cannot get credit for more than one of COMP 3520 or COMP 3521
For more information, search for this course here.

COMP 4910
Computing Science Project (0,1,0)

COMP 4910 Computing Science Project (0,1,0)

Credits: 3 credits
Delivery: Campus

This course is designed as a capstone project in the BCS and CS Major programs and includes the practical design and implementation of a supervised project in an area of specialization in Computing Science. The students will develop a `live' project in collaboration with an external client. The live project will require students to apply the knowledge learned throughout their degree program.
Prerequisite: COMP 3520 (min. grade C) or COMP 3521 (min. grade C); 4th year standing(final year of study) and Instructor permission.
For more information, search for this course here.

COMP XXXX 3000-4000 Level Computing Elective
COMP XXXX 3000-4000 Level Computing Elective
COMP XXXX 3000-4000 Level Computing Elective
COMP XXXX 3000-4000 Level Computing Elective
COMP XXXX 3000-4000 Level Computing Elective
Non-Science Elective
Non-Science Elective
Non-Science Elective
Non-Science/General Elective Open
General Elective Open Upper Level
General Elective Open Upper Level