MICA – Mathematics Integrated with Computers and Applications

Are you looking for an exciting mathematics program that makes full use of computers and information technology? Then MICA is the program for you. MICA is a cutting edge mathematics program that teaches you how to use powerful combinations of mathematics and computers to solve sophisticated real world problems. It is the only program of its kind in Canada.


About MICA

MICA is a four-year honours program that gives you a solid foundation in mathematics and also teaches you the technology you need to know in order to apply what you’ve learned. You also have the option of specializing in education, pure mathematics, applied mathematics or statistics. If you are looking for an up-to-date mathematics program that puts you in the lead in technology, then the Brock MICA program is made for you. Launch of the MICA program.

Careers for MICA graduates

  • Statisticians who are especially suited for today’s computer-intensive environments.
  • Applied Mathematicians who can use computers for the application of mathematical models to problems in business and industry.
  • Research Consultants who can help scientists use computers to apply mathematical and statistical techniques to the development and analysis of experiments.
  • Teachers and Education Specialists who are expert at using computers and information technology to teach mathematics.
  • Pure Mathematicians who can use computers to do mathematical research.

For more information, please visit the Brock admissions website.

Student Projects (Learning Objects)

Teaching Projects

These teaching environments are designed for elementary or secondary learners. Our students choose a mathematical topic on their own, and design and implement an original teaching environment related to their topic.  These selected projects were developed in the first year course MICA I, or the second year course MICA II, or as a fourth year Honour’s thesis project.

Note that the original projects are implemented by students in VB.NET, but for Internet compatibility, they were faithfully as possible converted** into FLASH. To run properly these projects you will need Flash Player 9.  Click here to download it.

Exploratory and Application Projects

In these exploratory and application projects, the students design and implement an original environment to investigate a mathematical problem or concept, or to simulate a mathematical application. As for teaching projects, students choose a topic on their own.  The environments they implement are meant for university level users that may have been introduced to the definition of the concept that is investigated. Students submit to the faculty a written document with their project that present conclusions based on their observations from calculations performed with their environments.  In the following, only the implemented environments are presented.  The selected projects were developed in the first year course MICA I or in the second year course MICA II.

Note that the original projects are implemented in VB.NET, but for Internet compatibility, they were converted** into FLASH as faithfully as possible. To run properly these projects you will need Flash Player 9Click here to download it.

Fantasy Fractions / Fractions Fantastiques

Created by Sarah Camilleri (4th year MICA student), Honour’s Thesis project, April 2007.
A collaborative project with the Grade 5 class at École Nouvel Horizon (Welland, ON).
Exploratory Object Designer: Sarah Camilleri

A Collaborative Project – Summary

This Learning Object was designed in 2006-07 as a collaborative project with the grade 5 class (teacher: Michèle-Élyse Lacroix) at École Nouvel Horizon (Welland, Canada) and the Department of Mathematics at Brock University (St. Catharines, Canada) through the Honour’s project of Sarah Camilleri (supervised by Dr. Buteau and Dr. Mgombelo). The Principal of the elementary school sought partners for collaborations aiming to enrich the science and mathematics experience of his students. A strong wish to directly involve the students in the collaboration had been expressed. It yielded this Honour’s project about the fun, interactive, and highly engaging Fractions Fantaisiques ( Fantasy Fractions ) Learning Object about fractions, which was designed based on the Grade 5 classes’ ideas.

The lessons, games, two characters, and story line were all designed by the grade 5 class, and were adapted and implemented by Sarah. It also involved meetings with the grade 5 teacher and Sarah through the design phase, and a class implementation of the Learning Object at the end. The Learning Object was translated into French for collaboration purposes.


  • 2006-07 Grade 5 Class of École Nouvel Horizon
  • Sarah Camilleri, Honour’s student at the Department of Mathematics, Brock University
  • Michèle-Élyse Lacroix, Grade 5 teacher at École Nouvel Horizon
  • Project Director: Dr. Chantal Buteau (Department of Mathematics, Brock University)
  • Project Director: Kamel Fodil (Principal at École Nouvel Horizon)
  • Dr. Joyce Mgombelo (Faculty of Education, Brock University)
  • Scripter & Programmer: Sarah Camilleri
    French Translator: Natalia Rae Nestorovich
    Graphic Artists: Sarah Camilleri, Mandy Sekulic

Egyptian Mathematics

Created by Danielle Hallet and Cassie Lefaive (3rd year BSc/BEd students), MICA II project, December 2005

  • Negative Numbers – created by Jessica Laird (1st year BSc/BEd student), MICA I project, April 2005
  • Money – created by Andrea Brown and Jacquie Guidon (1st year BSc/BEd students), MICA I project, April 2005
  • Terrific Times Tables – created by Erin Kox (1st year BSc/BEd student), MICA I project, April 2005
  • Hercules and Area – created by Patrick Cartier (1st year BSc/BEd student) and Adam Profetto (1st year MICA student), MICA I Project, April 2005
  • Exponent laws – created by Katherine Christian and Danielle Brignull (1st year BSc/BEd student), MICA I project, April 2004
  • Exploring the Pythagorean Theorem – created by Lindsay Claes (1st year BSc/BEd student), MICA I project, April 2004
  • BEDMAS – created by Diane Tombs and Jessica Van Druten (1st year BSc/BEd students), MICA I project, April 2004

Running in the Rain – Created by Kylie Maheu (2nd year MICA student) and Matthew Lillie (3rd year BSc/BEd student), MICA II project, December 2005

  • Introduction
    • Is it better to walk or run in the rain? For our MATH 2F40 term project we decided to write a computer program to investigate if you stay drier when you run through rain than when you walk through the rain. It seems to be common sense that if you run through the rain, you will arrive drier at your destination than if you walk, since you will spend less time in the rain … but is this always true?
  • Objectives
    • To create a two-dimensional, and a three-dimensional simulation of running in the rain and to investigate the number of raindrops that will hit a person at various rain, wind and running velocities. The three-dimensional version is not available on this website.
  • Results
    • We have found that how wet you get depends on the direction that the rain is falling. When there is no wind involved, or if the rain is falling in the opposite direction as you’re walking, then it is better to run as fast as you can rather than walk. However, when wind is involved the best speed varies. If you’re walking in the same direction as the rain, you stay driest by moving at the same speed as the rain.


The Mandelbrot Set – Created by Adam Profetto (2nd year MICA student), MICA II project, December 2005
Project Summary (The Mandelbrot Set)

  • Introduction
    • Consider the sequence given by
    • where c = a + bι. The Mandelbrot Set is the set of points (a,b) such that the sequence {Zi} is bounded. Adam’s program, “The Mandelbrot Set” (linked below), allows you to explore Mandelbrot sets for different values of n, and calculates the area of the given set. It also allows you to take a closer look at the set by zooming in on sections as you desire, and recalculates the area of the displayed set.
    • The Julia Set, another iterative, complex mapping, is also explored in this program. Under the “Julia Set Applications” menu option, you can regenerate the Mandelbrot Set for your chosen value of n, and then click on any point in the Mandelbrot Set and the program will generate the corresponding Julia Set!
  • Objectives
    • Adam’s objectives in this project were to write a program that would graphically display the Mandelbrot set, and the corresponding Julia Set.
  • Results
    • Adam found that initially, as the exponent n is increased, the area of the generated regions also increased.  However, eventually, at some value of n, the area starts to converge back to a fixed value. This led him to formulate his own mathematical conjecture which you can find in the program under the heading “Observations and Findings”.


Rowing – Created by Patrick MacGregor (2nd year MICA student), MICA II project, December 2005

  • Exploratory Object Designer: Patrick MacGregor
  • Date: December 2005

The Structure of Hailstone Sequences – Created by Colin Phipps (1st year MICA student), MICA I project, April 2004

  • Introduction
    • Every positive integer has a related Hailstone sequence defined in the following way: starting with a positive integer n, the next term in the sequence is 3n+1 if n is odd or n/2 if n is even. Repeating this process until you reach 1 yields the Hailstone sequence. Try a few numbers for yourself. You will notice that you will in fact reach 1, and that all of the sequences end in 16, 8, 4, 2, 1. The (unproven) Collatz conjecture states that every positive integer will eventually reach 1. The number of steps that it takes for the sequence to reach 1 is called the length of the sequence. I was immediately intrigued by the Hailstone Sequence and the Collatz conjecture because of the ease of comprehending the problem, the vast amount of evidence (it’s been computationally shown to hold up to 10×2^58) and yet the absence of a proof. The leap that I took in this program was to imagine this sequence in reverse, a giant tree of positive integers that would all sprout from 1. In view of this, the Collatz conjecture could be verified by proving that all numbers appeared in this tree, called the Collatz graph.
  • Objectives
    • I wanted to develop a tool that would help me observe and perhaps understand patterns which would become evident while using this program to chart branches of the Collatz graph. Of course, all of this was done while keeping in mind a secondary goal of achieving theoretical results which could be used in an eventual proof of the conjecture.
      I also wanted my program to make people look at the Hailstone sequence from a different point of view and to give them a sense of the larger picture. I wanted to create a simple way of showing the overlying structure.
  • Results
    • I believe that patterns in this tree could lead to steps toward a proof of the Collatz conjecture. There are many simple and more complicated patterns, if you consider these structures as your basic units of the graph (a couple are outlined as FACTS! in the program). Realizing that the Hailstone sequence can be visualized in this way gives a simple reason as to why the amount of positive integers with a given length increases as the length increases.


Intervention Simulator – Created by Gary Billard (1st year MICA student) and Ryan Bruno (4th year economics student completing a minor in mathematics), MICS I project, April 2006

  • Exploratory Object Designer: Gary Billard and Ryan Bruno
  • Date: April 2006

Encryption Pseudorandomness Explorer – Created by Neil Marshall (1st year MICA student), MICA I project, April 2007

  • Introduction
    • There are many encryption methods students can implement with the programming skills learned from the first year MICA course. In class we have implemented encrypting numbers with RSA using a simple case of 3 digit primes. The question then becomes, “How good is this encryption we have implemented?” Obviously a mathematician with a computer could break such encryption using brute force methods, but what if that mathematician didn’t have a computer or knowledge of the cryptosystem?
      In the early days of code breaking, mathematicians used the distributions of alphabetical (and other) characters in text as a means of breaking the code. The uneven distribution of letters in any language gives mathematicians a tool to tease a signal out of what is apparently noise. Thus it is appropriate to ask, “How random would encrypted texts appear using methods we can be expected to implement having taken the course?”
  • Objectives
    • I selected three ciphers: RSA, Hill Cipher and Substitution Cipher. In the case of RSA, I implemented the ability to vary the size of the primes used to create the public (and private) encryption key (2-digit, 3-digit or 4-digit). I predicted that as you increase the size of the primes, the apparent “randomness” will increase. For Hill Cipher I implemented a choice of either a 2×2 Matrix or a 3×3 Matrix as part of the private encryption key, and I again predicted that the larger 3×3 will be more “random” than the 2×2. In the case of Substitution Cipher, I expect it will not seem random at all. I predict that RSA, being a “modern” encryption system will seem more “random” than Hill Cipher.
      I predict that changing the text encrypted will have no impact on the results of the study as long as the text is sufficiently long (say about 40 words).
  • Results
    • RSA encryption using 2-digit primes is “more random” than plain English text but only marginally so. Increasing the size of the primes does increase the “randomness” of the ciphertext.
      Hill Cipher in a 2×2 matrix already appears quite “random.” Though in some cases a 3×3 matrix does appear more “random,” other times using the tool it is simply too difficult to determine if this is the case. This is certainly a limitation of this approach.
      Changing the encrypted text between different excerpts of several paragraphs of written English, as expected, did not influence the results.
      As expected, Substitution Cipher appears to have the same distribution as plain English text. Surprisingly though, RSA encryption (at least in the form we implement in class) is less “random” than Hill Cipher. However this may be due to the fact that RSA is a public key encryption system whereas Hill cipher is a private key encryption system based on matrices. Perhaps there is a trade-off in terms of accessibility versus security.

** Thanks to Flash programmers Aleksandar Mirkovic, Chris Roy, and Jeff Chudak under the supervision of Mike Laurence of the Multimedia Production & Innovation Centre at Brock University. The FLASH conversion was funded by the Faculty of Mathematics and Science of Brock University.