Major Overview

You will be equipped with a profound understanding of mathematical reasoning and key computing skills, as you explore the ways in which both areas of study intersect. With courses that revolve around computer programming, calculus, human computer interaction, operating systems, and so much more, you will find yourself fully prepared for the challenges presented by your future academic or professional career.

LEARNING OUTCOMES

The educational goals for this major are as follows:

  • You will develop a strong background in the mathematical sciences, you will be able to model and solve both abstract and real-world problems, and you will acquire proficiency in the analysis of data.
  • You will be able to deploy appropriate theory, practices and tools for the specification, design, implementation, and evaluation of digital systems.
  • You will be able to analyze the whole process involved in creating and deploying digital devices to solve practical problems demonstrating a clear comprehension of the trade-offs involved in choices made throughout the lifetime of the system.
  • You will be familiar with the connections between mathematics and computer science and will be able to use techniques and tools from both disciplines to solve problems, improve solutions, or analyze their effectiveness, in various disciplines.
  • You will be able to work in teams and to clearly communicate results in writing and verbally, considering ethical imperatives and trade-offs.

Major Components
Build Your Degree

With every single one of our majors, you’ll find a carefully curated medley of core courses and electives, which will provide you with the tools you need to establish an unshakeable foundation in the principles and concepts fundamental to your growth within your disciplines of choice. Many majors also enable you to specialize further within the broader area of study.

Core Courses

Core Courses

We aim to help you develop a range of skills, capacities, and modes of inquiry that will prove crucial since employers and graduate schools are looking for the critical thinking and innovative problem-solving skills that are associated with a liberal arts education. Many of our students continue their studies at top institutions like MIT and Harvard, while others begin careers in fields like mobile application development and robotics engineering.

Scroll to Core Courses

Electives

Electives

Each elective provides you with entry to a variety of subject areas which you can choose among to further focus your studies. With the help of your academic advisor, you’ll be able to tailor your major so that it most effectively prepares you for the next step in your academic and professional journey.

See all Major Electives 

Core Courses

The Mathematics and Computer Science core courses, which you must take as part of the major requirements, will provide you with the tools you’ll need to ground your present and future studies. Your introduction to the fundamentals of Mathematics and Computer Science will help pave the way for your successful completion of all required major courses.

 

MA1020 Applied Statistics I

Introduces the tools of statistical analysis. Combines theory with extensive data collection and computer-assisted laboratory work. Develops an attitude of mind accepting uncertainty and variability as part of problem analysis and decision-making. Topics include: exploratory data analysis and data transformation, hypothesis-testing and the analysis of variance, simple and multiple regression with residual and influence analyses.

VIEW DETAILS >
MA1030 Calculus I

Introduces differential and integral calculus. Develops the concepts of calculus as applied to polynomials, logarithmic, and exponential functions. Topics include: limits, derivatives, techniques of differentiation, applications to extrema and graphing; the definite integral; the fundamental theorem of calculus, applications; logarithmic and exponential functions, growth and decay; partial derivatives. Appropriate for students in the biological, management, computer and social sciences.

VIEW DETAILS >
CS1040 Computer Programming I

This course is an introduction to the field of Computer Science and the fundamental concepts of programming. It starts with a brief history of computing and the basic elements of the computers' architecture. It focuses on the correct and fluent use of appropriate terminology in CS to describe fundamental concepts and programs. It has has strong hands-on approach and leads to understanding fundamental concepts such as flow-charts representation of algorithms, conditional statements, iteration, primitive data types, collections and functions. Students learn to use the documentation of a programming language and understand error messages for debugging.

VIEW DETAILS >
CS2040 Intro To Computer Programming II

This is the second part of the foundation course for the Information and Communication Technologies degree program. Successful students will have a thorough knowledge of the computer language Java, the systematic development of programs, problem-solving and a knowledge of some of the fundamental algorithms of computer science. Essential concepts include inheritance, polymorphism, and error-handling, using exceptions.

VIEW DETAILS >
MA2041 Linear Algebra

Treats applications in economics and computer science, limited to Euclidean n-space. Topics include: the linear structure of space, vectors, norms and angles, transformations of space, systems of linear equations and their applications, the Gauss-Jordan method, matrices, determinants, eigenvalues and eigenvectors. Uses Mathematica for graphics and algorithms.

VIEW DETAILS >
CS2071 Languages & Data Structures

Uses predefined classes and class libraries to introduce standard data structures (stacks, queues, sets, trees, and graphs). Studies and implements algorithms for string-searching, sorting, trees and graph traversals. Introduces algorithm complexity analysis and big-Oh (O,,) notation.

VIEW DETAILS >
MA2400 Discrete Mathematics

This course is designed to highlight discrete mathematical structures. Discusses propositional logic, proofs and mathematical induction, matrices of relations and digraphs, set theory and number bases, combinatorial analysis, graph theory and Boolean algebra.The prerequisite for this course is MA1010 or above or CS 1040.

VIEW DETAILS >
MA3050 Research And Writing In Cs & Mathematics

One of the most critical factors in the success of an idea is effective communication. This course addresses written communication in different contexts for both Computer Science and Mathematics. Students will learn to choose the appropriate styles for different audiences (e.g. textbooks, articles/reviews, posters, general public, professional colleagues). They will be asked to research and report on small practical tasks in bot CS and Math, such as proof, empiric complexity analysis of algorithmic strategies, data analysis and visualization and software documentation, producing well structured and formatted documents. Along the way, they will learn to use mark-up languages (such as LaTeX and markdown) and dedicated software for plotting and graphics editing.

VIEW DETAILS >
 
 
MA4095 Senior Project

A Senior Project is an independent study representing a Major Capstone Project that needs to be registered using the Senior Project registration form. (Download: https://aupforms.formstack.com/workflows/senior_project)

VIEW DETAILS >

OR

CS4098 Capstone Internship

An Internship can replace one elective from the ICT curriculum. It may be done in France or elsewhere. Internships may be taken for 1 or 4 credits. Students may do more than one internship, but internship credit cannot cumulatively total more than 4 credits.

VIEW DETAILS >