¶¡ÏãÔ°AV

i Please note:  

To view the current calendar, go to


¶¡ÏãÔ°AV Calendar | Fall 2013

Computing Science and Philosophy Joint Honours

Bachelor of Science

¶¡ÏãÔ°AV to this program has been suspended.

The School of Computing Science and the Department of Philosophy co-operate to offer this joint honours program leading to either a bachelor of science (BSc) or bachelor of arts (BA). The administrative home is with the Faculty of Applied Sciences for purposes of student enrolment, appeals and graduation processing. Interested students should contact advisors in both departments.

In general, students are expected to meet the requirements of both the department and school with respect to admission and continuation requirements.

¶¡ÏãÔ°AV Requirements

¶¡ÏãÔ°AV to this program has been suspended.

Entry into computing science programs is possible via

  • direct admission from high school
  • direct transfer from a recognized post secondary institution, or combined transfer units from more than one post secondary institution
  • internal transfer from within ¶¡ÏãÔ°AV

¶¡ÏãÔ°AV is competitive. A separate admission average for each entry route is established each term, depending on spaces available and subject to the approval of the dean of applied sciences. ¶¡ÏãÔ°AV averages are calculated over a set of courses satisfying particular breadth constraints.

Internal Transfer

Internal transfer allows students to transfer, within ¶¡ÏãÔ°AV, from one faculty to another. Once you have completed our three qualifying courses (see below) you can apply for internal transfer into the School of Computing Science. ¶¡ÏãÔ°AV students applying for School of Computing Science admission are selected on the basis of an admission computing related grade point average (CRGPA). The CRGPA is calculated over the best three courses chosen as follows.

  • one mathematics course chosen from MACM 101, 201, MATH 150 (or 151), 152 and 240 (or 232)
  • one computing course chosen from CMPT 125 (or 126 or 128), 150, (or ENSC 150), 225, 250 and 275
  • one additional mathematics or computing science course chosen from the above lists

No course may be included in the average if it is a duplicate of any previous course completed at ¶¡ÏãÔ°AV or elsewhere. All three courses must be completed prior to application.

Continuation Requirements

Students who do not maintain at least a 2.40 CGPA will be placed on the school’s probation. Courses available to probationary students may be limited. Each term, these students must consult an advisor prior to enrollment and must achieve either a 2.40 term GPA or an improved CGPA. Reinstatement from probationary standing occurs when the CGPA improves to 2.40 or better and is maintained.

Prerequisite Grade Requirement

Computing science course entry requires a grade of C- or better in each prerequisite course. A minimum 2.40 CGPA is required for 200, 300 and 400 division computing courses.

Program Requirements

Lower Division Requirements

Students complete at least 53 units, including

all of

MATH 152 - Calculus II (3)

Riemann sum, Fundamental Theorem of Calculus, definite, indefinite and improper integrals, approximate integration, integration techniques, applications of integration. First-order separable differential equations. Sequences and series, series tests, power series, convergence and applications of power series. Prerequisite: MATH 150 or 151; or MATH 154 or 157 with a grade of at least B. Students with credit for MATH 155 or 158 may not take this course for further credit. Quantitative.

MATH 232 - Applied Linear Algebra (3)

Linear equations, matrices, determinants. Introduction to vector spaces and linear transformations and bases. Complex numbers. Eigenvalues and eigenvectors; diagonalization. Inner products and orthogonality; least squares problems. An emphasis on applications involving matrix and vector calculations. Prerequisite: MATH 150 or 151; or MACM 101; or MATH 154 or 157, both with a grade of at least B. Students with credit for MATH 240 make not take this course for further credit. Quantitative.

and one of

MATH 150 - Calculus I with Review (4)

Designed for students specializing in mathematics, physics, chemistry, computing science and engineering. Topics as for Math 151 with a more extensive review of functions, their properties and their graphs. Recommended for students with no previous knowledge of Calculus. In addition to regularly scheduled lectures, students enrolled in this course are encouraged to come for assistance to the Calculus Workshop (Burnaby), or Math Open Lab (Surrey). Prerequisite: Pre-Calculus 12 (or equivalent) with a grade of at least B+, or MATH 100 with a grade of at least B-, or achieving a satisfactory grade on the ¶¡ÏãÔ°AV Calculus Readiness Test. Students with credit for either MATH 151, 154 or 157 may not take MATH 150 for further credit. Quantitative.

MATH 151 - Calculus I (3)

Designed for students specializing in mathematics, physics, chemistry, computing science and engineering. Logarithmic and exponential functions, trigonometric functions, inverse functions. Limits, continuity, and derivatives. Techniques of differentiation, including logarithmic and implicit differentiation. The Mean Value Theorem. Applications of Differentiation including extrema, curve sketching, related rates, Newton's method. Antiderivatives and applications. Conic sections, polar coordinates, parametric curves. Prerequisite: Pre-Calculus 12 (or equivalent) with a grade of at least A, or MATH 100 with a grade of at least B, or achieving a satisfactory grade on the ¶¡ÏãÔ°AV Calculus Readiness Test. Students with credit for either MATH 150, 154 or 157 may not take MATH 151 for further credit. Quantitative.

and one of

BUEC 232 - Data and Decisions I (4)

An introduction to business statistics with a heavy emphasis on applications and the use of EXCEL. Students will be required to use statistical applications to solve business problems. STAT 270, Introduction to Probability and Statistics, will be accepted in lieu of BUEC 232. Prerequisite: MATH 157 and 15 units. MATH 157 may be taken concurrently with BUEC 232. Students with credit for STAT 270 may not take this course for further credit. Quantitative.

STAT 270 - Introduction to Probability and Statistics (3)

Basic laws of probability, sample distributions. Introduction to statistical inference and applications. Corequisite: MATH 152 or 155 or 158. Students wishing an intuitive appreciation of a broad range of statistical strategies may wish to take STAT 100 first. Quantitative. Prerequisite: COREQ-MATH 152 or 155 or 158. Students wishing an intuitive appreciation of a broad range of statistical strategies may wish to take STAT 100 first. Equivalent Courses: STAT102 STAT103 STAT201 STAT203 STAT301. Quantitative.

and one physical science course chosen from the physical sciences electives list for the computing science lower division requirements.

Computing Science Requirements

Students complete at least 22 units, including either

CMPT 126 - Introduction to Computing Science and Programming (3)

A rigorous introduction to computing science and computer programming, suitable for students who already have substantial programming background. This course provides a condensed version of the two-course sequence of CMPT 120/125, with the primary focus on computing science and object oriented programming. Topics include: fundamental algorithms and problem solving; abstract data types and elementary data structures; basic object-oriented programming and software design; elements of empirical and theoretical algorithmics; computation and computability; specification and program correctness; and history of computing science. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, or 157). Students with credit for CMPT 120, 125, 128, 130, 135 or higher may not take CMPT 126 for further credit. Quantitative/Breadth-Science.

or both of

CMPT 120 - Introduction to Computing Science and Programming I (3)

An elementary introduction to computing science and computer programming, suitable for students with little or no programming background. Students will learn fundamental concepts and terminology of computing science, acquire elementary skills for programming in a high-level language and be exposed to diverse fields within, and applications of computing science. Topics will include: pseudocode, data types and control structures, fundamental algorithms, computability and complexity, computer architecture, and history of computing science. Treatment is informal and programming is presented as a problem-solving tool. Students should consult with the self-evaluation on the School of Computing Science website to decide whether they should follow the CMPT 120/125 course sequence or enrol in CMPT 126. Prerequisite: BC Math 12 or equivalent is recommended. Students with credit for CMPT 102, 125, 126, 128 or CMPT 200 or higher may not take this course for further credit. Quantitative/Breadth-Science.

CMPT 125 - Introduction to Computing Science and Programming II (3)

A rigorous introduction to computing science and computer programming, suitable for students who already have some backgrounds in computing science and programming. Intended for students who will major in computing science or a related program. Topics include: fundamental algorithms; elements of empirical and theoretical algorithmics; abstract data types and elementary data structures; basic object-oriented programming and software design; computation and computability; specification and program correctness; and history of computing science. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, or 157) and CMPT 120. Students with credit for CMPT 126, 128, 135 or CMPT 200 or higher may not take for further credit. Quantitative.

and all of

CMPT 150 - Introduction to Computer Design (3)

Digital design concepts are presented in such a way that students will learn how basic logic blocks of a simple computer are designed. Topics covered include: basic Von Neumann computer architecture; an introduction to assembly language programming; combinational logic design; and sequential logic design. Prerequisite: Strongly recommended: MACM 101 and either CMPT 120 or equivalent programming. Students with credit for ENSC 150 or CMPT 290 may not take this course for further credit. Quantitative.

CMPT 225 - Data Structures and Programming (3)

Introduction to a variety of practical and important data structures and methods for implementation and for experimental and analytical evaluation. Topics include: stacks, queues and lists; search trees; hash tables and algorithms; efficient sorting; object-oriented programming; time and space efficiency analysis; and experimental evaluation. Prerequisite: MACM 101 and one of CMPT 125, 126 or 128; or CMPT 128 and approval as a Biomedical Engineering Major. Students with credit for CMPT 201 may not take this course for further credit. Quantitative.

CMPT 250 - Introduction to Computer Architecture (3)

This course deals with the main concepts embodied in computer hardware architecture. In particular, the organization, design and limitations of the major building blocks in modern computers is covered in detail. Topics will include: processor organization; control logic design; memory systems; and architectural support for operating systems and programming languages. A hardware description language will be used as a tool to express and work with design concepts. Prerequisite: CMPT/ENSC 150. Students with credit for ENSC 250 may not take this course for further credit. Quantitative.

CMPT 275 - Software Engineering I (4)

Introduction to software engineering techniques used in analysis/design and in software project management. The course centres on a team project involving requirements gathering, object analysis and simple data normalization, use-case-driven user documentation and design followed by implementation and testing. Additionally, there is an introduction to project planning, metrics, quality assurance, configuration management, and people issues. Prerequisite: CMPT 225, MACM 101, MATH 151 (or MATH 150), one W course. MATH 154 or 157 with a grade of at least B+ may be substituted for MATH 151 (or MATH 150). Students with credit for CMPT 275 may not take this course for further credit.

MACM 101 - Discrete Mathematics I (3)

Introduction to counting, induction, automata theory, formal reasoning, modular arithmetic. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, 157. Quantitative/Breadth-Science.

MACM 201 - Discrete Mathematics II (3)

A continuation of MACM 101. Topics covered include graph theory, trees, inclusion-exclusion, generating functions, recurrence relations, and optimization and matching. Prerequisite: MACM 101. Quantitative.

Philosophy Requirements

Students complete at least 16 units, including one of

PHIL 100W - Knowledge and Reality (3)

An introduction to some of the central problems of philosophy. Topics to be discussed include the different theories of reality; the nature and sources of knowledge, truth, evidence, and reason; the justification of belief and knowledge about the universe. These topics and problems will be considered as they arise in the context of issues such as: relativism versus absolutism; the existence of God; personal identity; the nature of the mind and its relation to the body; free will and determinism; the possibility of moral knowledge. Open to all students. Students with credit for PHIL 100 may not take this course for further credit. Writing/Breadth-Humanities.

PHIL 120W - Introduction to Moral Philosophy (3)

An introduction to the central problems of ethics: for example, the nature of right and wrong, the objectivity or subjectivity of moral judgments, the relativity or absolutism of values, the nature of human freedom and responsibility. The course will also consider general moral views such as utilitarianism, theories of rights and specific obligations, and the ethics of virtue. These theories will be applied to particular moral problems such as abortion, punishment, distributive justice, freedom of speech, and racial and sexual equality. Sometimes the course will also focus on important historical figures such as Plato, Aristotle, Kant and Mill. Open to all students. Students with credit for PHIL 120 may not take this course for further credit. Writing/Breadth-Humanities.

and one of

PHIL 150 - History of Philosophy I (3)

A survey of philosophic thought from late antiquity to the Renaissance. Special attention will be given to the works of Socrates, Plato, Aristotle, Augustine, and Aquinas. The views of these great thinkers have helped to shape the ways in which we see the world. This course is therefore recommended to everyone with an interest in our intellectual heritage. Open to all students. Breadth-Humanities.

PHIL 151 - History of Philosophy II (3)

A survey of philosophic thought from the Renaissance to the 20th Century. Special attention will be given to the works of Descartes, Leibniz, Spinoza, Locke, Berkeley, Hume, Kant, Hegel and Mill. The views of these great thinkers have helped to shape the ways in which we see the world. This course is therefore recommended to everyone with an interest in our intellectual heritage. Open to all students. Breadth-Humanities.

and all of

PHIL 201 - Epistemology (3)

A critical overview of recent accounts of the nature and scope of human knowledge and of justified or rational belief, and of philosophical issues that these accounts are intended to address. Prerequisite: one of PHIL 100W, 144, 150, or 151, or COGS 100. Students who have taken PHIL 301 cannot take this course for further credit.

PHIL 203 - Metaphysics (3)

An examination of central problems of metaphysics such as space and time, universals and particulars, substance, identity and individuation and personal identity. Prerequisite: One of PHIL 100, 150, 151, or COGS 100.

PHIL 210 - Natural Deductive Logic (3)

This course studies a natural deductive system of propositional and quantificational logic, the first-order theory of identity and the first-order theory of relations. Topics include the metatheory of propositional logic and the application of formal theory to the assessment of natural language arguments. Quantitative.

Upper Division Requirements

Students complete at least 55 upper division units as specified below.

Computing Science Requirements

Students complete at least 27 units, including all of

CMPT 300 - Operating Systems I (3)

This course aims to give the student an understanding of what a modern operating system is, and the services it provides. It also discusses some basic issues in operating systems and provides solutions. Topics include multiprogramming, process management, memory management, and file systems. Prerequisite: CMPT 225 and MACM 101.

CMPT 307 - Data Structures and Algorithms (3)

Analysis and design of data structures for lists, sets, trees, dictionaries, and priority queues. A selection of topics chosen from sorting, memory management, graphs and graph algorithms. Prerequisite: CMPT 225, MACM 201, MATH 151 (or MATH 150), and MATH 232 or 240.

CMPT 310 - Artificial Intelligence Survey (3)

Provides a unified discussion of the fundamental approaches to the problems in artificial intelligence. The topics considered are: representational typology and search methods; game playing, heuristic programming; pattern recognition and classification; theorem-proving; question-answering systems; natural language understanding; computer vision. Prerequisite: CMPT 225 and MACM 101. Students with credit for CMPT 410 may not take this course for further credit.

CMPT 354 - Database Systems I (3)

Logical representations of data records. Data models. Studies of some popular file and database systems. Document retrieval. Other related issues such as database administration, data dictionary and security. Prerequisite: CMPT 225, MACM 101.

CMPT 405 - Design and Analysis of Computing Algorithms (3)

Models of computation, methods of algorithm design; complexity of algorithms; algorithms on graphs, NP-completeness, approximation algorithms, selected topics. Prerequisite: CMPT 307.

and one of

CMPT 320 - Social Implications - Computerized Society (3)

An examination of social processes that are being automated and implications for good and evil, that may be entailed in the automation of procedures by which goods and services are allocated. Examination of what are dehumanizing and humanizing parts of systems and how systems can be designed to have a humanizing effect. Prerequisite: A CMPT course and 45 units. Breadth-Science.

PHIL 320 - Social and Political Philosophy (3)

An examination of an issue or selection of issues in social and political philosophy. Contemporary or historical readings or a mixture of these will be used. Possible topics include: justice, the law and legal systems, sovereignty, power and authority, democracy, liberty and equality. Sometimes the course will focus on the views of historically important political philosophers, such as Plato, Aristotle, Hobbes, Locke, Rousseau, Burke, Bentham, Mill and Marx. Prerequisite: one of PHIL 120W, 220, or ENV 320.

PHIL 321 - Topics in Moral Philosophy (3)

An advanced investigation of central issues and theories in moral philosophy. In any given term, the course may focus on a general theory or concept or concern, for example meta-ethics, utilitarianism, or theories of rights. Sometimes it will focus on a particular problem or problems, such as medical ethics, moral personhood, or free will and moral responsibility. Prerequisite: one of PHIL 120W, 220, or ENV 320.

and one of

CMPT 383 - Comparative Programming Languages (3)

Various concepts and principles underlying the design and use of modern programming languages are considered in the context of procedural, object-oriented, functional and logic programming languages. Topics include data and control structuring constructs, facilities for modularity and data abstraction, polymorphism, syntax, and formal semantics. Prerequisite: CMPT 225, MACM 101.

CMPT 384 - Symbolic Computing (3)

This course considers modelling and programming techniques appropriate for symbolic data domains such as mathematical expressions, logical formulas, grammars and programming languages. Topics include recursive and functional programming style, grammar-based data abstraction, simplification and reduction transformations, conversions to canonical form, environment data structures and interpreters, metaprogramming, pattern matching and theorem proving. Prerequisite: CMPT 225; MACM 101.

and any two additional 400 division CMPT course.

Philosophy Requirements

Students complete at least 25 units, including all of

PHIL 341 - Philosophy of Science (3)

A study of the nature of scientific enquiry, classificatory systems, laws and theories, the role of observation in science, the demarcation between science and non-science, causality, the status of theoretical constructs, and teleological explanation. Prerequisite: PHIL 100; PHIL 210 or 214; and one of PHIL 201 or 203, or COGS 200.

PHIL 343 - Philosophy of Mind (3)

A study of theories of the mind, consciousness, and human action. Prerequisite: PHIL 100; and one of PHIL 201 or 203, or COGS 200.

PHIL 344 - Philosophy of Language (3)

An introduction to the major philosophic theories of language. Topics to be considered include the relationship between language and mind, language and the world, language and society. Prerequisite: PHIL 100; and one of PHIL 201 or 203, or COGS 200.

PHIL 477 - Honors Tutorial I (5)

At least eight weeks prior to the term in which they wish to enrol in PHIL 477, honors students should obtain departmental approval of a proposed syllabus and arrange for faculty supervision of the course. Open only to honors students. Prerequisite: PHIL 477 is a requisite for all honors students, and must be taken in one of the last two terms of the student's philosophy program. It must be taken concurrently with or prior to PHIL 478.

and one of

PHIL 322 - History of Ethics (3)

An examination of an issue or selection of issues in the history of moral or political philosophy. Historical readings will be the primary focus and may include important figures such as Aristotle, Hobbes, Locke, Hume, and Kant. Prerequisite: One of PHIL 120, 150, 151, 220.

PHIL 331 - Selected Topics (3)

Prerequisite: As stated by department at time of offering.

PHIL 332 - Selected Topics (3)

Prerequisite: As stated by department at time of offering.

PHIL 333 - Selected Topics (3)

Prerequisite: As stated by department at time of offering.

PHIL 350 - Ancient Philosophy (3)

Prerequisite: PHIL 100 or 150.

PHIL 352 - 17th Century Philosophy (3)

An examination of some central issues in 17th century philosophy. Themes may include: changing theories of causation, of the mind, and of the relation between mind and world. Historical readings will be the primary focus and may include important figures such as Descartes, Elisabeth of Bohemia, Malebranche, Spinoza, Leibniz, and Locke. Prerequisite: PHIL 100 or 151. Students who have completed PHIL 353 or PHIL 354 prior to Fall 2006 may not take this course for further credit.

PHIL 356 - 18th Century Philosophy (3)

An examination of some central issues of 18th century philosophy. Themes may include the development of the theory of ideas and epistemology associated with it. The primary focus may include important figures such as Locke, Berkeley, Hume, and Condillac. Prerequisite: PHIL 100 or 151. Students with credit for PHIL 355 prior to Fall 2006 may not take this course for further credit.

PHIL 357 - Topics in the History of Philosophy (3)

Prerequisite: one of PHIL 100W, 150, or 151.

and

PHIL 455W - Contemporary Issues in Epistemology and Metaphysics (4)

Prerequisite: Two 300 division PHIL courses. Writing.

and one four unit course at the 400 division.

Faculty of Arts and Social Sciences Honours Requirements

For all bachelor of arts (BA) honours programs, students complete 132 units, which includes

  • at least 60 units that must be completed at ¶¡ÏãÔ°AV
  • satisfaction of the writing, quantitative, and breadth requirements
  • students complete at least 60 upper division units, which must include at least 50 units in upper division courses in a Faculty of Arts and Social Sciences honours program; no more than 15 upper division units that have been transferred from another institution can be used toward this requirement
  • Students complete lower division requirements for at least one Faculty of Arts and Social Sciences honours program
  • students are required to achieve an overall cumulative grade point average (CGPA) and upper division CGPA of at least 3.0, and an honours program CGPA and upper division CGPA of at least 3.0

Elective Courses

In addition to the courses listed above, students should consult an academic advisor to plan the remaining required elective courses.

Writing, Quantitative, and Breadth Requirements

Students admitted to ¶¡ÏãÔ°AV beginning in the fall 2006 term must meet writing, quantitative and breadth requirements as part of any degree program they may undertake. See for university-wide information.

WQB Graduation Requirements

A grade of C- or better is required to earn W, Q or B credit

Requirement

Units

Notes
W - Writing

6

Must include at least one upper division course, taken at ¶¡ÏãÔ°AV within the student’s major subject
Q - Quantitative

6

Q courses may be lower or upper division
B - Breadth

18

Designated Breadth Must be outside the student’s major subject, and may be lower or upper division
6 units Social Sciences: B-Soc
6 units Humanities: B-Hum
6 units Sciences: B-Sci

6

Additional Breadth 6 units outside the student’s major subject (may or may not be B-designated courses, and will likely help fulfil individual degree program requirements)

Back to Top

Residency Requirements and Transfer Credit

The University’s residency requirement stipulates that, in most cases, total transfer and course challenge credit may not exceed 60 units, and may not include more than 15 as upper division work.

Co-operative Eduation and Work Experience

All computing science students are strongly encouraged to explore the opportunities that Work Integrated Learning (WIL) can offer. Please contact a computing science co-op advisor during the first year of study to ensure that you have all of the necessary courses and information to help plan for a successful co-op experience.

For calendar technical problems or errors, contact calendar-sfu@sfu.ca | Calendar Changes and Corrections