TRU Science

Computing Science Diploma

The diploma emphasizes the application of computers to the solution of business related problems. The academic training combines technical and computer skills with communication skills (written and oral) and business skills. A commitment to professionalism is an essential characteristic of the diploma.

Program structure and requirements

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.

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 with a minimum C+ or Foundations of Math 12 with a minimum C+ or MATH 0600 with a minimum grade of B 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 0650 with a minimum grade of C-
Note: Students can get credit for only one of the following MATH 1220, COMP 1390, MATH 1390, MATH 1700 or MATH 1701.
For more information, search for this course here.

MATH 1650
Mathematics for Computing Science (3,1.5,0)

MATH 1650 Mathematics for Computing Science (3,1.5,0)

Credits: 3 credits
Delivery: Campus

This course surveys several mathematical concepts used in Computing Science. Topics include logic; circuits; number systems; vector and matrix algebra; systems of linear equations; linear transformations; counting; discrete and continuous probabilities; statistics and random variables; decision analysis and asymptotic notation. Prerequisites: Pre-calculus 12 with a minimum C+ or Foundations of Math 12 with a minimum C+ or MATH 0600 with a minimum grade of B 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 0650 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 COMP 1380, MATH 1380, MATH 1650 or MATH 1651.
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.

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 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.

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.

CMNS 1290
Introduction to Professional Writing (3,0,0)

CMNS 1290 Introduction to Professional Writing (3,0,0)

Credits: 3 credits
Delivery: Campus

Students study the theories and practice of professional organizational communication, learning the importance of effective communication to meeting goals, developing and maintaining relationships and the overall facilitation of work. Students develop skills in evaluating communication scenarios, designing communication strategies that meet goals and audience need, including requests, information sharing and persuasion. In addition, students learn to employ writing techniques and editorial skills relevant to professional communication contexts.
Note: Students cannot receive credit for more than one of CMNS 1290, CMNS 1291, CMNS 1810, CMNS 1811
For more information, search for this course here.

General Elective
General Elective
General Elective
COMP XXXX COMP Elective Open
COMP XXXX COMP Elective Open
COMP XXXX COMP Elective Open