Skip to content

Breadcrumbs navigation

Bachelor of Science (Honours) Computer Science and Philosophy

The University strives for excellence in all its professional services to students and staff. As part of our digital transformation programme we have automated some of the key processes supporting the provision of curricular information on our website. If you have suggestions about how we might make the information or functionality offered on this page more user-friendly please email ser-capp@st-andrews.ac.uk

Computer Science Joint element: First year
Code Module name Credits
CS1002 Object-Oriented Programming 20 AND
CS1003 Programming with Data 20 AND
Remaining credits from Level 1000 options

Further requirements

Choose 120 credits in the academic year

BSc Philosophy joint: First year
Code Module name Credits
PY1012 Reasoning 20 AND
View list Between 0 and 60 credits from Module List: PY1000 - PY1999 AND
PY1010 Mind and World 20
PY1011 Moral and Political Controversies 20
PY1012 Reasoning 20
PY1013 The Enlightenment 20
PY1801 Ethical Issues (by Distance Learning) 20
PY1802 Reasoning and Knowledge (by Distance Learning) 20
PY1901 Morality and Human Nature 20
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above
Remaining credits from Level 1000 options

Further requirements

Choose 120 credits in the academic year

First and Second Year Philosophy (BSc Joint Honours) Programme Requirements:

20 credits: PY1012;
20 credits: PY2010 and/or PY2012;
20 further credits: 1000- or 2000-Level PY modules;

Please balance your choices across the academic year.


Computer Science Joint element: Second year
Code Module name Credits
^ CS2001 Foundations of Computation 30 AND
^ CS2002 Computer Systems 30 AND
Remaining credits from Levels 1000 and 2000 options

Further requirements

Choose 120 credits in the academic year
Choose a minimum of 80 Level 2000 credits

Automatic entry to Honours requires

  • pass and have an average grade 11 or better in modules marked ^
Computer Science Joint element: Second year (Direct Entry)
Code Module name Credits
^ CS2101 Foundations of Computation (Accelerated) 40 AND
^ CS2002 Computer Systems 30 AND
Remaining credits from Levels 1000 and 2000 options

Further requirements

Choose 120 credits in the academic year
Choose a minimum of 80 Level 2000 credits

Direct entry to Year 2 is only available to Computer Science and Mathematics or Computer Science and Statistics Degrees.

Automatic entry to Honours requires

  • pass and have an average grade 11 or better in modules marked ^
BSc Philosophy joint: Second year
Code Module name Credits
* View list Between 20 and 40 credits from Module List: PY2010, PY2012 AND
PY2010 Intermediate Logic 20
PY2012 Meaning and Knowing 20
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above
View list Between 0 and 40 credits from Module List: PY1000 - PY1999, PY2000 - PY2999 AND
PY1010 Mind and World 20
PY1011 Moral and Political Controversies 20
PY1012 Reasoning 20
PY1013 The Enlightenment 20
PY1801 Ethical Issues (by Distance Learning) 20
PY1802 Reasoning and Knowledge (by Distance Learning) 20
PY1901 Morality and Human Nature 20
PY2010 Intermediate Logic 20
PY2011 Foundations of Western Philosophy 20
PY2012 Meaning and Knowing 20
PY2013 Moral and Aesthetic Value 20
PY2801 Mind and Reality (by Distance Learning) 20
PY2802 Modern Philosophy: from Descartes to Kant (by Distance Learning) 20
PY2902 Knowledge, Mind and Reality 20
PY2903 Matters of Life and Death 20
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above
Remaining credits from Levels 1000 and 2000 options

Further requirements

Choose 120 credits in the academic year
Choose a minimum of 80 Level 2000 credits

First and Second Year Philosophy (BSc Joint Honours) Programme Requirements:

20 credits: PY1012;
A minimum of 40 credits: PY2000-PY2103;
A minimum of 20 further credits: PY1001-PY1199, PY2000-PY2103;

Please balance your choices across the academic year.

Automatic entry to Honours requires

  • pass at grade 11 or better required in modules marked *

Automatic Entry to Honours requires:
Grades of at least 11 in each module for 40 credits from PY2001 - PY2103 gained at first sitting; OR
Grades of at least 10 in each module for 40 credits from PY2001 - PY2103 with a mean of 12 or above across these modules, at first sitting.


Entry to Honours

Students who attain an average of grade 11.0 or above at the first sitting in the requisite 2000-level modules and who meet all other programme requirements will be given automatic offers of entry into Honours programmes*.*Apart from students on Integrated Masters degrees. Students permitted automatic entry to Honours will only be permitted to trail one module to a maximum of 30 sub-honours credits into Honours.

Some Schools permit qualified entry to Honours (see www.st-andrews.ac.uk/media/teaching-and-learning/policies/honsentry.pdf )

BSc Honours

The general requirements are 480 credits over a period of normally four years (and not more than five years) or part-time equivalent, of which the final two years form an approved Honours programme of 240 credits, of which 90 credits are at 4000 level and at least a further 120 credits at 3000 and/or 4000 levels.


Computer Science Joint element: Third year
Code Module name Credits
CS3052 Computational Complexity 15 AND
CS3099 Software Engineering Team Project 30 AND
View list 15 credits from Module List: CS3100 - CS3399
CS3101 Databases 15
CS3102 Data Communications and Networks 15
CS3104 Operating Systems 15
CS3105 Artificial Intelligence 15
CS3106 Human Computer Interaction 15
CS3301 Component Technology 15
CS3302 Data Encoding 15
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above

Further requirements

Choose 120 credits in academic year

Fourth Year only), CL4500 - CL4520), ID4801, ID4859, (PY4701 with ID4002 - in Fourth Year only)
Students will take either 30 credits or 60 credits of 4000-level, depending on 3000-level modules taken.

*Up to 30 PY Honours credits may be substituted for credits from another subject area and/or level (dip-across or dip-down), provided that permission is obtained from the relevant Head of School.

In total over both subjects, 210 credits must be achieved at 3000 and 4000 level, including at least 90 credits at 4000-level.

Please balance your selections across the academic year. BSc Philosophy joint: Third year
Code Module name Credits
PY3100 Reading Philosophy 1: Texts in Language, Logic, Mind, Epistemology, Metaphysics and Science 30 AND
View list At least 30 credits from Module List: PY3200, PY4000 - PY4689, CL4500 - CL4520, ID4801, ID4859
PY3200 Reading Philosophy 2: Texts in Ethics, Metaethics, Religion, Aesthetics and Political Philosophy 30
PY4601 Paradoxes 30
PY4603 Philosophy of Film 30
PY4604 Political Philosophy 30
PY4606 Contemporary Epistemology 30
PY4607 Continental European Philosophy from Descartes to Leibniz 30
PY4608 Political Philosophy in the Age of Revolutions 30
PY4609 Philosophical Methodology 30
PY4610 Philosophy of Perception 30
PY4611 Classical Philosophy 30
PY4612 Advanced Logic 30
PY4614 Philosophy of Mind 30
PY4615 Metaphysics 30
PY4616 Freedom and Action 30
PY4617 The Philosophy of Saul Kripke 30
PY4618 Animals, Minds and Language 30
PY4619 Social Philosophy 30
PY4620 Virtue and Vice 30
PY4621 British Philosophy 1650 - 1800 30
PY4622 Kant's Critical Philosophy 30
PY4624 Philosophy of Art 30
PY4625 Philosophy and Public Affairs: Global Justice 30
PY4626 Life and Death 30
PY4632 Contemporary Philosophy of Language 30
PY4633 Philosophy of Mathematics 30
PY4634 Philosophy of Logic 30
PY4635 Contemporary Moral Theory 30
PY4637 Asian Philosophies 30
PY4638 Philosophy of Religion 30
PY4639 Philosophy of Creativity 30
PY4640 Mediaeval Philosophy 30
PY4641 Nineteenth-century Ethics and Philosophy 30
PY4642 Trust, Knowledge and Society 30
PY4643 Philosophy of Law 30
PY4644 Rousseau on Human Nature, Society, and Freedom 30
PY4645 Philosophy and Literature 30
PY4646 Reasons for Action and Belief 30
PY4647 Humans, Animals, and Nature 30
PY4648 Conceptual Engineering and its Role in Philosophy 30
PY4649 Core Works in Continental Philosophy 30
PY4650 Philosophy, Feminism and Gender 30
PY4651 Effective Altruism 30
PY4652 The Philosophy of Human Rights 30
PY4653 Toleration in the Early Modern Period 30
PY4654 Responsibility, Praise, and Blame 30
PY4655 Advanced Metaethics 30
PY4656 The Philosophy of Love and Sex 30
CL4500 Pleasure, Goodness and Happiness: Hellenistic Ethics 30
CL4502 Ethics and Lifestyles: Philosophy and Ways of Living in Antiquity 30
ID4801 Human Rights, Poverty and Security 30
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above

Further requirements

Choose 120 credits in academic year

Third and Fourth Year Philosophy (BSc Joint Honours) Programme Requirements:

30 credits: PY3100
60 - 90* credits - PY3200, PY4000 - PY4689, (PY4698 or PY4699 or PY4794 - in


Computer Science Joint element: Fourth year
Code Module name Credits
CS4052 Logic and Software Verification 15 AND
( CS4098 Minor Software Project 15 OR
CS4796 Joint Project (30cr) 30 ) AND
View list Between 0 and 15 credits from Module List: CS3100 - CS3399, ID4001, ID5059 AND
CS3101 Databases 15
CS3102 Data Communications and Networks 15
CS3104 Operating Systems 15
CS3105 Artificial Intelligence 15
CS3106 Human Computer Interaction 15
CS3301 Component Technology 15
CS3302 Data Encoding 15
ID4001 Communication and Teaching in Science 15
ID5059 Knowledge Discovery and Datamining 15
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above
View list Between 0 and 30 credits from Module List: CS4100 - CS4999 (excluding CS4796), CS5010 - CS5089
CS4102 Computer Graphics 15
CS4103 Distributed Systems 15
CS4201 Programming Language Design and Implementation 15
CS4202 Computer Architecture 15
CS4203 Computer Security 15
CS4204 Concurrency and Multi-Core Architectures 15
CS4302 Signal Processing and Perception for Digital Media 15
CS4303 Video Games 15
CS4402 Constraint Programming 15
CS4499 Computer Science (Special Subject) 15
CS5010 Artificial Intelligence Principles 15
CS5011 Artificial Intelligence Practice 15
CS5012 Language and Computation 15
CS5019 Artificial Intelligence (Special Subject) 15
CS5020 Principles of Computer Communication Systems 15
CS5022 Practice in Computer Communication Systems 15
CS5024 Advanced Topics in Computer Communication Systems 15
CS5029 Networks and Distributed Systems (Special Subject) 15
CS5030 Software Engineering Principles 15
CS5031 Software Engineering Practice 15
CS5032 Critical Systems Engineering 15
CS5033 Software Architecture 15
CS5039 Software Engineering (Special Subject) 15
CS5040 Human Computer Interaction Principles and Methods 15
CS5041 Interactive Software and Hardware 15
CS5042 User-Centred Interaction Design 15
CS5044 Information Visualisation and Visual Analytics 15
CS5052 Data-Intensive Systems 15
Note:
- Not all modules are available in every academic year and/or semester
- Individual modules may have requisites to satisfy to be eligible to select them

For further details, see the module catalogue entry for each individual module above

Further requirements

Choose 120 credits in academic year

Students must select 60 credits from the Computer Science element.

BSc Philosophy joint: Fourth year
Code Module name Credits
Remaining credits from Module List: PY3200, PY4000 - PY4689, CL4500 - CL4520, ID4801, ID4859, PY4698, - PY4699, PY4794, (PY4701 and ID4002)

Further requirements

Choose 120 credits in academic year
At least 90 Level4000 credits must be obtained

Third and Fourth Year Philosophy (BSc Joint Honours) Programme Requirements:

30 credits: PY3100
60 - 90* credits - PY3200, PY4000 - PY4689, (PY4698 or PY4699 or PY4794 - in Fourth Year only), CL4500 - CL4520), ID4801, ID4859, (PY4701 with ID4002 - in Fourth Year only)

Students will take either 30 credits or 60 credits of 4000-level, depending on 3000-level modules taken.

*Up to 30 PY Honours credits may be substituted for credits from another subject area and/or level (dip-across or dip-down), provided that permission is obtained from the relevant Head of School.

In total over both subjects, 210 credits must be achieved at 3000 and 4000 level, including at least 90 credits at 4000-level.


Study abroad

In the case of students who spend part of the Honours programme on a recognised Study Abroad scheme, the Programme Requirements will be amended to take into account overseas courses which are approved by the relevant St Andrews School in the Learning Agreement (see www.st-andrews.ac.uk/studyabroad/outgoingstudents/AcademicInformation ).