Undergraduate Academic Programs / Departments / Courses

77 School of Mathematical & Computational Sciences

http://upei.ca/mathcompsci

Mathematics and Computational Sciences Faculty
Gordon MacDonald, Professor, Associate Dean
Maxim Burke, Professor
Cezar Câmpeanu, Professor
Shannon Fitzpatrick, Professor
Shafiqul Islam, Professor
Nasser Saad, Professor
David Horrocks, Associate Professor
Sami Khedhiri, Associate Professor
David LeBlanc, Associate Professor
Michael McIsaac, Associate Professor
Christopher Power, Associate Professor
Yingwei Wang, Associate Professor
Alexander Alvarez, Assistant Professor
Antonio Bolufe-Rohler, Assistant Professor
Andrew Godbout, Assistant Professor
Jay Adamsson, Adjunct Professor
Qiang Ye, Adjunct Professor

The School of Mathematical and Computational Sciences at UPEI provides students with a strong foundation in Mathematics, Statistics and Computer Science, and offers a comprehensive suite of applied programs which meet market demand and lead to fulfilling careers in areas such as: Financial Mathematics, Actuarial Science, Data Analytics, Business Analytics and Video Game Programming.

Faculty members in the School of Mathematical and Computational Sciences are focused on providing quality instruction in a friendly learning community. Small class sizes, active-learning opportunities and accessible professors are features of all programs in the School of Mathematical and Computational Sciences.

The School of Mathematical and Computational Sciences offers degrees in:
Mathematics Major and Honours
Statistics Major and Honours
Computer Science Major and Honours
Computer Science Major, specializing in Video Game Programming
Actuarial Science Major
Financial Mathematics Major
Analytics Major, specializing in Data Analytics
Analytics Major, specializing in Business Analytics

Mathematics
Mathematics is the study of number, quantity and space. Mathematics can be studied for its own sake (usually called pure mathematics) or as it is applied to other disciplines. The Bachelor of Science with a Major in Mathematics provides students with a solid foundation in both pure and applied mathematics, without any particular applied specialization. Graduates of this program are well situated for graduate programs in Mathematics, post-Bachelor professional programs (Education, Law, Medicine, Business, etc.), or applied Mathematical Sciences programs. Students interested in continuing on to work in mathematics research should consider the Bachelor of Science with Honours in Mathematics.

Statistics
Statistics is the practice of collecting and analyzing numerical data, and inferring properties of the whole from a representative sample. The Bachelor of Science with a Major in Statistics provides students with the solid foundation in both statistical theory and applied statistics necessary to become a Statistician or to proceed to more specialized Statistical study at the graduate level. Students interested in continuing to work in statistics research should consider the Bachelor of Science with Honours in Statistics.

Computer Science
Computer Science is the practice of understanding, designing, and automating algorithmic processes. The Bachelor of Science with a Major in Computer Science provides students with a solid foundation in both the principles and practice of computing. Graduates of this program are well situated for graduate programs in Computer Science or entering the workforce. Students interested in continuing on to work in computer Science research should consider the Bachelor of Science with Honours in Computer Science.

Actuarial Science
Actuarial Science is the study of risk, usually risk associated with insurance, pension and investment plans. Actuarial Science uses techniques from mathematics, statistics and finance. The Bachelor of Science with a Major in Actuarial Science provides students with the education required to become an Actuary.

Financial Mathematics
Financial Mathematics is the application of mathematical models to finance, usually to analyze markets and pricing. Financial Mathematics uses techniques from Mathematics, Statistics, Business and Economics. The Bachelor of Science in Financial Mathematics provides a solid foundation in Financial Mathematics, leading either to a career in the financial sector or to further training in advanced Financial Mathematics.

Analytics
Analytics is the application of techniques from Mathematical and Computational Sciences to discover meaningful patterns in data. The Bachelor of Science in Analytics has two specializations: Business Analytics, which focuses particularly on business data, and using analytics to improve business performance, and Data Analytics, which focuses on the examining large amounts of raw for the purpose of drawing conclusions about that information.

Computer Science specializing in Video Game Programming
Video Game Programming involves mathematical and problem solving skills in addition to programming and design of video games on traditional and non-traditional platforms. The Bachelor of Science in Computer Science with a specialization in Video Game Programming provides students with the specialized skills to enter this growing field.

Course code prefixes
In the School of Mathematical and Computational Sciences, there are five course prefixes:
MATH – for Mathematics courses
STAT – for Statistics courses
CS – for Computer Science courses
AMS – for Applied Mathematical Sciences courses (mainly Actuarial Science and Financial Mathematics)
MCS – for common or interdisciplinary courses in Mathematical and Computational Science

COMMON REQUIREMENTS ACROSS ALL DEGREE PROGRAMS IN THE SCHOOL OF MATHEMATICAL AND COMPUTATIONAL SCIENCES

COMMON CORE

All degree programs in the School of Mathematical and Computational Sciences are built on a common core of courses that should be completed in the first two years of study. This common core consists of the following courses:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
MATH 1910 Single Variable Calculus I 4
MATH 1920 Single Variable Calculus II 4
MATH 2610 Linear Algebra I 3
STAT 1910 Introduction to Probability and Statistics 3
CS 1910 Computer Science I 3
CS 1920 Computer Science II 3
One of… UPEI 1010 Writing Studies;
UPEI 1020 Inquiry Studies;
UPEI 1030 University Studies
3
Total Semester Hours of Credit 23

ADVANCED COMMON CORE COURSES
Students in all degree programs in the School of Mathematical and Computational Sciences must complete:

Credits
MCS 4210 Professional Communication and Practice (writing-intensive) 3
MCS 3050 Tutoring in Mathematical and Computational Sciences 1

COMMON BREADTH REQUIREMENT

Students must take at least 15 semester hours of credit in courses outside the School of Mathematical and Computational Sciences (excluding one of the UPEI courses listed above), and of these 15 semester hours of credit at least 6 must be from outside the Faculty of Science.

MATHEMATICS

REQUIREMENTS FOR A MAJOR IN MATHEMATICS

The Major in Mathematics requires a total of 120 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.) 

REQUIREMENTS FOR A MAJOR IN MATHEMATICS

The Major in Mathematics requires a total of 120 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.) 

 
Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
At least one of… MCS 2010 MAPLE Technology Lab OR MCS 2020 Matlab Technology Lab 1
MATH 2420 Combinatorics I 3
MATH 3510 Real Analysis 3
MATH 3610 Group Theory 3
At least one of… MATH 3010 Differential Equations
STAT 2910 Probability and Mathematical Statistics I OR
MATH 3310 Complex Variables
3
Five electives in the Mathematical and Computational Sciences (at the 2000 level or higher with at least two at the 3000 level or higher) 15
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 55
Total Semester Hours of Credit 120

Statistics

REQUIREMENTS FOR A MAJOR IN STATISTICS
The Major in Statistics requires a total of 120 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
MCS 2030 R Technology Lab 1
STAT 2910 Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240 Applied Regression Analysis 3
STAT 4550 Data Analysis and Inference 3
STAT 4240 Experimental Design 3
STAT 4330 Time Series I 3
STAT 4110 Statistical Simulation 3
STAT 4410 Stochastic Processes 3
Two electives in the Mathematical and Computational Sciences (at the 2000 level or higher) 6
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 52
Total Semester Hours of Credit 120

Computer Science

REQUIREMENTS FOR A MAJOR IN COMPUTER SCIENCE
The Major in Computer Science requires a total of 120 semester hours of credit, as described below: (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
CS 2520 Computer Organization and Architecture 3
CS 2910 Computer Science III 3
CS 2620 Comparative Programming Languages 3
CS 2920 Data Structures and Algorithms 3
CS 2820 Programming Practices 3
MATH 2420 Combinatorics I 3
MCS 3320 Theory of Computing 3
CS 3420 Computer Communications 3
CS 3520 Operating Systems 3
CS 3610 Analysis and Design of Algorithms 3
CS 3620 Software Design 3
CS 3710 Database Systems 3
CS 4810 Software Engineering 3
CS 4820 Software Systems Development Project 3
One elective in Mathematical and Computational Sciences (at the 2000 level or higher) 3
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 48
Total Semester Hours of Credit 120

Actuarial Science

REQUIREMENTS FOR A MAJOR IN ACTUARIAL SCIENCE
The Major in Actuarial Science requires a total of 120 semester hours of credit, as described below:(NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
STAT 2910  Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240  Applied Regression Analysis 3
MATH 3010 Differential Equations 3
At least one of… MCS 2040 Visual Basic in Excel Technology Lab
OR AMS 3040 Introduction to GGY Axis Lab
1
MCS 2030
R Technology Lab 1
AMS 2160 Financial Mathematics 3
AMS 2510 Long Term Actuarial Mathematics I 3
AMS 3140 Probability for Actuaries 3
AMS 3420 Introduction to Financial Derivatives 3
AMS 3510 Long Term Actuarial Mathematics II 3
AMS 3310 Advanced Corporate Finance 3
AMS 4540 Loss Models I 3
AMS 4550 Loss Models II 3
AMS 4700 Short-term Insurance Pricing and Reserving 3
AMS 4580 Credibility Theory 3
STAT 4330 Time Series I 3
STAT 4280 -++Generalized Linear Models 3
AMS 2030 Intermediate Microeconomics I 3
AMS 2040 Intermediate Macroeconomics I 3
ACCT 1010 Introduction to Accounting 3
BUS 2310 Corporate Finance 3
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 27

Total Semester Hours of Credit
120

MAJOR IN ACTUARIAL SCIENCE WITH PRE-PROFESSIONAL SPECIALIZATION STREAM
This specialization is designed for those students who plan to complete all the professional exams required to apply for the Associate status from the Canadian Institute of Actuaries or the Society of Actuaries or the Casualty Actuarial Society. The specialization contains several additional courses compared with the major and students enrolled in the specialization would receive most courses related to the exams needed to obtain the designation of Associate from the Canadian Institute of Actuaries (CIA), as well as the Society of Actuaries (SOA) or the Casualty Actuarial Society.

(NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
STAT 2910 Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240 Applied Regression Analysis 3
MATH 2620 Linear Algebra II 3
MATH 3010  Differential Equations 3
At least one of… MCS 2040 Visual Basic in Excel Technology Lab OR
AMS 3040 Introduction to GGY Axis Lab
1
MCS 2030 R Technology Lab 1
AMS 2160 Financial Mathematics I 3
AMS 3420 Introduction to Financial Derivatives 3
AMS 2510 Long Term Actuarial Mathematics I 3
AMS 3140 Probability for Actuaries 3
AMS 4450 Statistics for Risk Modelling 3
AMS 3510 Long Term Actuarial Mathematics II 3
AMS 3310 Advanced Corporate Finance 3
AMS 4540 Loss Models I 3
AMS 4550 Loss Models II 3
AMS 4600 Predictive Analytics 3
AMS 4610 Predictive Analytics for Actuaries 3
AMS 4700 Short-term Insurance Pricing and Reserving 3
AMS 4580 Credibility Theory 3
STAT 4330 Time Series I 3
STAT 4410 Stochastic Processes 3
STAT 4280 Generalized Linear Models 3
MCS 3920 Numerical Analysis 3
AMS 2030 Intermediate Microeconomics I 3
AMS 2040 Intermediate Macroeconomics I 3
ACCT 1010 Introduction to Accounting 3
BUS 2310 Corporate Finance 3
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 9
  Total Semester Hours of Credit             120

Financial Mathematics

REQUIREMENTS FOR A MAJOR IN FINANCIAL MATHEMATICS
The Major in Financial Mathematics requires a total of 120 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
STAT 2910 Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240 Applied Regression Analysis 3
MCS 2040 Visual Basic in Excel Technology Lab 1
MCS 2030 R Technology Lab 1
AMS 2160 Financial Mathematics I 3
At least one of AMS 4450 Statistics for Risk Modeling OR
STAT 4110
3
STAT 4280 Generalized Linear Models 3
AMS 3420 Introduction to Financial Derivatives 3
AMS 4080 Financial Mathematics II 3
AMS 4090 Financial Mathematics III 3
AMS 3910 Mathematical Modelling 3
AMS 3310 Advanced Corporate Finance 3
MATH 3010 Differential Equations 3
MATH 3510 Real Analysis 3
STAT 4330 Time Series I 3
STAT 4410 Stochastic Processes 3
MCS 3920 Numerical Analysis 3
EC 1010 Introductory Microeconomics 3
EC 1020 Introductory Macroeconomics 3
ACCT 1010 Introduction to Accounting 3
BUS 2310 Corporate Finance 3
At least one of… ECON 2510 Money and Financial Institutions 
  BUS 3330 Integrated Cases in Corporate Finance
  BUS 3660 Entrepreneurial Finance
  OR BUS 3340 Personal Finance 3
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 18
Total Semester Hours of Credit  120

Analytics

REQUIREMENTS FOR A MAJOR IN ANALYTICS (Specialization in Data Analytics)

The Major in Analytics with a specialization in Data Analytics requires a total of 120 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
At least one of… MCS 2010 MAPLE Technology Lab, MCS 2020 Matlab Technology Lab OR MCS 2030 R Technology Lab 1
MATH 2420 Combinatorics I 3
MATH 3430 Combinatorics II 3
AMS 2940 Optimization 3
AMS 3770 Combinatorial Optimization 3 3
AMS 3910 Mathematical Modelling 3
MATH 3010 Differential Equations 3
MATH 3610 Group Theory 3
STAT 2910 Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240 Applied Regression Analysis 3
STAT 4550 Data Analysis and Inference 3
STAT 4660 Data Visualization and Mining 3
CS 2910 Computer Science III 3
CS 2920 Data Structures and Algorithms 3
CS 3710 Database Systems 3
CS 3610 Analysis and Design of Algorithms 3
CS 4120 Machine Learning 3
CS 4440 Data Science 3
Two electives in Mathematical or Computational Sciences (at the 2000 level or higher) 6
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 22
Total Semester Hours of Credit 120

REQUIREMENTS FOR A MAJOR IN ANALYTICS (Specialization in Business Analytics)
The Major in Analytics with a specialization in Business Analytics requires a total of 120 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
At least one of MCS 2010 MAPLE Technology Lab, MCS 2020 Matlab Technology Lab OR MCS 2030 R Technology Lab 1
MATH 2420 Combinatorics I 3
MATH 3430 Combinatorics II 3
AMS 2940 Optimization 3
AMS 3770 Combinatorial Optimization 3
AMS 3910 Mathematical Modelling 3
MATH 3010 Differential Equations 3
STAT 2910 Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240 Applied Regression Analysis 3
STAT 4660 Data Visualization and Mining 3
Two electives in the Mathematical and Computational Sciences (at the 3000 level or higher) 6
CS 2910 Computer Science III 3
CS 2920 Data Structures and Algorithms 3
CS 3710 Database Systems 3
ACCT 1010 Introduction to Financial Accounting 3
BUS 1410 Marketing 3
BUS 1710 Organizational Behaviour 3
At least five of…
ACCT 2210 Managerial Accounting
BUS 2650 Introduction to Entrepreneurship …
BUS 2880 Research and Evidence-Based Management
BUS 2720 Human Resource Management
BUS 3010 Business Law
BUS 3330 Integrated Cases in Corporate Finance
BUS 3510 Operations Management
BUS 3710 Entrepreneurship and New Ventures
BUS 4650 Project Management OR BUS 4880 Developing Management Skills
15
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210  Professional Communication and Practice 3
Additional general electives 13
Total Semester Hours of Credit 120

REQUIREMENTS FOR A MAJOR IN COMPUTER SCIENCE (Specialization in Video Game Programming)
The Major in Computer Science with a specialization in Video Game Programming requires a total of 120 semester hours of credit, as described below: (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
CS 3130 Mobile Device Development- Android 3
CS 2520 Computer Organization and Architecture 3
CS 2910 Computer Science III 3
CS 2920 Data Structures and Algorithms 3
CS 2820 Programming Practices 3
CS 2620 Comparative Programming Languages 3
MATH 2420 Combinatorics I 3
MCS 2050  C++ Technology Lab 1
CS 3110 Video Game Design 3
MCS 3320 Theory of Computing 3
CS 3420 Computer Communications 3
CS 3520 Operating Systems 3
CS 3610 Analysis and Design of Algorithms 3
CS 3620 Software Design 3
CS 3710 Database Systems 3
CS 4350 Computer Graphics Programming 3
CS 4360 Advanced Computer Graphics Programming 3
At least two of…CS 4060 – Cloud Computing, CS 4120 Machine Learning, CS 4440 – Data Science OR CS 4610  Wireless Sensor Networks 6
CS 4650 Video Game Architecture 3
CS 4810 Software Engineering 3
CS 4830 Video Game Programming Project 6
One elective in the Mathematical and Computational Sciences (at the 2000 level or higher) 3
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 23
Total Semester Hours of Credit 120

ACCEPTANCE TO AN HONOURS PROGRAM
Students in the Mathematics, Statistics and Computer Science programs have an Honours option. Permission of the School of Mathematical and Computational Sciences is required for admission to an Honours program. Students must normally have a minimum average of 70% in all previous courses. Normally, the School expects an average of 75% in all previous Mathematical and Computational Sciences courses. Admission is contingent upon the student finding a project advisor and acceptance by the School of the topic for the Honours project. Students interested in doing Honours are strongly encouraged to consult with the Associate Dean of the School of Mathematical and Computational Sciences as soon as possible, and no later than January 31 of the student’s third year. To receive the Honours designation, in addition to successful completion of the Honours project, normally students must maintain an average of at least 75% in all courses in the School of Mathematical and Computational Sciences.

REQUIREMENTS FOR HONOURS IN MATHEMATICS
The Honours in Mathematics program requires a total of 126 semester hours of credit, as described below:  (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
At least one of MCS 2010 MAPLE Technology Lab OR MCS 2020 Matlab Technology Lab 1
MATH 2420 Combinatorics I 3
MATH 3510 Real Analysis 3
MATH 3610 Group Theory 3
MATH 3010 Differential Equations 3
STAT 3210 Probability and Mathematical Statistics I 3
MATH 3310 Complex Variables 3
MCS 4900 Honours Project 6
Four electives in the Mathematical and Computational Sciences (at the 2000 level or higher, with at least two at the 4000 level or higher) 12
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 52
Total Semester Hours of Credit 126

REQUIREMENTS FOR HONOURS IN STATISTICS
The Honours in Statistics program requires a total of 126 semester hours of credit, as described below: (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
MATH 2910 Multivariable and Vector Calculus 4
MATH 2620 Linear Algebra II 3
MATH 2720 Mathematical Reasoning 3
MCS 2030 R Technology Lab 1
STAT 2910 Probability and Mathematical Statistics I 3
STAT 3910 Probability and Mathematical Statistics II 3
STAT 3240 Applied Regression Analysis 3
STAT 4550 Data Analysis and Inference 3
STAT 4240 Experimental Design 3
STAT 4330 Time Series I 3
STAT 4110 Statistical Simulation 3
STAT 4410 Stochastic Processes 3
MCS 4900 Honours Project 6
Two electives in the Mathematical and Computational Science (at the 3000 level or higher) 6
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 52
Total Semester Hours of Credit 126

REQUIREMENTS FOR HONOURS IN COMPUTER SCIENCE
The Honours in Computer Science requires a total of 126 semester hours of credit, as described below: (NOTE: As per Academic Regulation #1 h), all undergraduate degree programs require successful completion of IKE-1040, one of UPEI-1010, 1020 or 1030, and a Writing Intensive Course.)   

Credits
The Common Core 23
CS 2520 Computer Organization and Architecture 3
CS 2620 Comparative Programming Languages 3
CS 2910 Computer Science III 3
CS 2920 Data Structures and Algorithms 3
CS 2820 Programming Practices 3
MATH 2420 Combinatorics I 3
MATH 2910 Multivariable Calculus 4
MCS 3320 Theory of Computing 3
CS 3420 Computer Communications 3
CS 3520 Operating Systems 3
CS 3610 Analysis and Design of Algorithms 3
CS 3620 Software Design 3
CS 3710 Database Systems 3
At least one of CS 4110 Artificial Intelligence and Automated Reasoning OR CS 4120 Machine Learning 3
CS 4810 Software Engineering 3
MCS 4900 Honours Research Project 6
Three electives in the Mathematical and Computational Sciences (at the 2000 level or higher) 9
MCS 3050 Tutoring in Mathematical and Computational Sciences 1
MCS 4210 Professional Communication and Practice 3
Additional general electives 35
Total Semester Hours of Credit 126

REQUIREMENTS FOR A MINOR IN MATHEMATICS
Students may obtain a Minor in Mathematics by completing at least 24 semester hours of credit in Mathematics defined as follows:
MATH 1910-1920 Single Variable Calculus I & II (8 credits)
MATH 2610 Linear Algebra I (3 credits)
MATH 2910 Multivariable and Vector Calculus (4 credits)

Plus 3 semester hours of credit in Mathematics at the 3000 level or higher, and an additional 6 semester hours of credit of Mathematics at the 2000 level or above. (9 credits)

Total Semester Hours of Credit =
24

REQUIREMENTS FOR A MINOR IN STATISTICS
Students may obtain a Minor in Statistics by completing at least 23 semester hours of credit in Mathematics and Statistics defined as follows:
MATH 1910-1920 Single Variable Calculus I & II (8 credits)
STAT 1910 Introduction to Probability and Statistics (3 credits)
MATH 2610 Linear Algebra I (3 credits)
STAT 2910 Probability and Mathematical Statistics I (3 credits)
Plus 6 semester hours of credit in Statistics at the 3000 level or higher (6 credits)

Total Semester Hours of Credit = 23

REQUIREMENTS FOR A MINOR IN COMPUTER SCIENCE
Students may obtain a Minor in Computer Science by completing at least 21 semester hours of credit in Computer Science defined as follows:
CS 1910-1920 Computer Science I & II  (6 credits)
CS 2520 Computer Organization and Architecture (3 credits)
CS 2920 Data Structures and Algorithms (3 credits)

Plus 3 semester hours of credit in Computer Science at the 3000 level or higher, and an additional 6 semester hours of credit in Computer Science at the 2000 level or higher. (9 credits)

Total Semester Hours of Credit = 21

CO-OP EDUCATION IN MATHEMATICAL AND COMPUTATIONAL SCIENCES

The UPEI Co-op Program is an integrated approach to university education which enables students to alternate academic terms on campus with work terms in suitable employment. The success of such programs is founded on the principle that students are able to apply theoretical knowledge from course studies in the workplace and return to the classroom with practical workplace experience. Students who successfully complete all the requirements of the program will have the notation entered on their transcripts and on the graduation parchment.

Students accepted into the program complete at least three paid work terms of normally 14 weeks duration, and three professional development courses. Credits earned through completion of work terms are counted as general electives.

The Co-op option is available to full-time students in any MCS Major or Honours program.  Applications to the Co-op Education Program are normally made after completion of the first year of study. MCS students must complete 126 semester hours of credit in order to graduate with the Co-op designation.

See the Co-operative Education Program section of the UPEI Academic Calendar for more information.

ADMISSION TO SCIENCE CALCULUS
The first-year Calculus courses for most science students are MATH 1910 and MATH 1920. The prerequisite for MATH 1910 is Grade XII Academic Mathematics.  When fulfilling this prerequisite, we highly recommend that students complete a Pre-calculus course equivalent to PEI’s MATH 621B before enrolling in MATH 1910.  We expect students entering MATH 1910 to have a frim grasp of pre-calculus topics including (arithmetic, algebra, trigonometry, analytic geometry and the basic theory of functions).  Please visit the School of Mathematical and Computational Sciences website for more information.

SELECTION OF COURSES
Students majoring in a program in the School of Mathematical and Computational Sciences may not use Math 1010, Math 1110 or Math 1120 for credit towards the degree.

Students majoring in a program in the School of Mathematical and Computational Sciences may count a maximum of three semester hours of credit from Technology Labs towards their degree.

COURSE CREDIT
Unless otherwise noted in the course description below, a course in the School of Mathematical and Computational Sciences gives three semester hours of credit.

MATHEMATICS COURSES (MATH PREFIX)

1010 ELEMENTS OF MATHEMATICS
This course provides an introduction to several mathematical topics at the university level, and is intended for students majoring in a discipline other than Mathematical and Computational Sciences, or the Natural Sciences. The course consists of four modules: (1) Sets and Logic, (2) Number Theory, (3) Geometry, (4) Mathematical Systems.
PREREQUISITE: Grade XII academic Mathematics
Three lecture hours a week
NOTE: Credit will not be given jointly for this course and any other 1000-level Mathematics course.

1110 FINITE MATHEMATICS
This course introduces students to finite mathematical techniques and to mathematical models in business, life and the social sciences. The course begins with an introduction to mathematical models, types of models, and conversion of verbal models to mathematical models. Topics covered include systems of linear equations and matrices, linear inequalities and linear programming, sets, counting and probability.
PREREQUISITE: Grade XII academic Mathematics
Three lecture hours a week
NOTE: Credit for Mathematics 1110 will not be allowed if taken concurrent with or subsequent to Mathematics 2610.

1120 CALCULUS FOR THE MANAGERIAL, SOCIAL AND LIFE SCIENCES
This course provides an introduction to calculus for students in the managerial, social and life sciences. The main emphasis of the course is the development of techniques of differentiation and integration of algebraic, exponential and logarithmic functions. Applications of derivatives and integrals are also discussed.
PREREQUISITE: Grade XII academic Mathematics
Three lecture hours a week
NOTE: Credit will not be given jointly for this course and MATH 1910.

1910 SINGLE VARIABLE CALCULUS I
This course is an introduction to differential and integral calculus of functions of a single variable. The course is intended primarily for majors in the Mathematical and Computational Sciences, Engineering and the Physical Sciences, as well as those planning to continue with further Mathematics courses. The concepts of limits, continuity and derivatives are introduced and explored numerically, graphically and analytically. The tools of differential calculus are applied to problems in: related rates; velocity and acceleration; extrema of functions; optimization; curve sketching; and indeterminate forms. The concepts of definite and indefinite integrals are introduced, and the relation between the two integrals is discovered via the Fundamental Theorem of Calculus.
PREREQUISITE: Grade XII academic Mathematics
Four lecture hours and one tutorial hour per week
Semester hours of credit: 4
NOTE:  Credit will not be given jointly for this course and MATH 1120.

1920 SINGLE VARIABLE CALCULUS II
This course is a continuation of integral calculus of functions of a single variable and an introduction to sequences and series. Techniques of integration are studied, including improper integrals and numerical integration, and the tools of integral calculus are used to compute areas, volumes and arc lengths; and are applied to problems in physics and differential equations. Sequences, series, tests for convergence, Taylor series and Taylor polynomials are studied.
PREREQUISITE: MATH 1910
Four lecture hours and one tutorial hour per week
Semester hours of credit: 4

2420 COMBINATORICS I
This course offers a survey of topics in combinatorics that are essential for students majoring in the Mathematical or Computational Sciences. Topics include: logic, proof techniques such as mathematical induction, recursion, counting methods, and introductory graph theory.
PREREQUISITE: MATH 1920
Three lecture hours per week

2610 LINEAR ALGEBRA I
This course introduces some of the basic concepts and techniques of linear algebra to students of any major. The emphasis is on the interpretation and development of computational tools. Theory is explained mainly on the basis of two or three-dimensional models. Topics covered are: matrices; determinants; systems of equations; vectors in two and three-dimensional space including dot and cross products, lines, and planes; concepts of linear independence, basis, and dimension explained with examples; linear transformations and their matrices; eigenvectors and eigenvalues.
PREREQUISITE: Grade XII academic Mathematics
Three lecture hours per week

2620 LINEAR ALGEBRA II
This course continues MATH 261 with further concepts and theory of linear algebra. Topics include real and complex vector spaces, orthogonality, Gram-Schmidt Process, canonical forms, spectral decompositions, inner product spaces and the projection theorem.
PREREQUISITE: MATH 1910, MATH 2610
Three lecture hours a week

2720 MATHEMATICAL REASONING
This course provides students with experience in writing mathematical arguments. It covers first-order logic, set theory, relations, and functions. The ideas and proof techniques are considered in the context of various mathematical structures such as partial orders, graphs, number systems, and finite groups.
PREREQUISITE: None
Three lecture hours per week

2810 FOUNDATIONS OF GEOMETRY
This course presents an axiomatic base for Euclidean geometry and an insight into the interdependence of the various theorems and axioms of that geometry and non-Euclidean geometries. Topics include: incidence and separation properties for points, lines, planes and space; congruence properties; geometric inequalities; similarity properties; and geometric constructions.
PREREQUISITE: Six semester hours of First Year Mathematics
Three lecture hours per week

2820 MATHEMATICAL PHYSICS
(See Physics 2820).
PREREQUISITE: MATH 2910 and either PHYS 1120 or PHYS 1220

2910 MULTIVARIABLE AND VECTOR CALCULUS
This course continues from Math 1920 and is an introduction to multivariable differentiation and integration and vector calculus. Topics include parametric representation of curves; polar coordinates; vectors; dot and cross products; curves and surfaces in space; calculus of vector-valued functions; functions of several variables; partial differentiation; directional derivatives; tangent planes; local and constrained maxima and minima; double and triple integrals; changes of variables in multiple integrals; vector fields; line and surface integrals; gradient, divergence and curl; Green’s, Stokes’ and Divergence Theorems.
PREREQUISITE: MATH 1920
Four lecture hours per week
Semester hours of credit: 4

3010 DIFFERENTIAL EQUATIONS
This course introduces the basic theory of differential equations, considers various techniques for their solution, and provides elementary applications. Topics include linear equations; separable equations; linear independence and Wronskian; second-order equations with constant coefficients; nonhomogeneous equations; applications of first- and second-order equations; Laplace and inverse Laplace transforms, and their application to initial-value problems; series solutions about ordinary and singular points; and Fourier series.
PREREQUISITE: MATH 1920
Three lecture hours per week

3310 COMPLEX VARIABLES
This is a first course in complex variables. The aim is to acquaint students with the elementary complex functions, their properties and derivatives, and with methods of integration. Topics covered include: definition and development of complex numbers as ordered pairs; geometric representation; basic formulas and inequalities involving argument and conjugates; roots of complex numbers, limit, continuity, and derivative; Cauchy Riemann conditions; harmonic functions; properties of trigonometric, hyperbolic, logarithmic, exponential, and inverse trigonometric functions; bilinear transformation; integration; Cauchy Integral Theorem and Formula; residues and poles; Laurent and Taylor’s series; and improper integrals.
PREREQUISITE: MATH 2910
Three lecture hours per week

3420 NUMBER THEORY
This first course in number theory will include the following topics: equivalence of the principles of induction and the well-ordering principle; division algorithm; positional notation and repeating decimals; greatest common divisor; Euclidean Algorithm; Fundamental Theorem of Arithmetic; Pythagorean Triplets; Prime Numbers Theorem; Mersenne and Fermat Numbers; congruences; Euler’s Phi-function; Chinese Remainder Theorem; Diophantine Equations; Theorems of Lagrange and Wilson; Quadratic Reciprocity Law of Gauss; Legendre symbol and primitive roots; perfect numbers; multiplicative number- theoretic functions; Moebius inversion.
PREREQUISITE: Six semester hours of Mathematics at the 2000 level or higher
Three lecture hours per week

3430 COMBINATORICS II
This course continues MATH 2420, with the examination of advanced counting techniques, binomial coefficients, and generating functions. Other topics include relations, partial orders, and Steiner Triple systems.
PREREQUISITE: MATH 2420
Three lecture hours per week

3510 REAL ANALYSIS
This is a first course in real analysis. Topics include: the reals as a complete ordered field; closed and open sets; Bolzano-Weierstrass and Heine-Borel Theorems; Cauchy Sequences; limits and continuity; derivative; Mean Value Theorem; Riemann Integral; and the Fundamental Theorem of Calculus.
PREREQUISITE: MATH 1920 and MATH 2720
Three lecture hours per week

3610 GROUP THEORY
An introduction to group theory, including: cyclic groups, symmetric groups, subgroups and normal subgroups, Lagrange’s theorem, quotient groups and homomorphisms, isomorphism theorems, group actions, Sylow’s theorem, simple groups, direct and semidirect products, fundamental theorem on finitely generated Abelian groups.
PREREQUISITE: MATH 2720
Three lecture hours per week

3710 GRAPH THEORY
This course is an introduction to the ideas, methods, and applications of graph theory. Topics include graph connectivity, graph factors and factorizations, planar graphs, and colourings.
PREREQUISITE: MATH 2420 or MATH 2720
Three lecture hours per week

4020 POINT-SET TOPOLOGY
A first course in topology, covering some review of set theory; cardinal numbers; binary relations; metric spaces, convergence and continuity in metric spaces; topological spaces, bases, sub-spaces; continuity in general; homeomorphism; product spaces; separation axioms; compactness; connectedness.
PREREQUISITE: MATH 3510
Three lecture hours per week

4520 MEASURE THEORY AND INTEGRATION
A first course in measure theory, covering measure as a generalization of length, outer measure, sigma-algebras, measurability, construction of measures, Lebesgue measure on the real line, measurable functions and the Lebesgue integral. Additional topics may include and convergence theorems, product measures and Fubini Theorem.
PREREQUISITE: MATH 3510
Three lecture hours per week

4530 FUNCTIONAL ANALYSIS
This first course in functional analysis covers topics like: metric spaces, Banach spaces, function spaces, Hilbert spaces, generalized Fourier series and linear operators.
PREREQUISITE: MATH 2620 and MATH 3510
Three lecture hours per week

4620 RING AND FIELD THEORY
Introduction to ring and field theory, including: polynomial rings, matrix rings, ideals and homomorphisms, quotient rings, Chinese remainder theorem, Euclidean domains, principal ideal domains, unique factorization domains, introduction to module theory, basic theory of field extensions, splitting fields and algebraic closures, finite fields, introduction to Galois theory.
PREREQUISITE: MATH 3610
Three lecture hours per week

4710 PARTIAL DIFFERENTIAL EQUATIONS
This course is an introduction to the theory and application of partial differential equations. Topics include: first-order equations and characteristic curves; classification of second-order equations as parabolic, hyperbolic or elliptic; Laplace, wave and diffusion equations, and their physical origins; solution using Fourier series; and separation of variables.
PREREQUISITE: MATH 2910 and MATH 3010
Three lecture hours per week

4720 DYNAMICAL SYSTEMS
This course is a study of the long-term qualitative behaviour of solutions of systems of differential or difference equations. Topics include: non-linear systems, linearization, numerical and graphical methods, equilibria, phase space, stability, bifurcations, strange attractors, and chaos. Applications to physics, biology and other sciences are studied.
PREREQUISITE: MATH 2610, MATH 2910 and MATH 3010
Three lecture hours per week

STATISTICS COURSES (STAT PREFIX)

1210 INTRODUCTORY STATISTICS
The main objective of this course is to introduce the basic concepts of descriptive statistics, statistical inference, and the use of statistical software such as MINITAB to students in any discipline. More time is spent on statistical inference than on descriptive statistics. Topics include frequency distributions, descriptive statistics, rules of probability, discrete and continuous probability distributions, random sampling and sampling distributions, confidence intervals, one- and two-tail tests of hypotheses, and correlation and linear regression.
PREREQUISITE: Grade XII academic Mathematics.
Three lecture hours per week
NOTE: Credit will not be allowed for Statistics 1210 if a student has received credit for any of the following courses: Business 2510, Education 4810, Psychology 2710 and Sociology 3320. Credit for Statistics 1210 will not be allowed if taken concurrent with or subsequent to Statistics 1910.

1910 INTRODUCTION TO PROBABILITY AND STATISTICS
This course provides an introduction to the theory and applications of statistics and probability. Topics include descriptive statistics, statistical inference for means and proportions, analysis of variance (ANOVA), correlation and regression.  Note that this course is designed for students who have a firm grasp of grade 12 math skills, and is a prerequisite for all additional statistics courses.
PREREQUISITE: Grade XII academic Mathematics.
Three lecture hours plus a 1.5 hour lab per week

2910 PROBABILITY AND MATHEMATICAL STATISTICS I
This course is an introduction to the theoretical basis of statistics for students who have completed STAT 1910. The study concentrates on the mathematical tools required to develop statistical methodology. Topics covered include: probability, continuous and discrete random variables, moment generating functions, multivariate probability distributions and functions of random variables.
PREREQUISITE: MATH 2910 and STAT 1910 or permission of the instructor.
Three lecture hours per week

3240 APPLIED REGRESSION ANALYSIS
This course builds upon the basis of inference studied in Statistics 1910 and provides students with an advanced knowledge of regression techniques. Topics covered are simple and multiple linear regression techniques, matrix notation, the design matrix, model building techniques, residual analysis, and non-linear regression.
PREREQUISITE: STAT 1910 and MATH 2610
Three lecture hours per week

3250 STATISTICAL LEARNING AND MODELLING
This course covers topics such as the key concepts of statistical learning and regression modelling with applications; linear models; time series models; principal components analysis; decision trees; and cluster analysis with their applications in R.
PREREQUISITES: MCS 2030, STAT 3240 and STAT 2910
Three lecture hours per week plus a one hour lab per week

3910 PROBABILITY AND MATHEMATICAL STATISTICS II
This course builds on the mathematical foundation developed in Statistics 2910 and introduces the student to the theory of statistical inference. Topics covered include: sampling distributions and central limit theory, methods of estimation, hypothesis testing, least squares estimation of linear models, and an introduction to Bayesian inference.
PREREQUISITE: STAT 2910
Three lecture hours per week

4110 STATISTICAL SIMULATION
This course introduces statistical simulation, and its use as a tool to investigate stochastic phenomena and statistical methods. Topics include the building and validation of stochastic simulation models useful in computing, operations research, engineering and science; related design and estimation problems; variance reduction; and the implementation and the analysis of the results.
PREREQUISITE: STAT 3910
Three lecture hours per week

4240 EXPERIMENTAL DESIGN
This course builds upon the basis of inference studied in Statistics 1210 and Statistics 3240 to include statistical techniques commonly used in experimental studies. Students will study topics such as analysis of variance models, hypothesis testing in ANOVA models, randomization, and blocking techniques.
PREREQUISITE: STAT 3240
Three lecture hours per week

4280 GENERALIZED LINEAR MODELS
This course covers the basic theory, methodology and applications of generalized linear models. Topics include logistic regression, probit regression, binomial regression, Poisson regression, overdispersion, quasi-likelihood, and the exponential family.
PREREQUISITE: STAT 3240 and STAT 3910
Three lecture hours per week

4330 TIME SERIES I
This course is an introduction to Time Series methods, including: stationary models, trends and seasonality, stochastic Time Series models, autoregressive and moving average processes and an introduction to Time Series forecasting. ARIMA models. Seasonal Time Series and Spectral Analysis are also covered.
PREREQUISITE: STAT 3240
Three lecture hours per week

4340 TIME SERIES II
This course includes topics from Time Series Econometrics, including Maximum Likelihood and Least Squares Estimation of ARIMA Models and GARCH Models, Wavelets and Financial Models. Non-stationary Time Series, multivariate Time Series and panel cointegration analysis are also covered.
PREREQUISITE: STAT 4330
Three lecture hours per week

4410 STOCHASTIC PROCESSES
This course is an introduction to the branch of probability theory that deals with the analysis of systems that evolve over time. Topics include random walks, Markov chains, Poisson processes, continuous time Markov chains, birth and death processes, exponential models, and applications of Markov chains.
PREREQUISITE: STAT 3910
Three lecture hours per week

4550 DATA ANALYSIS AND INFERENCE
This course is an introduction to data analysis with a focus on regression. Topics include: initial examination of data, correlation, and simple and multiple regression models using least squares. Inference for regression parameters, confidence and prediction intervals, diagnostics and remedial measures interactions and dummy variables, variable selection, least squares estimation and inference for non-linear regression will also be discussed.
PREREQUISITE: STAT 3240
Three lecture hours per week

4660 DATA VISUALIZATION AND MINING
This course introduces students to the statistical methods involved in visualization of high dimensional data, including interactive methods directed at exploration and assessment of structure and dependencies in data. Topics include methods for finding groups in data including cluster analysis, dimension reduction methods including multi-dimensional scaling, pattern recognition, and smoothing techniques.
PREREQUISITE: MATH 2620, MATH 2910 and STAT 2910
Three lecture hours per week

4740 MULTIVARIATE ANALYSIS
This course deals with the statistics of observation and analysis of more than one output variable. Topics include estimation and hypothesis testing for multivariate normal data, principal component analysis and factor analysis, discriminant analysis, cluster analysis, and correspondence analysis.
PREREQUISITE: STAT 3240
Three lecture hours per week

COMPUTER SCIENCE COURSES (CS PREFIX)

1610 DIGITAL SYSTEMS
This course provides an introduction to digital systems, beginning with elementary components such as logic gates, from which are constructed components such as adders and comparators, and progressing to more complex systems such as programmable logic devices, memory and processor units. Students acquire skills in the design and analysis of combinational and sequential digital systems, CAD design and simulation tools for complex systems, and construction of digital systems based upon a modular methodology.
PREREQUISITE: CS 1910 or ENGN 1310, and three semester hours of Mathematics
Three lecture hours and a three-hour laboratory session per week

1910 COMPUTER SCIENCE I
Students will be introduced to computational thinking.  They will learn how abstraction and decomposition can be used to solve problems and how to create, analyse and trace their own algorithmic solutions.  They will iterate and improve their solutions through pseudocode and through implementation in the procedural programming paradigm.  They will learn the following programming constructs: data structures and types, decision structures, repetition structures, functions, exception handling, and ways to represent data in lists and strings.  They will learn to test their code ensuring correctness of their programs.
PREREQUISITE: Grade XII academic Mathematics
Three lecture hours and 1.5 hours lab per week

1920 COMPUTER SCIENCE II
Students will learn and apply the object-oriented paradigm of programming to reinforce and extend their knowledge in computational thinking, data representation and algorithms.  They will learn how encapsulation can be used to create robust programs that perform a well-defined set of tasks, and how to extend and reuse this code through inheritance and polymorphism.  They will learn searching and sorting algorithms, how to apply recursion, and objects for organizing data such as linked lists, stacks and queues.
PREREQUISITE: CS 1910
Three lecture hours and 1.5 hours lab per week

2060 WEB DEVELOPMENT AND PROGRAMMING
In this course, students learn to create websites that involve server-side scripting and database operations. While one specific scripting language is used to acquire web development and programming skills, students are exposed to a spectrum of scripting languages, enabling them to easily adapt to others.
PREREQUISITES: CS 1910
Three hours per week

2520 COMPUTER ORGANIZATION AND ARCHITECTURE
This course provides a basic understanding of the organization and architecture of modern computer systems. It examines the function and design of major hardware components both from a designer’s perspective and through assembly language programming. Topics include components and their interconnection, internal/external memory, input/output subsystems, processors, computer arithmetic, instruction sets, addressing modes, and pipelining.
PREREQUISITE: CS 1920
Three hours per week

2620 COMPARATIVE PROGRAMMING LANGUAGES
This course examines the principal features of major types of programming languages, including procedural, logical, functional and object-oriented languages. Features include parameter-passing mechanisms, control structures, scope, and binding rules. Each language type is illustrated by considering a specific language.
PREREQUISITE: CS 1920
Three lecture hours per week

2710 PRACTICAL EMBEDDED SYSTEMS
This course introduces students to the concept of embedded systems architectures, the interconnection of sensors and actuators to such systems, and the usage of such platforms for data acquisition and control of automated systems. Popular microcontroller units and system-on-chip platforms will be examined.
PREREQUISITES: CS 1210 or CS 1410 or CS 1910 or ENGN 1310
Three lecture hours per week

2820 PROGRAMMING PRACTICES
This course introduces the student to development in the Unix/Linux environment. Topics include development tools, shell programming, common utility programs, processes, file/directory management, IDEs, testing/debugging, version control, and an introduction to software engineering.
PREREQUISITE: CS 1920 or permission of the instructor (based on completion of CS 1910 with first class standing)
Three lecture hours per week

2910 COMPUTER SCIENCE III
Students will learn and apply advanced programming concepts in an object-oriented language. They will be introduced to software engineering with test-driven design and the use of version control to maintain their codebase. Students will gain mastery of an object-oriented language and design and implement data structures. Students will be introduced to the functional programming paradigm and multi-threaded programs.
PREREQUISITE: CS 1920 and six credit hours of Mathematics
Three lecture hours and 1.5 hours lab per week

2920 DATA STRUCTURES AND ALGORITHMS
This course continues the study of data structures, recursive algorithms, searching and sorting techniques, and general strategies for problem solving. It also introduces complexity analysis and complexity classes.
PREREQUISITE: CS 2910 and six semester hours of Mathematics
Three lecture hours per week

3110 VIDEO GAME DESIGN
This course focuses on the process from initial idea to final design of a video game. Students will craft a game document from an original concept of their own creation and create a prototype of the game based on that document.
PREREQUISITE: CS 2910 and CS 2920
Three lecture hours per week

3130 MOBILE DEVICE DEVELOPMENT – ANDROID
This course introduces the student to programming for mobile devices that use the Android platform. The course will present a study of the architecture, operating system and programming language of these devices.
PREREQUISITE: CS 2910 and CS 2920
Three lecture hours per week

3210 USER EXPERIENCE DESIGN
This course introduces students to the processes and techniques for creating interactive technologies.  Students will learn about a variety of topics relating to user centred design including: elicitation techniques, needs analysis, conceptual design, and prototyping.  Students will learn how to evaluate their own designs through expert methods and with users.  Students will be introduced to a variety of different qualities of interactive technologies including usability and user experience.
PREREQUISITES: CS 1920
Three lecture hours per week

3220 INTRODUCTION TO BIOINFORMATICS
This course is an introduction to bioinformatics, with a focus on a practical guide to the analysis of data on genes and proteins. It familiarizes students with the tools and principles of contemporary bioinformatics. Students acquire a working knowledge of a variety of publicly available data and computational tools important in bioinformatics, and a grasp of the underlying principles enabling them to evaluate and use novel techniques as they arise in the future.
Cross-listed with Biology 3220.
Cross-level listed with VPM 8850 and Human Biology 8850.
PREREQUISITE: CS 2920 or BIO 2230 or permission of instructor.  If taken as VPM 8850 or HB 8850 – Admission to the graduate program and permission of the instructor.
Three lecture hours and a one-hour laboratory session per week
Note:  No student can be awarded more than one course credit among HB 8850, VPM 8850, CS 3220 and BIO 3220.

3420 COMPUTER COMMUNICATIONS
This course introduces the basic principles of modern computer communication: protocols, architectures and standards. Topics include layered architectures, data transmission, error and flow control, medium access, routing, congestion control and common internet application protocols.
PREREQUISITE: CS 2520 and CS 2820
Three lecture hours per week

3520 OPERATING SYSTEMS
This course introduces the student to the major concepts of modern operating systems. Topics covered include: process management, memory management, file systems, device management and security.
PREREQUISITE: CS 2520, CS 2620, CS 2820, CS 2910 and CS 2920
Three lecture hours per week

3610 ANALYSIS AND DESIGN OF ALGORITHMS
This course, which introduces the study of algorithm design and measures of efficiency, is a continuation of CS 2920 Topics include algorithm complexity and analysis; techniques such as divide and conquer, greedy and dynamic programming; searching and sorting algorithms; graph algorithms; text processing; efficient algorithms for several common computer science problems and NP-completeness.
PREREQUISITE: CS 2910, CS 2920 and MATH 2420
Three lecture hours per week

3620 SOFTWARE DESIGN
This course examines the principles and best practices in object-oriented (OO) software design. Topics include a review of foundational OO concepts, OO design principles, and design patterns for good software design.
PREREQUISITE: CS 2910 and CS 2920
Three lecture hours per week

3710 DATABASE SYSTEMS
This course introduces the fundamental concepts necessary for the design, use and implementation of database systems. Topics discussed include logical and physical organization of data, database models, design theory, data definition and manipulation languages, constraints, views, and embedding database languages in general programming languages.
PREREQUISITES: CS 2910 and CS 2920
Three lecture hours per week

3840 TECHNOLOGY MANAGEMENT & ENTREPRENEURSHIP
This course provides an overview on how to start and sustain a technology-oriented company.  Topics discussed will include the role of technology in society, intellectual property, patents, business plans, financial planning, sources of capital, business structure, liability, tax implications, sales, marketing, operational and human resource management.  This course will be taught using problem-based and experiential learning strategies with involvement from real life entrepreneurs as motivators and facilitators.
Cross-listed with Engineering 4230.
PREREQUISITE: CS 2520, CS 2620 and CS 2820
Three lecture hours per week

4060 CLOUD COMPUTING
This course examines: the critical technology trends that are enabling cloud computing, the architecture and the design of existing deployments, the services and the applications they offer, and the challenges that need to be addressed to help cloud computing to reach its full potential. The format of this course will be a mix of lectures, seminar-style discussions, and student presentations.
PREREQUISITE: CS 2060
Three lecture hours per week

4110 ARTIFICIAL INTELLIGENCE AND AUTOMATED REASONING
This course introduces general problem-solving methods associated with automated reasoning and simulated intelligence. Topics include problem abstraction, state space heuristic search theory, pathfinding, flocking behaviour, knowledge representation, propositional logic, reasoning with uncertainty, machine learning and connectionism.
PREREQUISITE: CS 2910 and CS 2920
Three lecture hours per week

4120 MACHINE LEARNING AND DATA MINING
Machine learning is the study of mechanisms for acquiring knowledge from large data sets. This course examines techniques for detecting patterns in sets of uncategorized data. Supervised and unsupervised learning techniques are studied, with particular application to real-world data.
PREREQUISITE: CS 2910, CS 2920 and STAT 1910
Three lecture hours per week

4350 COMPUTER GRAPHICS PROGRAMMING
This course introduces the student to the principles and tools of applied graphics programming including graphical systems, input and interaction, object modeling, transformations, hidden surface removal, and shading and lighting models. Languages, graphics libraries and toolkits, and video game engines are introduced, as well as relevant graphics standards.
PREREQUISITE: CS 2620, CS 2910, MCS 2050 and MATH 2610
Three lecture hours per week

4360 ADVANCED COMPUTER GRAPHICS PROGRAMMING
This course builds on the computer graphics programming concepts introduced in CS 435. Students are given a deeper understanding of the components of the 3D graphics pipeline, and how they are used in modern graphical applications. Topics include advanced texture mapping, practical uses of vertex and pixel shaders, screen post-processing, particle systems, and graphics engine design.
PREREQUISITE: CS 4350
Three lecture hours per week

4440 DATA SCIENCE
Data science is an interdisciplinary and emerging field where techniques from several areas are used to solve problems using data. This course provides an overview and hands-on training in data science, where students will learn to combine tools and techniques from computer science, statistics, data visualization and the social sciences. The course will focus on: 1) the process of moving from data collection to product, 2) tools for preparing, manipulating and analyzing data sets (big and small), 3) statistical modelling and machine learning, and 4) real world challenges.
PREREQUISITE: CS 2910, CS 2920 and STAT 1910
Three lecture hours per week

4610 WIRELESS SENSOR NETWORKS
This course is an introduction to Wireless Sensor Networks. It includes the following topics: single-node architecture, wireless sensor network architecture, physical layer, MAC protocols, link-layer protocols, naming and addressing, time synchronization, localization and positioning, topology control, routing protocols, transport layer, and quality of service.
PREREQUISITE: CS 2520, CS 2910 and CS 2920
Three lecture hours per week

4650 VIDEO-GAME ARCHITECTURE
This programming-driven course aims to explore the various systems that comprise a typical video-game project, including event systems, state machines, rendering, scripting and AI programming. Students will implement these components throughout the course with the end goal of building a small game.
PREREQUISITE: CS 4350
CO-REQUISITE:  CS 4360 (must be taken previously or concurrently)
Three lecture hours per week

4720 COMPILER DESIGN
This is a first course in compiler design. The course covers: compilation phases, lexical analysis, parsing, scope rules, block structure, symbol tables, run-time heap and stack management, code generation, pre-processing, compiler-compilers, and translation systems.
PREREQUISITE: CS 3320
Three lecture hours per week

4810 SOFTWARE ENGINEERING
This course emphasizes the theory, methods and tools employed in developing medium to large-scale software which is usable, efficient, maintainable, and dependable. Project planning and management are major foci. Topics include requirements modelling/specification, project costing, scheduling, software design, software architecture, traditional and agile process models, team management, and re-engineering. Students will develop a project plan for a major project to be undertaken in CS 4820 or CS 4830.
PREREQUISITE: CS 3620
Three lecture hours per week

4820 SOFTWARE SYSTEMS DEVELOPMENT PROJECT
In this course, students work in groups to complete and present a significant software project based on a project plan developed in CS 4810.
PREREQUISITE: CS 4810
One lecture hour per week plus significant project development time

4830 VIDEO GAME PROGRAMMING PROJECT
In this course, students work as a group to develop a single design into a fully functioning video game. This course applies the project management skills learned in CS 4810 to the development of a professional quality video game based upon the students’ design.
Restricted to students enrolled in the Major in Computer Science with a Specialization in Video Game Programming.
PREREQUISITE:  A minimum grade of 70% in CS 4360, 4650 and 4810
One lecture hour per week plus significant project time.
Semester hours of credit: 6

APPLIED MATHEMATICAL SCIENCE COURSES (AMS PREFIX)

2030 INTERMEDIATE MICROECONOMICS I
Initial reading will be provided to cover for some of the material normally covered in Economics 1010. The theories of consumer and producer behaviour are elaborated upon through the application of classical utility and indifference curve and production isoquant approaches. Choice under uncertainty and competitive market outcomes are also examined.
Cross-listed with Economics 2030.
PREREQUISITES: Enrolled in Bachelor of Science in Actuarial Science or Financial Mathematics
Three hours a week

2040 INTERMEDIATE MACROECONOMICS I
Initial reading will be provided to cover for some of the material normally covered in Economics 1020. This course explores the national economy in terms of the determination of national output, the general price level, the rate of interest, and employment. It then analyzes the effectiveness of monetary and fiscal policy in achieving specific goals and combination of goals.
Cross-listed with Economics 2040.
PREREQUISITES: Enrolled in Bachelor of Science in Actuarial Science or Financial Mathematics
Three hours a week

2160 FINANCIAL MATHEMATICS I
This first course in financial mathematics includes topics such as measurement of interest; the growth of money; annuities and perpetuities; loan repayment; bonds; common and preferred stocks; the term structure of interest rates; interest rate sensitivity; using duration and convexity to approximate change in present value; interest rate swaps; and determinants of interest rates.
PREREQUISITE: MATH 1910
Three lecture hours plus a two hour lab per week

2410 FINANCIAL ECONOMICS I
Introduction to mathematical techniques used to price and hedge derivative securities in modern finance. Modelling, analysis and computations for financial derivative products, including exotic options and swaps in all asset classes. Applications of derivatives in practice will also be discussed.
PREREQUISITE: AMS 2160
Three lecture hours a week plus a two hour lab per week

2510 LONG TERM ACTUARIAL MATHEMATICS I
This course will explore the future lifetime random variable, probability and survival functions, force of mortality; complete and curtate expectation of life, and Makeham and Gompertz mortality laws. Other topics will include: Life tables, characteristics of population and insurance life tables, selection, and fractional age assumptions. Life insurance payments and annuity payments: Present value random variables; expected present values; higher moments; actuarial notation, annual, monthly and continuous cases, relationships between insurance and annuity functions. Premiums, expense loadings, present value of future loss random variables and distribution, net and gross cases, the equivalence principle and portfolio percentile principle will also be discussed.
PREREQUISITE: AMS 2160
Three lecture hours a week plus a two hour lab per week

2940 OPTIMIZATION
An introduction to the methods and applications of linear programming. Topics include linear programming formulations, the simplex method, duality and sensitivity analysis, and integer programming basics. Applications to transportation, resource allocation and scheduling problems will be examined. Software will be used to illustrate topics and applications.
PREREQUISITE: MATH 2610
Three lecture hours per week

3040 INTRODUCTION TO GGY AXIS
An introduction to the software package GGY AXIS. Topics include the basic functions and commands, programming and problem-solving using GGY AXIS.
PREREQUISITE: AMS 2510
Two lab hours per week for 6 weeks
Semester hours of credit: 1

AMS 3140 PROBABILITY FOR ACTUARIES
The purpose of this course is to prepare students for the Probability professional exam by bringing together topics such as probability, continuous and discrete univariate random variables (including binomial, negative binomial, geometric, hypergeometric, Poisson, uniform, exponential, gamma, normal), probability generating functions, moment generating functions, multivariate random variables(including the bivariate normal), joint distributions, conditional distributions, marginal distributions, functions of random variables.  In addition, the following topics are introduced: Central Limit Theorem, risk and insurance applications, and probability applications in actuarial science (including discrete and continuous time Markov chains with application to insurance).
PREREQUISITE:  STAT 2910
Three lecture hours per week plus one-hour lab per week

3160 GAME THEORY
The course covers the fundamentals of game theory and its applications its applications to the modeling of competition and cooperation in business, economics, biology and society. Two-person games in strategic form and Nash equilibria. Extensive form games, including multi-stage games, coalition games and the core Bayesian games, mechanism design and auctions.
PREREQUISITE: MATH 1920, MATH 2420 and STAT 1910
Three lecture hours per week

3310 ADVANCED CORPORATE FINANCE
This course covers various advanced topics in corporate finance, and covers topics such as fundamentals of capital budgeting; valuing stocks, capital markets and the pricing of risks; optimal portfolio choice and the capital asset; estimating the cost of capital; investment behavior and capital market efficiency; capital structure in a perfect market; debt and taxes; financial distress, managerial incentives, and information; real options; raising equity capital; debt financing; and supplementary material for investments and finance: measures of investment risk, Monte Carlo simulation, and empirical evidence on the efficient market hypothesis. Where suitable, topics are treated from a mathematical and quantitative perspective.
PREREQUISITE: BUS 2310
Three lecture hours per week plus a two hour lab per week

3410 FINANCIAL ECONOMICS II
This course will discuss advanced mathematical techniques used to price and hedge derivative securities in modern finance. Topics include: modelling, analysis and computations for financial derivative products, including exotic options and swaps in all asset classes. Students will also have the opportunity to apply these derivatives in practice.
PREREQUISITE: AMS 2410
Three lecture hours per week plus a two hour lab per week

AMS 3420 INTRODUCTION TO FINANCIAL DERIVATIVES
Introduction to mathematical techniques used to price and hedge derivative securities in modern finance. Topics include: modelling, analysis and computations for basic options and forwards on different class assets, general properties of options including put-call parity relationship, pricing and hedging of European and American options using the binomial model, Black-Scholes formulas for calls and puts, option Greeks, Delta-hedging, exotic options including Asian and barrier options.
PREREQUISITE:  AMS 2160
Three lecture hours per week plus a one hour lab per week

3510 LONG TERM ACTUARIAL MATHEMATICS II
This course will discuss: policy values, annual, monthly and continuous cases, Thiele’s equation, policy alterations, modified policies and multiple state models. Other topics will include applications in life contingencies, assumptions, Kolmogorov equations, premiums, policy values, multiple decrement models, Joint Life Models, Valuation of insurance benefits on joint lives, and dependent and independent cases.
PREREQUISITE: AMS 2510
Three lecture hours per week plus a two hour lab per week

3770 COMBINATORIAL OPTIMIZATION
In this course, various algorithms will be considered, including minimum spanning tree, shortest path, maximum flow, and maximum matching. The links with linear and integer programming will also be considered, with particular attention to duality.
PREREQUISITES: MATH 2420
Three lecture hours per week

3910 MATHEMATICAL MODELLING
This course studies the process of mathematical modeling, namely, formulating a “real-world” problem in mathematical terms, solving the resulting mathematical problem, and interpreting the solution. Major topics include the modelling process, proportionality, geometric similarity, model fitting, graphical models, dimensional analysis, and deterministic and probabilistic dynamical processes (with models formulated as differential and difference equations). Applications are taken from science, business and other areas, according to class interest.
PREREQUISITE: MATH 2610 and MATH 3010; a statistics course is recommended.
Three lecture hours per week

4040 ADVANCED GGY AXIS
This course covers advanced applications of the software package GGY AXIS in the form of actuarial case studies in pricing and reserving.
PREREQUISITES: AMS 3040, AMS 3510, and AMS 4540
Three lecture hours a week

4080 FINANCIAL MATHEMATICS II
This course explores foundational notions and models in financial mathematics. Topics include attainable payoffs, arbitrage, completeness, the law of one price, first and second Fundamental Theorems of Asset Pricing, introduction to discrete-time stochastic calculus, conditional expectations, risk-neutral martingale measures, dynamic replication in the binomial model for European, American and exotic options, general multi-asset multi-period models.
PREREQUISITE: MATH 2610 and AMS 2410 or AMS 3420, and STAT 2910
Three lecture hours per week

4090 FINANCIAL MATHEMATICS III
This course explores continuous-time models in financial mathematics. Topics include Brownian motion, geometric Brownian motion, quadratic variation, Riemann-Stieltjes and Ito integrals, Ito’s formula, replication and risk-neutral pricing under the Black-Scholes economy, Black-Scholes partial differential equation, delta-hedging for multi asset derivatives, and valuation of cross currency options.
PREREQUISITE: AMS 4080
Three lecture hours per week

AMS 4450  STATISTICS FOR RISK MODELING
The purpose of this course is to prepare for the Statistics for Risk Modeling professional exam by bringing together topics such as the key concepts of statistical learning and regression modelling with applications; linear models; time series models; principal components analysis; decision trees; and cluster analysis with their applications.
PREREQUISITE:  AMS  3140, STAT 3240, STAT 4330, and MCS  2030.  STAT 4280 must be taken at least concurrently.
Three lecture hours per week plus two hours lab per week

4540 LOSS MODELS I
This course explores models for loss severity, parametric models, effect of policy modifications, and tail behaviour. Topics also include: models for loss frequency: (a, b, 0), (a, b, 1), mixed Poisson models; compound Poisson models, Aggregate claims models: moments and moment generating function: recursion and Classical ruin theory.
PREREQUISITE: AMS 3510 and STAT 3910
Three lecture hours per week plus a one hour lab per week

4550 LOSS MODELS II
This course is a study of the mathematics of survival models and includes some examples of parametric survival models. Topics include: tabular survival models, estimates from complete and incomplete data samples, parametric survival models, and determining the optimal parameters. Maximum likelihood estimators, derivation and properties, product limit estimators, Kaplan-Meier and Nelson-Aalen, credibility theory: limited fluctuation; Bayesian; Buhlmann; Buhlmann-Straub; empirical Bayes parameter estimation; statistical inference for loss models; maximum likelihood estimation; the effect of policy modifications; and model selection will also be discussed.
PREREQUISITE: AMS 4540
Three lecture hours per week plus a one-hour lab per week

4580 CREDIBILITY THEORY
This course is an introduction to credibility theory and will provide the ability to understand and estimate losses using credibility procedures as well as to apply and critique limited fluctuation (classical) credibility, explain and apply Bayesian credibility, apply conjugate priors in Bayesian credibility, apply Buhlmann and Buhlmann-Straub models and understand their relationship to Bayesian models, and explain and apply empirical Bayesian method in the nonparametric and semiparametric cases.
PREREQUISITE:  STAT 3910
Three lecture hours plus a one-hour lab per week

4600 PREDICTIVE ANALYTICS I
This course is an introduction to topics such as predictive model building process in R; problem definition, data visualization, exploratory data analysis, identification of data issues and resolution, and initial model selection; model selection; model validation; communication of results and uncertainties; sample project and report.
PREREQUISITE: STAT 3250 and STAT 4280
Three lecture hours per week plus a one-hour lab per week

4610 PREDICTIVE ANALYTICS II
This course builds on AMS 4600 and covers more advanced topics of the predictive model building process in R including a project and final report.
PREREQUISITES: AMS 4600
Three lecture hours per week plus a one-hour lab per week

4680 NONLINEAR OPTIMIZATION
This course is a study of unconstrained optimization, optimality conditions (necessary, sufficient and Karush-Kuhn-Tucker), penalty functions, convex functions, and convex programming.
PREREQUISITE: MATH 2910 and AMS 2940
Three lecture hours per week

4700 SHORT TERM INSURANCE PRICING AND RESERVING
This course covers the basic methods to calculate premiums and reserves for short-term insurance coverages; the role of rating factors and exposure; the different forms of experience rating; the description and application techniques for estimating unpaid losses from a run-off triangle; the following methods: Chain ladder, Average cost per claim, Bornhuetter Ferguson; and the underlying statistical models for these methods; as well as premiums calculation using the pure premium and loss ratio methods.
PREREQUISITES: AMS 2510
Three lecture hours per week plus a one-hour lab per week

4780 QUANTITATIVE RISK MANAGEMENT
This course is an introduction to financial risk management. Topics include: risk measures, modeling for multivariate distributions and copulas, market, credit and operational risk. Advanced topics in quantitative risk management will also be discussed.
PREREQUISITE: AMS 3310
Three lecture hours per week

MATHEMATICAL AND COMPUTATIONAL SCIENCES COURSES (MCS PREFIX)

2010 MAPLE TECHNOLOGY LAB
An introduction to the software package MAPLE. Topics include the basic functions and commands, programming and problem-solving using MAPLE.
PREREQUISITE: CS 1910 and MATH 1920
Two lab hours per week for 6 weeks
Semester hours of credit: 1

2020 MATLAB TECHNOLOGY LAB
An introduction to the software package Matlab. Topics include the basic functions and commands, programming and problem-solving using Matlab.
PREREQUISITE: CS 1910 and MATH 2610
Two lab hours per week for 6 weeks
Semester hours of credit: 1

2030 R TECHNOLOGY LAB
An introduction to the software package R. Topics include the basic functions and commands, programming and problem-solving using R.
PREREQUISITE: CS 1910 and STAT 1910
Two lab hours per week for 6 weeks
Semester hours of credit: 1

2040 VISUAL BASIC IN EXCEL TECHNOLOGY LAB
An introduction to the software package Excel and Visual Basic in the Excel environment. Topics include the basic functions and commands, programming and problem-solving using Excel and Visual Basic.
PREREQUISITE: CS 1910 and AMS 2400
Two lab hours per week for 6 weeks
Semester hours of credit: 1

2050 C++ TECHNOLOGY LAB
An introduction to C++ for java programmers. Topics include basic terminology, pointers, memory management, classes, operator overloading, heap versus stack variables and the C++ standard template library.
PREREQUISITE:  CS 1920
Two lab hours per week for 6 weeks.

3050 TUTORING IN MATHEMATICAL AND COMPUTATIONAL SCIENCES
Students are introduced to techniques for facilitating learning in the Mathematical and Computational Sciences, and then put these techniques into practice by mediating student group learning either in introductory Mathematical and Computational Sciences courses, Mathematical and Computational Science Help Centre or in outreach programs to High Schools. Students are assessed on a pass/fail basis.
PREREQUISITE: At least 36 semester hours of credit completed in courses in the School of Mathematical and Computational Sciences
One lecture hour per week plus practical tutoring
Semester hours of credit: 1

3320 THEORY OF COMPUTING
This course introduces automata theory, formal languages and computability. Topics include: finite automata; regular expressions; regular, context-free, and context-sensitive languages; computability models; algorithmic decidable and undecidable problems.
PREREQUISITE: CS 2910, CS 2920 and MATH 2420
Three lecture hours per week

3500 QUANTUM INFORMATION
This course is an introduction to quantum information science; the field of studying, storing, processing and communicating information using quantum systems. Topics include: quantum mechanics for Qubit Systems, foundations of Quantum Computing, algorithms, communication and cryptography.
PREREQUISITE: MATH 2620
Three lecture hours per week

3920 NUMERICAL ANALYSIS
Approximate solution of equations, various interpolative or iterative methods, especially Newton’s; convergence tests and rates of convergence; roundoff and truncation errors; propagation of error in calculations; interpolating polynomials; Gauss-Jordan and other methods for simultaneous linear equations; inversion of matrices; determinants and eigenvalues; simultaneous nonlinear equations; evaluation of definite integrals; approximate derivatives; initial-value ordinary differential equations; least-squares curve fitting.
PREREQUISITE: MATH 3010 and CS 1910 or equivalent
Three lecture hours per week

3950 SPECIAL TOPICS IN MATHEMATICAL AND COMPUTATIONAL SCIENCES
This course provides students with an opportunity to pursue special topics in Mathematical and Computational Science. Content varies from year to year.
PREREQUISITE: Permission of the instructor
Three lecture hours per week

4210 PROFESSIONAL COMMUNICATION AND PRACTICE
This course aims to build students’ oral and written communications skills, and to prepare students to think critically about essential and potentially controversial issues in the Mathematical and Computational Sciences, with the goal of preparing students for a professional environment. Using examples from their discipline, students will focus on such aspects as description of processes, presentation of data, extended abstracts, correct use of terminology, and sensitivity to language and tone. Discussions of topics relevant to the professional Mathematical and Computational Scientist, such as: ethics; security; privacy and civil liberties; risk and liability; intellectual property; and certification standards are also a key part of the course.
PREREQUISITE: At least 36 semester hours of credit completed in courses in the School of Mathematical and Computational Sciences
Three hours per week

4420 CRYPTOGRAPHY AND CODES
This course is a study of encoding and encryption algorithms and their applications. Linear codes, error detection, and error-correcting codes, are introduced.  Symmetric and asymmetric key encryption algorithms are studied and analyzed. Other topics include confidentiality, message authentication, public and private keys, digital signatures, and security.
PREREQUISITE: MATH 2420, MATH 2610 and CS 1920
Three lecture hours per week

4900 HONOURS PROJECT
This course is intended to give research experience to students planning to pursue graduate studies in an area of Mathematical and Computational Sciences, or planning a career where research experience would be an asset. It provides students with the opportunity to do an independent research project on Mathematical or Computational Sciences topic, under the supervision of a faculty member. Some or all of the work may be done during the summer months.
PREREQUISITE: Acceptance to an Honours program in the School of Mathematical and Computational Sciences (see Calendar listing for entrance requirements)
Semester hours of credit: 6

4910 DIRECTED STUDIES IN MATHEMATICAL AND COMPUTATIONAL SCIENCES
These courses are designed and recommended for students in the Mathematical and Computational Sciences to encourage independent initiative and study. Reading and research will be conducted in one or more specialized areas.   (See Academic Regulation 9 for Regulations Governing Directed Studies.)
PREREQUISITE: Permission of the instructor
One, two, or three hours credit

4950 ADVANCED TOPICS IN MATHEMATICAL AND COMPUTATIONAL SCIENCES
This course provides students with an opportunity to pursue advanced topics in the Mathematical and Computational Sciences Content varies from year to year but is always at a fourth-year level. Prospective students should contact the School of Mathematical and Computational Sciences for a more detailed description of any particular year’s offering.
PREREQUISITE: Permission of the instructor
Three lecture hours per week

License

UPEI Calendar 2023-2024 Copyright © by University of Prince Edward Island. All Rights Reserved.

Share This Book