Skip to content

Breadcrumbs navigation

Bachelor of Science (Honours) Computer Science and Mathematics


BSc (Hons) Computer Science (Joint Honours): 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 (Hons) Mathematics (Joint Honours): First year
Code Module name Credits
MT1002 Mathematics 20 AND
Remaining credits from Level 1000 options

Further requirements

Choose 120 credits in the academic year

Students without the prerequisite for MT1002 will take MT1001 in Semester 1.


BSc (Hons) Computer Science (Joint Honours): 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

  • passes in modules marked ^
BSc (Hons) Computer Science (Joint Honours): 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

  • passes in modules marked ^
BSc (Hons) Mathematics (Joint Honours): Second year
Code Module name Credits
MT2501 Linear Mathematics 15 AND
View list 45 credits from Module List: MT2502 - MT2508
MT2502 Analysis 15
MT2503 Multivariate Calculus 15
MT2504 Combinatorics and Probability 15
MT2505 Abstract Algebra 15
MT2506 Vector Calculus 15
MT2507 Mathematical Modelling 15
MT2508 Statistical Inference 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 the academic year
Choose a minimum of 80 Level 2000 credits

Additional Information from the School
For guidance on module choice at 2000-level in Mathematics and Statistics please consult the School Handbook, at https://www.st-andrews.ac.uk/mathematics-statistics/students/ug/module-choices-2000

Automatic Entry to Honours
Average of the best four grades from range MT2501 - MT2508 being 11 or higher.


Entry to Honours

Students who meet the requirements specified above, and who meet all other programme requirements, will be given automatic entry into Honours programmes.

See: www.st-andrews.ac.uk/students/academic/academic-advising/glossary/honours-entry/ )

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.


BSc (Hons) Computer Science (Joint Honours): Third year
Code Module name Credits
CS3050 Logic and Reasoning 15 AND
CS3052 Computational Complexity 15 AND
CS3099 Software Engineering Team Project 30

Further requirements

Choose between 120 to 160 credits in academic year

There are three core modules in third year.
BSc (Hons) Mathematics (Joint Honours): Third year
Code Module name Credits
View list Between 0 and 45 credits from Module List: MT3501 - MT3508 AND
MT3501 Linear Mathematics 2 15
MT3502 Real Analysis 15
MT3503 Complex Analysis 15
MT3504 Differential Equations 15
MT3505 Algebra: Rings and Fields 15
MT3506 Techniques of Applied Mathematics 15
MT3507 Mathematical Statistics 15
MT3508 Applied Statistics 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 60 credits from Module List: MT3000 - MT4999
MT301A Study Abroad: Mathematics (4) 4
MT301B Study Abroad: Mathematics (5) 5
MT301C Study Abroad: Mathematics (6) 6
MT302A Study Abroad: Mathematics (4) 4
MT302B Study Abroad: Mathematics (5) 5
MT302C Study Abroad: Mathematics (6) 6
MT303A Study Abroad: Mathematics (4) 4
MT303B Study Abroad: Mathematics (5) 5
MT303C Study Abroad: Mathematics (6) 6
MT304A Study Abroad: Mathematics (4) 4
MT304B Study Abroad: Mathematics (5) 5
MT304C Study Abroad: Mathematics (6) 6
MT305A Study Abroad: Mathematics (4) 4
MT305B Study Abroad: Mathematics (5) 5
MT305C Study Abroad: Mathematics (6) 6
MT306A Study Abroad: Mathematics (4) 4
MT306B Study Abroad: Mathematics (5) 5
MT306C Study Abroad: Mathematics (6) 6
MT307A Study Abroad: Mathematics (4) 4
MT307B Study Abroad: Mathematics (5) 5
MT307C Study Abroad: Mathematics (6) 6
MT308A Study Abroad: Mathematics (4) 4
MT308B Study Abroad: Mathematics (5) 5
MT308C Study Abroad: Mathematics (6) 6
MT309A Study Abroad: Mathematics (4) 4
MT309B Study Abroad: Mathematics (5) 5
MT309C Study Abroad: Mathematics (6) 6
MT310A Study Abroad: Mathematics (4) 4
MT310B Study Abroad: Mathematics (5) 5
MT310C Study Abroad: Mathematics (6) 6
MT311A Study Abroad: Mathematics (4) 4
MT311B Study Abroad: Mathematics (5) 5
MT311C Study Abroad: Mathematics (6) 6
MT312A Study Abroad: Mathematics (4) 4
MT312B Study Abroad: Mathematics (5) 5
MT312C Study Abroad: Mathematics (6) 6
MT3501 Linear Mathematics 2 15
MT3502 Real Analysis 15
MT3503 Complex Analysis 15
MT3504 Differential Equations 15
MT3505 Algebra: Rings and Fields 15
MT3506 Techniques of Applied Mathematics 15
MT3507 Mathematical Statistics 15
MT3508 Applied Statistics 15
MT3510 Introduction to Mathematical Computing 15
MT3802 Numerical Analysis 15
MT4003 Groups 15
MT4004 Real and Abstract Analysis 15
MT4005 Linear and Nonlinear Waves 15
MT401A Study Abroad: Mathematics (4) 4
MT401B Study Abroad: Mathematics (5) 5
MT401C Study Abroad: Mathematics (6) 6
MT402A Study Abroad: Mathematics (4) 4
MT402B Study Abroad: Mathematics (5) 5
MT402C Study Abroad: Mathematics (6) 6
MT404A Study Abroad: Mathematics (4) 4
MT404B Study Abroad: Mathematics (5) 5
MT404C Study Abroad: Mathematics (6) 6
MT405A Study Abroad: Mathematics (4) 4
MT405B Study Abroad: Mathematics (5) 5
MT405C Study Abroad: Mathematics (6) 6
MT406A Study Abroad: Mathematics (4) 4
MT406B Study Abroad: Mathematics (5) 5
MT406C Study Abroad: Mathematics (6) 6
MT407A Study Abroad: Mathematics (4) 4
MT407B Study Abroad: Mathematics (5) 5
MT407C Study Abroad: Mathematics (6) 6
MT408A Study Abroad: Mathematics (4) 4
MT408B Study Abroad: Mathematics (5) 5
MT408C Study Abroad: Mathematics (6) 6
MT409A Study Abroad: Mathematics (4) 4
MT409B Study Abroad: Mathematics (5) 5
MT409C Study Abroad: Mathematics (6) 6
MT410A Study Abroad: Mathematics (4) 4
MT410B Study Abroad: Mathematics (5) 5
MT410C Study Abroad: Mathematics (6) 6
MT4112 Computational Numerical Analysis 15
MT4113 Computing in Statistics 15
MT411A Study Abroad: Mathematics (4) 4
MT411B Study Abroad: Mathematics (5) 5
MT411C Study Abroad: Mathematics (6) 6
MT412A Study Abroad: Mathematics (4) 4
MT412B Study Abroad: Mathematics (5) 5
MT412C Study Abroad: Mathematics (6) 6
MT4501 Topics in the History of Mathematics 15
MT4507 Classical Mechanics 15
MT4508 Dynamical Systems 15
MT4509 Fluid Dynamics 15
MT4510 Solar Theory 15
MT4511 Asymptotic Methods 15
MT4512 Automata, Languages and Complexity 15
MT4513 Fractal Geometry 15
MT4514 Graph Theory 15
MT4515 Functional Analysis 15
MT4516 Finite Mathematics 15
MT4519 Number Theory 15
MT4526 Topology 15
MT4527 Time Series Analysis 15
MT4528 Markov Chains and Processes 15
MT4530 Population Genetics 15
MT4531 Bayesian Inference 15
MT4537 Spatial Statistics 15
MT4539 Quantitative Risk Management 15
MT4551 Financial Mathematics 15
MT4552 Population Dynamics Models in Mathematical Biology 15
MT4553 Theory of Electric and Magnetic Fields 15
MT4554 Game Theory 15
MT4598 Enterprise Project in Mathematics / Statistics 15
MT4606 Classical Statistical Inference 15
MT4608 Sampling Theory 15
MT4614 Design of Experiments 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 between 120 to 160 credits in academic year

Third and Fourth Year Programme Requirements:
45 credits in three of: MT3501 - MT3508;
15 Credits: MT4599 or other approved Joint Honours project;
60 Further Credits: MT3000 - MT4999;
With permission of the Adviser of Studies 15 credits may be substituted by MT2502 - MT2508, ID4001 or a suitable VP coded module.

BSc (Hons) Computer Science (Joint Honours): Fourth year
Code Module name Credits
( 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
CS310A Study Abroad: Computer Science (4) 4
CS310B Study Abroad: Computer Science (5) 5
CS310C Study Abroad: Computer Science (6) 6
CS311A Study Abroad: Computer Science (4) 4
CS311B Study Abroad: Computer Science (5) 5
CS311C Study Abroad: Computer Science (6) 6
CS312A Study Abroad: Computer Science (4) 4
CS312B Study Abroad: Computer Science (5) 5
CS312C Study Abroad: Computer Science (6) 6
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 15 and 45 credits from Module List: CS4052, CS4100 - CS4999 excluding CS4701, CS4796, CS5010 - CS5089 except CS5041 and CS5042.
CS4052 Logic and Software Verification 15
CS4102 Computer Graphics 15
CS4103 Distributed Systems 15
CS4105 Advanced Communication Networks and Systems 15
CS410A Study Abroad: Computer Science (4) 4
CS410B Study Abroad: Computer Science (5) 5
CS410C Study Abroad: Computer Science (6) 6
CS411A Study Abroad: Computer Science (4) 4
CS411B Study Abroad: Computer Science (5) 5
CS411C Study Abroad: Computer Science (6) 6
CS412A Study Abroad: Computer Science (4) 4
CS412B Study Abroad: Computer Science (5) 5
CS412C Study Abroad: Computer Science (6) 6
CS4144 Visual Analytics 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: Sound, Image, Video 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
CS5014 Machine Learning 15
CS5020 Principles of Computer Communication Systems 15
CS5030 Software Engineering Principles 15
CS5031 Software Engineering Practice 15
CS5032 Critical Systems Engineering 15
CS5033 Software Architecture 15
CS5040 Human Computer Interaction Principles and Methods 15
CS5044 Information Visualisation 15
CS5052 Data-Intensive Systems 15
CS5055 Data Ethics and Privacy 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 between 45 to 75 credits from the Computer Science element. CS4052 is an optional module.
Students must take CS4098 or CS4796 or an approved Joint Honours project module from another school.
BSc (Hons) Mathematics (Joint Honours): Fourth year
Code Module name Credits
MT4599 Project in Mathematics / Statistics 15 AND
View list Between 0 and 45 credits from Module List: MT3501 - MT3508 AND
MT3501 Linear Mathematics 2 15
MT3502 Real Analysis 15
MT3503 Complex Analysis 15
MT3504 Differential Equations 15
MT3505 Algebra: Rings and Fields 15
MT3506 Techniques of Applied Mathematics 15
MT3507 Mathematical Statistics 15
MT3508 Applied Statistics 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 60 credits from Module List: MT3000 - MT4999 (excluding MT4599)
MT301A Study Abroad: Mathematics (4) 4
MT301B Study Abroad: Mathematics (5) 5
MT301C Study Abroad: Mathematics (6) 6
MT302A Study Abroad: Mathematics (4) 4
MT302B Study Abroad: Mathematics (5) 5
MT302C Study Abroad: Mathematics (6) 6
MT303A Study Abroad: Mathematics (4) 4
MT303B Study Abroad: Mathematics (5) 5
MT303C Study Abroad: Mathematics (6) 6
MT304A Study Abroad: Mathematics (4) 4
MT304B Study Abroad: Mathematics (5) 5
MT304C Study Abroad: Mathematics (6) 6
MT305A Study Abroad: Mathematics (4) 4
MT305B Study Abroad: Mathematics (5) 5
MT305C Study Abroad: Mathematics (6) 6
MT306A Study Abroad: Mathematics (4) 4
MT306B Study Abroad: Mathematics (5) 5
MT306C Study Abroad: Mathematics (6) 6
MT307A Study Abroad: Mathematics (4) 4
MT307B Study Abroad: Mathematics (5) 5
MT307C Study Abroad: Mathematics (6) 6
MT308A Study Abroad: Mathematics (4) 4
MT308B Study Abroad: Mathematics (5) 5
MT308C Study Abroad: Mathematics (6) 6
MT309A Study Abroad: Mathematics (4) 4
MT309B Study Abroad: Mathematics (5) 5
MT309C Study Abroad: Mathematics (6) 6
MT310A Study Abroad: Mathematics (4) 4
MT310B Study Abroad: Mathematics (5) 5
MT310C Study Abroad: Mathematics (6) 6
MT311A Study Abroad: Mathematics (4) 4
MT311B Study Abroad: Mathematics (5) 5
MT311C Study Abroad: Mathematics (6) 6
MT312A Study Abroad: Mathematics (4) 4
MT312B Study Abroad: Mathematics (5) 5
MT312C Study Abroad: Mathematics (6) 6
MT3501 Linear Mathematics 2 15
MT3502 Real Analysis 15
MT3503 Complex Analysis 15
MT3504 Differential Equations 15
MT3505 Algebra: Rings and Fields 15
MT3506 Techniques of Applied Mathematics 15
MT3507 Mathematical Statistics 15
MT3508 Applied Statistics 15
MT3510 Introduction to Mathematical Computing 15
MT3802 Numerical Analysis 15
MT4003 Groups 15
MT4004 Real and Abstract Analysis 15
MT4005 Linear and Nonlinear Waves 15
MT401A Study Abroad: Mathematics (4) 4
MT401B Study Abroad: Mathematics (5) 5
MT401C Study Abroad: Mathematics (6) 6
MT402A Study Abroad: Mathematics (4) 4
MT402B Study Abroad: Mathematics (5) 5
MT402C Study Abroad: Mathematics (6) 6
MT404A Study Abroad: Mathematics (4) 4
MT404B Study Abroad: Mathematics (5) 5
MT404C Study Abroad: Mathematics (6) 6
MT405A Study Abroad: Mathematics (4) 4
MT405B Study Abroad: Mathematics (5) 5
MT405C Study Abroad: Mathematics (6) 6
MT406A Study Abroad: Mathematics (4) 4
MT406B Study Abroad: Mathematics (5) 5
MT406C Study Abroad: Mathematics (6) 6
MT407A Study Abroad: Mathematics (4) 4
MT407B Study Abroad: Mathematics (5) 5
MT407C Study Abroad: Mathematics (6) 6
MT408A Study Abroad: Mathematics (4) 4
MT408B Study Abroad: Mathematics (5) 5
MT408C Study Abroad: Mathematics (6) 6
MT409A Study Abroad: Mathematics (4) 4
MT409B Study Abroad: Mathematics (5) 5
MT409C Study Abroad: Mathematics (6) 6
MT410A Study Abroad: Mathematics (4) 4
MT410B Study Abroad: Mathematics (5) 5
MT410C Study Abroad: Mathematics (6) 6
MT4112 Computational Numerical Analysis 15
MT4113 Computing in Statistics 15
MT411A Study Abroad: Mathematics (4) 4
MT411B Study Abroad: Mathematics (5) 5
MT411C Study Abroad: Mathematics (6) 6
MT412A Study Abroad: Mathematics (4) 4
MT412B Study Abroad: Mathematics (5) 5
MT412C Study Abroad: Mathematics (6) 6
MT4501 Topics in the History of Mathematics 15
MT4507 Classical Mechanics 15
MT4508 Dynamical Systems 15
MT4509 Fluid Dynamics 15
MT4510 Solar Theory 15
MT4511 Asymptotic Methods 15
MT4512 Automata, Languages and Complexity 15
MT4513 Fractal Geometry 15
MT4514 Graph Theory 15
MT4515 Functional Analysis 15
MT4516 Finite Mathematics 15
MT4519 Number Theory 15
MT4526 Topology 15
MT4527 Time Series Analysis 15
MT4528 Markov Chains and Processes 15
MT4530 Population Genetics 15
MT4531 Bayesian Inference 15
MT4537 Spatial Statistics 15
MT4539 Quantitative Risk Management 15
MT4551 Financial Mathematics 15
MT4552 Population Dynamics Models in Mathematical Biology 15
MT4553 Theory of Electric and Magnetic Fields 15
MT4554 Game Theory 15
MT4598 Enterprise Project in Mathematics / Statistics 15
MT4606 Classical Statistical Inference 15
MT4608 Sampling Theory 15
MT4614 Design of Experiments 15
MT4794 Joint Dissertation (30cr) 30
MT4796 Joint Project (30cr) 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 Programme Requirements:
45 credits in three of: MT3501 - MT3508;
15 Credits: MT4599 or other approved Joint Honours project;
60 Further Credits: MT3000 - MT4999;
With permission of the Adviser of Studies 15 credits may be substituted by MT2502 - MT2508, ID4001 or a suitable VP coded module.


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/students/study-abroad/academic ).