- Joined
- 1/3/12
- Messages
- 15
- Points
- 13
Hi all, So, I just started my first "advanced" c++ programming class as an undergraduate and the professor has given us two weeks to choose from, or modify the following programming projects as our big projects for the quarter. My professor recommended that I come on here and could get some advise on which one of these projects (or modifications) would be the best to develop my skills as a hopefully-soon-to-be-Quant. Each number represents the week and what we're expected to deliver at the end of the week. The last two weeks, 7 and 8, can be ANY deliverable that relates to our project & code.
The Projects are:
I have a strong preference towards the Probability Assignment (or modification thereof)
Any Advise on this would be GREATLY APPRECIATED! Thank You!!
The Projects are:
Code:
Graph Theory
1. DirectedGraph, GraphNode classes analogous to BinarySearchTree
2. GraphIterator class, define operators for traversing a graph.
3. Paths, Cycles, Trails
4. Add SimpleGraph, GraphEdge classes.
5. Test for connectivity, other algorithms
6. Trees (not just binary). Minimal Spanning Tree.
7. (Graphs as a matrix)
8. (Random Graphs)
Code:
Probability
1. Coin flipping, dice rolling, and uniform numbers in the range {1,2,…,n}.
2. Discrete distributions: Poisson, Geometric, etc.
3. Continuous distributions: Normal, Exponential, etc.
4. Simple Brownian Motion
5. More complicated Brownian Motion
6. Simple algorithms for decision making with Brownian Motion
7. (Random Walks on Graphs)
8. (Random Factored Integers)
Code:
Combinatorics
For example, integer partitions
1. Create an IntegerPartition class (I will provide an intelligent choice for data structures)
2. Algorithms for listing all partitions
3. Algorithms for counting all partitions.
4. Simply generated Random partitions.
5. Uber-awesomely generated random partitions.
6. Partitions with restrictions.
7. (Linear transformation of partitions)
8. (Plane Partitions)
Code:
Expression Class
The idea is to be able to parse expressions like (x^2+5x*sin(x)-3)/(7x^2+3)
1. Create a BinaryTree and TreeNode class. TreeNodes need to be able to store numbers, variables, and function names.
2. Create TreeNodeIterator class with operators.
3. Create a library of “known” functions, so that when the user inputs sin(x), it will know that sin is a known function, and it will attempt to evaluate sin at x.
4. Parse simple expressions separated by ‘+’ or ‘-’, no parentheses at this point.
5. Parse statements parentheses recursively.
6. Store an arithmetical expression as a tree.
7. (Interface with class objects as coefficients. For example, be able to parse 10000000000000000000000000000000000x using a BIGInteger class someone else provides).
8. (Random Polynomials over finite fields).
I have a strong preference towards the Probability Assignment (or modification thereof)
Any Advise on this would be GREATLY APPRECIATED! Thank You!!