Trinity Western University

Course Descriptions

Computing Science

    Computing Science courses may be used to satisfy core requirements for natural sciences but not for a laboratory science.

    NB: Students studying programming must master very large amounts of technical material and demonstrate their mastery in written form. For this reason, a high level of English reading and writing skills is required before taking the following courses. Students who lack such skills should take courses to develop them before considering enrolment in any programming course.

    CMPT courses numbered below 130 do not count towards a Mathematics, Applied Mathematics with Computing Science, or Computing Science major, concentration, or minor. Exception: CMPTY/ISYS may be counted toward a Computing Science degree.


  • CMPT 113 Introduction to Information Systems and Web Technologies (3 sem. hrs.)

    An introductory level of understanding of information systems with an emphasis on web technologies. Authoring static and client-sided dynamic web pages and sites. Information systems and web technology studies including the development of database aware server-sided web pages and sites in later courses.

    NB: Not offered every year. See Department chair.

    Cross-listed: ISYS 113

    Prerequisite(s): None. (0-0; 3-0)


  • CMPT 123 Data Analysis for Information Systems B (0.5 sem. hrs.)

    An introduction to spreadsheets and databases. Cell formulas, charts, macro programming. Database design, decomposition; basic SQL. Tools such as Excel, Access, and MS-SQL may be used, but the focus is on concepts and design rather than skills with specific tools.

    Prerequisite(s): CMPT 113 or CMPT 140, or equivalent.

    Cross-listed: ISYS 123 (3-1-3 or 3-1-3)


  • CMPT 140 Introduction to Programming (3 sem. hrs.)

    A more gradual introduction to programming and problem-solving than CMPT 141. Using systematic and structured techniques in the context of problem definition, the determination of input/output requirements, preparation of problem solving algorithms, and writing simple code. Debugging programs and producing internal and external documentation that specifies how the program can be used and the methods by which the program achieves its objectives.

    NB: CMPT 140, 166 is the normal sequence for most programming students. This course may be offered in a six-week format with five classes per week.

    Cross-listed: ISYS 140

    Prerequisite(s): None, but students must be familiar with using a computer. (3-1-3 or 3-1-3)


  • CMPT 150 Introduction to Discrete Math (3 sem. hrs.)

    An introduction to those branches of pure mathematics that are most commonly used in the study of Computing Science and/or have other practical applications. Topics include logic, proofs, switching circuits, set theory, induction, functions, languages, finite automata, combinatories, and algebraic structures. This course may be taken by non-majors for non-lab science credit.

    NB: Not offered every year. See Department chair.

    Cross-listed: MATH 150.

    Prerequisite(s): B.C. high school Mathematics 12, or MATH 101, or the equivalent. (3-0 or 3-0)


  • CMPT 166 Intermediate Programming (3 sem. hrs.)

    Intermediate programming techniques in one or more programming notations.

    Cross-listed: ISYS 166

    Prerequisite(s): CMPT 140 with a minimum grade of C+. (2-3; 0-0)


  • CMPT 200 Computing Projects (1-3 sem. hrs.)

    Possible projects include: a second computer language, computer applications in the arts and sciences, ethical issues, computer security, networking, or a major software project. Enrolment is strictly limited, and instructor's consent is required.

    NB: Not offered every year. See coordinator of academic computing for permission to take this course.

    Prerequisite(s): Second year standing in Computing Science and in the subject area of the proposed project. (3-3 or 3-3)


  • CMPT 211 Web Technologies I (3 sem. hrs.)

    This course is a continuation of CMPT 113, and introduces students to the programming side of web technologies. Students learn to write client side, and begin to explore server-side dynamic web page programming utilizing web programming language, such as JavaScript and PHP. This course provides initial instruction in the latest web technologies; the exact techniques taught from year to year depend on W3C, and programming standards developments.

    NB: Not offered every year. See Department chair.

    Prerequisite(s): CMPT 113 or instructor's consent. (3-3 or 3-3)


  • CMPT 231 Data Structures and Algorithms (3 sem. hrs.)

    Basic organization of programs, optimizing program structure, modularization. Data structures, searching and sorting algorithms, handling large data sets, analysis ?of algorithms.

    NB: Not offered every year. See Department chair.

    Prerequisite(s): 140 or instructor's consent. (3-3 or 3-3)


  • CMPT 237 Introduction to Database Management Systems (3 sem. hrs.)

    Introduction to the common methods of structuring files for a variety of applications and to methods of using data organization techniques in the design and management of databases.

    NB: Not offered every year. See Department chair. Students with credit for CMPT 337 may not take this course.

    Cross-listed: ISYS 237

    Prerequisite(s): CMPT 123 and 140. (3-2 or 3-2)


  • CMPT 242 Computing Machine Organization (3 sem. hrs.)

    Introduction to assembly language, machine architecture, low-level components of the operating system, and other low-level issues.

    NB: Not offered every year. See Department chair.

    Prerequisite(s): CMPT 140 or equivalent. (3-0-3 or 3-0-3)


  • CMPT 325 Computer Networking (3 sem. hrs.)

    Network protocols, network operating systems, and the construction and maintenance of server sites.

    NB: Not offered every year. See Department chair.

    Cross-listed: ISYS 325

    Prerequisite(s): Third year standing in Computing Science or Information Systems. (3-0-3 or 3-0-3)


  • CMPT 330 Numerical Analysis (3 sem. hrs.)

    Numerical techniques for solving problems in applied mathematics. Error analysis, roots of equations, interpolation, numerical differentiation and integration, ordinary differential equations, matrix methods.

    NB: Not offered every year. See Department chair.

    Cross-listed: MATH 330.

    Prerequisite(s): MATH 223, 250; CMPT 140; or equivalent. (3-0 or 3-0)


  • CMPT 334 Principles of Operating Systems (3 sem. hrs.)

    Operating system and control software at a low level, memory management, processor management, storage management, and system architecture are among the topics considered.

    NB: Not offered every year. See Department chair.

    Prerequisite(s): CMPT 242. (3-0-3 or 3-0-3)


  • CMPT 340 Discrete Structures and Computing Theory (3 sem. hrs.)

    This course continues CMPT 150. It also includes models of computation, formal languages, and algorithms. It may include topics such as advanced graph theory and applications, optimization problems, autonoma theory, and encryption.

    NB: Not offered every year. See Department chair.

    Cross-listed: MATH 340.

    Prerequisite(s): CMPT 150 or MATH 150. (0-0; 3-0)


  • CMPT 360 Comparative Programming Languages (3 sem. hrs.)

    The history and development of modern programming languages. The user interfaces and internal operations of the major notations are examined in detail. Students are expected to become proficient in at least four languages they have not previously learned, typically chosen from Oberon, Java, Pascal, Ada, Smalltalk, Prolog, Scheme, APL (or J), C (or C++), and one or more scripting languages.

    NB: Not offered every year. See Department chair.

    Prerequisite(s): CMPT 140, 166 and at least one second year Computing Science course. (3-0-3 or 3-0-3)


  • CMPT 370 Computer Graphics (3 sem. hrs.)

    This course is designed to provide already-experienced students with some of the advanced graphics tools that they need to take their places as competent professional programmers. Topics include advanced programming using packages and environments.

    NB: Not offered every year. See Department chair.

    Prerequisite(s): CMPT 166; or the equivalent, and third year status, or instructor's permission. (3-3 or 3-3)


  • CMPT 385 Software Engineering (3 sem. hrs.)

    An introduction to the theory of designing and carrying out large software projects. All stages of the software engineering cycle are examined and experienced, and planning for at least one project is undertaken.

    NB: Not offered every year. See Department chair. Students with credit for CMPT 285 may not take this course.

    Cross-listed: ISYS 385

    Prerequisite(s): Proficiency in C, C++, Java, Pascal, Modula-2 or Ada; CMPT 140; CMPT 231, and 237. (3-3; 0-0)


  • CMPT 386 Software Engineering Project (3 sem. hrs.)

    The projects designed in CMPT 385 are carried through to completion and tested.

    NB: Not offered every year. See Department chair.

    Cross-listed: ISYS 386

    Prerequisite(s): Grade of B- in CMPT 385 and the ability to work on a team. (0-0; 1-6)


  • CMPT 387 Software Engineering Project II (3 sem. hrs.)

    The projects designed in CMPT 385/386 are carried through to completion and tested.

    NB: Not offered every year. See Department chair.

    Cross-listed: ISYS 387

    Prerequisite(s): Grade of B- in CMPT 385 and the ability to work on a team. (0-0; 1-6)
    Note: Students may count a maximum of 7 sem. hrs. toward their minor, concentration, or major from among CMPT 387; 400, 409, 410, 411, 419, 420, 421, or other CMPT offerings designated as a project course. Any additional credits earned from such courses must be counted as electives. Students may do either a thesis (410/411) or a collaborative project (420/421), but not both.


  • CMPT 400 Directed Studies in Computing Science (1-3 sem. hrs.)

    Students are required to produce an outline of the topic studied in consultation with the instructor. A course of reading and/or experimentation is pursued according to the approved outline. Assessment may be via examination and/or a final written report.

    NB: This course with the appropriate choice of topics can be used as a preparation for the senior thesis (CMPT 410) or senior project (CMPT 420). This course can only be taken with the consent of the academic computing coordinator.

    Cross-listed: ISYS 400

    Prerequisite(s): Advanced standing in Computing Science.


  • CMPT 409 Thesis Preparation (1 sem. hr.)

    Students are required to choose a topic for their senior thesis (CMPT 410 or 411) in consultation with an instructor. Selected readings and references pertinent to the topic are assigned. A final written report is presented, consisting of a detailed thesis proposal and a literature review.

    NB: A student is allowed credit for only one of CMPT 409 or 419.

    Cross-listed: ISYS 409

    Prerequisite(s): Advanced standing in Computing Science or instructor's consent.


  • CMPT 410 Senior Thesis (2 sem. hrs.)

    Research in a chosen area of Computing Science with a final written report.

    NB: Normally 2 sem. hrs. are assigned unless prior arrangement is made with the Department chair and Registrar.

    Cross-listed: ISYS 410

    Prerequisite(s): CMPT 409, a related directed study in preparation, or instructor's consent.


  • CMPT 411 Senior Thesis (3 sem. hrs.)

    Research in a chosen area of Computing Science with a final written report.

    NB: Normally 2 sem. hrs. are assigned for a senior thesis unless prior arrangement is made with the Department chair.

    Cross-listed: ISYS 411

    Prerequisite(s): CMPT 409, a related directed study in preparation, or instructor's consent.


  • CMPT 419 Project Preparation (1 sem. hr.)

    Students are required to choose a topic for their senior group project (CMPT 420 or 421) in consultation with the instructor. Selected readings and references pertinent to the topic are assigned. A final written report (software requirements document) is produced giving a detailed specification of the proposed software project.

    NB: A student is allowed credit for only one of CMPT 409 or 419.

    Cross-listed: ISYS 419

    Prerequisite(s): Advanced standing in Computing Science or instructor's consent.


  • CMPT 420 Special Topics - Senior Collaborative Project (1-6 sem. hrs.)

    A major collaborative software project in a chosen area of Computing Science with a final report and presentation. At least two, and normally not more than five people work as a team to design, code, debug, test, and document the software.

    NB: The choice of CMPT 420 or 421 depends on the instructor's assessment of the size and complexity of the proposed project.

    Cross-listed: ISYS 420

    Prerequisite(s): CMPT 419, a related directed study, or instructor's consent.


  • CMPT 421 Special Topics - Senior Collaborative Project (1–6 sem. hrs.)

    A major collaborative software project in a chosen area of Computing Science with a final report and presentation. At least two, and normally not more than five people work as a team to design, code, debug, test, and document the software.

    NB: The choice of CMPT 420 or 421 depends on the instructor's assessment of the proposed project's size and complexity.

    Cross-listed: ISYS 421

    Prerequisite(s): CMPT 419, a related directed study, or instructor's consent.


  • CMPT 480 Ethical and Social Issues in High Technology (3 sem. hrs.)

    A study from a Christian context of some historical, social, and ethical issues relating to the development and use of scientific ideas and techniques. Science and technology are examined in their total social, historical, and intellectual contexts, with a view to tracing, in possible new developments, what the key issues are today. Students are challenged to think through the issues from more than one point of view and to learn how to determine appropriate Christian responses to them.

    NB: Not offered every year. Offered only in fall semester. See Department chair. This course may be substituted for IDIS 400 and/or NATS 487, but not NATS 490. Students need to take both CMPT 480 and NATS 490 to meet the core requirement in upper level Interdisciplinary Studies. Students from other departments may take CMPT 480 as their IDIS 400 requirement, but they should be familiar with the history and/or the practice of science.

    Cross-listed: ISYS 480

    Prerequisite(s): Third year standing overall and at least one Computing Science or lab science course at the university level. (3-0; 0-0)

     

back to top

This page contains official TWU academic program information.