High school research project ideas I'm starting my last year of high school, and I will have to do an all year research on a mathematical topic.
I'm a really passionate learner and I'm very involved in computer science. 
I am stuck on finding an idea that will both be challenging and fun.
I would also really love to integrate computer science in it, since that's what I want to study afterwards.
Thank you in advance.
 A: Here's a random idea that I've thought about. In my town, I get stuck at red lights all the time. It's pretty frustrating. I know there's people whose job it is to figure out how to run the lights, but I always wonder if there's a way to do it better. What if, as a project, you took a small section of your city (maybe downtown) and tried to work out a timing of the lights so that no driver would ever get caught at more than one red light as long as they stayed on the same street? That is, as long as a car keeps going straight down the same road, they would get caught at (at most) one red light. You might be able to use some programming to run simulations, and linear algebra would likely be useful if you studied it. It's an ambitious project, but it might be an interesting one.
A: I myself love to integrate mathematics and computer science.  Mathematical programming involves lot of mathematics and computer.  That can be done in higher education in computer applications and courses on computer programming.
A: I think a cool project would be to implement linear algebra in the computer, say for example vector spaces of n-tuples over the rational numbers. You would have to first implement tuples and matrices, then the gaussian reduction algorithm, and then you can implement vector spaces $\Bbb Q^n$, subspaces, perhaps linear maps (unless you identify them with matrices), and operations such as intersection of subspaces, image and kernel of a matrix or linear map, etc.
The reason I suggest linear algebra is because it is a good start if you later on want to continue learning mathematics, and will get you in contact with some fundamental concepts that appear all over mathematics.
Another cool project would be programming the residue class rings $\Bbb Z/m\Bbb Z$. For example $\Bbb Z/6\Bbb Z$ is the set of elements $\{0,1,2,3,4,5\}$ with addition and multiplication performed modulo 6. These objects are finite, and thus allow you to construct small examples and perform experiments. For example you might want to count how many elements $x \in \Bbb Z/m\Bbb Z$ are squares (i.e., exists $y$ with $x=y^2$), and see this for all $m<100$, and maybe find a pattern and guess a formula. You would have to program the elements (represented by an integer between 0 and $m-1$) and their arithmetic operations, and the rings $\Bbb Z/m\Bbb Z$ themselves, then you can program some algorithms, for example the extended Euclidean algorithm for computing multiplicative inverses and solving congruences, etc.
