This course will cover the interplay between mathematics and computation. This includes the use of computers to study problems in mathematics, as well as the use of mathematics to better understand computation.

It is aimed at MSc and PhD students in Mathematics, and will assume standard undergraduate mathematical background, such as familiarity with linear algebra, groups and rings. No programming background is required, but an interest in learning about computers is a necessity.

**Instructor:**Dan Christensen**E-mail:**jdc@uwo.ca**Office:**Middlesex 103b.**Office Phone:**661-2111 x86530.**Office Hours:**After class.**Class times and location:**TuTh 10am-noon, MC107, starting May 2 and ending July 6.**Prerequisites:**No official prerequisites, but see the statement above.

Here are the topics covered:

- Basic ideas of programming, using python
- Linear algebra and homology computations
- Group theory and GAP
- Grobner bases (done in a presentation)
- Number theory and cryptography (partly done in a presentation)
- P vs NP, complexity theory and computability
- The lambda calculus and a brief introduction to the Coq proof assistant.
- Software that will be used: Sage, GAP, python, Coq, and more.
- Software development topics: efficiency, data structures, numerical stability, common pitfalls.

**Text:** There is no textbook for the course, but I will
add recommended references later.

**Homework:** Problem sets will be due roughly every 1.5 weeks,
and will often involve software.
Doing problems and talking about the
material are both essential for learning the material in this course,
so you are encouraged to **discuss**
the problems with classmates and with me.
But you must write up the solutions **on your own** and must not
look at other students' written solutions nor should you attempt to
find solutions to problems online or in textbooks.
Your solutions should be **clear** and **carefully written** and
you should give **credit** to
those who helped you and to any references you used.
Homework will be graded based on both correctness and clarity.
Late problem sets will not be accepted unless arranged in advance
for a good reason.

- Homework 1, due May 9 at 10am.
- Other homework sets assigned in SageMathCloud (now called CoCalc).

**Copying solutions** from other students, online sources,
textbooks, etc., or showing your work to other students
constitutes a scholastic offense and will result
in a grade of **negative 100%** for the assignment and in some cases
expulsion from the program.
All academic offenses are added to your student record.

**Presentations:** In the second half of the semester,
each student will give a 50 minute presentation on a topic related to the course.
Here is a list of potential topics.

**Evaluation:** Evaluation will be based upon homework (60%) and
presentations (40%).

**Scholastic offences:** Scholastic offences are taken
seriously and students are directed to read the appropriate policy,
specifically, the definition of what constitutes a Scholastic Offence,
at the following Web site:
http://www.uwo.ca/univsec/handbook/appeals/scholastic_discipline_grad.pdf