Science Menu
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 [email protected].
Program structure and requirements
COMP 1130 Computer Programming 1 (3,1,1) COMP 1130 Computer Programming 1 (3,1,1)Credits: 3 credits 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 |
COMP 1230 Computer Programming 2 (3,1,0) COMP 1230 Computer Programming 2 (3,1,0)Credits: 3 credits 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.
|
COMP 2130 Introduction to Computer Systems (3,1,0) COMP 2130 Introduction to Computer Systems (3,1,0)Credits: 3 credits 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.
|
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 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.
|
COMP 2160 Mobile Application Development 1 (3,1,0)(L) COMP 2160 Mobile Application Development 1 (3,1,0)(L)Credits: 3 credits 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. |
COMP 2680 Web Site Design and Development (3,1,0) COMP 2680 Web Site Design and Development (3,1,0)Credits: 3 credits 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.
|
COMP 2210 Programming Methods (3,1,0) COMP 2210 Programming Methods (3,1,0)Credits: 3 credits 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.
|
COMP 2920 Software Architecture and Design (3,1,0) COMP 2920 Software Architecture and Design (3,1,0)Credits: 3 credits 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.
|
MATH 1700 Discrete Mathematics 1 (3,1.5,0) MATH 1700 Discrete Mathematics 1 (3,1.5,0)Credits: 3 credits 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-)
|
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 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.
|
BIOL 1210 Principles of Biology 2 (3,0,3)(L) BIOL 1210 Principles of Biology 2 (3,0,3)(L)Credits: 3 credits 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 |
GEOL 1110 Introduction to Physical Geology (3,0,2)(L) GEOL 1110 Introduction to Physical Geology (3,0,2)(L)Credits: 3 credits 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 |
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 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.
|
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 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.
|
English |
One of |
ENGL 1100 Introduction to University Writing (3,0,0) ENGL 1100 Introduction to University Writing (3,0,0)Credits: 3 credits 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.
|
ENGL 1110 Critical Reading and Writing (3,0,0) ENGL 1110 Critical Reading and Writing (3,0,0)Credits: 3 credits 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.
|
Any two of |
ENGL 1100 Introduction to University Writing (3,0,0) ENGL 1100 Introduction to University Writing (3,0,0)Credits: 3 credits 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.
|
ENGL 1140 Introduction to Drama (3,0,0) ENGL 1140 Introduction to Drama (3,0,0)Credits: 3 credits 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
|
ENGL 1110 Critical Reading and Writing (3,0,0) ENGL 1110 Critical Reading and Writing (3,0,0)Credits: 3 credits 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.
|
ENGL 1120 Introduction to Poetry (3,0,0) ENGL 1120 Introduction to Poetry (3,0,0)Credits: 3 credits 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 |
ENGL 1210 Introduction to Drama and Poetry (3,0,0) ENGL 1210 Introduction to Drama and Poetry (3,0,0)Credits: 3 credits 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.
|
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 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.
|
MATH 1230 Calculus 2 for Engineering (3,1.5,0) MATH 1230 Calculus 2 for Engineering (3,1.5,0)Credits: 3 credits 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.
|
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 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-
|
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 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-
|
Physics |
PHYS 1100 Fundamentals of Physics 1 (3,0,3)(L) PHYS 1100 Fundamentals of Physics 1 (3,0,3)(L)Credits: 3 credits 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.
|
PHYS 1150 Mechanics and Waves (3,0,3)(L) PHYS 1150 Mechanics and Waves (3,0,3)(L)Credits: 3 credits 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.
|
Statistics |
STAT 2009 |
Communications |
CMNS 2290 Technical Communication (3,0,0) CMNS 2290 Technical Communication (3,0,0)Credits: 3 credits 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
|
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 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
|
Electives |
General Elective |
General Elective |
COMP 3260 Computer Network Security (3,1,0) COMP 3260 Computer Network Security (3,1,0)Credits: 3 credits 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.
|
COMP 3270 Computer Networks (3,1,0) COMP 3270 Computer Networks (3,1,0)Credits: 3 credits 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.
|
COMP 3410 Operating Systems (3,1,0) COMP 3410 Operating Systems (3,1,0)Credits: 3 credits 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.
|
COMP 3450 Human-Computer Interaction Design (3,1,0) COMP 3450 Human-Computer Interaction Design (3,1,0)Credits: 3 credits 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.
|
COMP 3540 Advanced Web Design and Programming (3,1,0) COMP 3540 Advanced Web Design and Programming (3,1,0)Credits: 3 credits 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.
|
COMP 3610 Database Systems (3,1,0) COMP 3610 Database Systems (3,1,0)Credits: 3 credits 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/ |
COMP 3710 Applied Artificial Intelligence (3,1,0) COMP 3710 Applied Artificial Intelligence (3,1,0)Credits: 3 credits 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.
|
COMP 3520 Software Engineering (3,1,0) COMP 3520 Software Engineering (3,1,0)Credits: 3 credits 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.
|
COMP 4910 Computing Science Project (0,1,0) COMP 4910 Computing Science Project (0,1,0)Credits: 3 credits 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.
|
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 |