<p>Two possibilities:</p>

<ul>
<li><p>Encode automata and implement some algorithms for them in Mathematica</p></li>
<li><p>Implement an abstract interpretation framework for some simple language in Mathematica</p></li>
</ul>

<p>Both of these topics have been done many times over, but it would be interesting to see how well/poorly Mathematica deals with the underlying structures.</p>

CC BY-SA 3.0
2012-01-14T00:27:45.470Z
Regular expression algebra would be a great addition.
Thomas Ahle
CC BY-SA 2.5
2010-12-14T11:08:17.220Z
2010-12-14T11:08:17.220Z
Dave Clarke
<p>Implement automatic differentiation method from "Exact inference and learning for cumulative distribution functions on loopy graphs" <a href="http://books.nips.cc/papers/files/nips23/NIPS2010_0227.pdf" rel="nofollow">paper</a>. The idea is to use the tree decomposition of the expression graph to do symbolic differentiation exponentially faster than direct method. Their experiments compare tree-decomposition method with Mathematica's built-in differentiator, and they seem happy to provide code they used for experiments</p>

CC BY-SA 2.5
2010-12-14T22:49:04.920Z
2010-12-14T22:49:04.920Z
Yaroslav Bulatov
<p>I would recommend diving into <a href="http://www.wolframscience.com/nksonline/toc.html" rel="nofollow">NKS</a>, at least read parts of Chapters 11 and 12 in the book, it is quite likely to inspire you to chart out a reasonable implementation project. Of course, when in need, ask for help <a href="http://forum.wolframscience.com/" rel="nofollow">here</a>. </p>

CC BY-SA 2.5
2010-12-15T13:07:32.777Z
2010-12-15T13:07:32.777Z
Chan Li
<p>I'm a graduate student in Computer Science.
For an exam, I have to realize a package in Wolfram Mathematica, with a free topic.</p>

<p>My interests are particularly related to theoretical Computer Science, time and space complexity, and to programming languages.</p>

<p>Any suggestions for a possible project (in this or in other fields...)?</p>

CC BY-SA 2.5
2010-12-11T16:57:15.083Z
Could you please exemplify "realizing a package in Wolfram Mathematica, with a free topic"? (I know Mathematica and its packages, but I can't tell what you are seeking.)
Sadeq Dousti
CC BY-SA 2.5
2010-12-11T17:01:56.310Z
I'm on the fence on whether this question is appropriate. In favor: the fact that we've entertained other such questions in the past (though they've been controversial too). Against: it's not a research level question. Thoughts ?
Suresh Venkat
CC BY-SA 2.5
2010-12-11T17:30:12.157Z
@Suresh: I think a question along the lines of "Here's an idea for a project I have, can an expert see any potential pitfalls" would be a stronger question.  If it's Mycol's project, why should random internet strangers be doing all the conceptual work?
Aaron Sterling
CC BY-SA 2.5
2010-12-11T17:31:17.270Z
Also - is the exam at the end of next semester, or at the end of next week?
Aaron Sterling
CC BY-SA 2.5
2010-12-11T17:42:56.913Z
I think that's a good idea, and should be made into policy, especially for questions of this kind. Could you initiate a meta discussion and cross link ? I'll close this discussion here pending resolution on meta.
Suresh Venkat
CC BY-SA 2.5
2010-12-11T18:22:43.527Z
@Suresh: I started a meta discussion [here](http://meta.cstheory.stackexchange.com/questions/802/policy-questions-about-topic-for-research-project).
Aaron Sterling
CC BY-SA 2.5
2010-12-11T20:25:58.753Z
@mycol: this question runs the risk of being closed if the policy described in the above meta link comes into force (and it's likely it will). You might want to consider focusing the question along the lines of Aaron's comment
Suresh Venkat
CC BY-SA 2.5
2010-12-12T18:58:56.163Z
The exam is in the next semester, so I have plenty of time. I'm obviously not here to ask a SOLUTION, but my situation is the following: the teacher told us the project can deal with all CS arguments, and I told you which topics I like. I simply don't know about interesting things to do with Mathematica in these fields... I don't think that telling me some things can be interesting develop is like doing work for me.
Mycol
CC BY-SA 2.5
2010-12-13T07:09:17.117Z
Mycol: we wouldn't mind helping, but you do need to be more specific: show us that you've put in some effort by narrowing down a topic or two, and then maybe folks here can comment on what might be useful contributions (again, I refer you to the meta discussion here: http://meta.cstheory.stackexchange.com/questions/802/policy-questions-about-topic-for-research-project
Suresh Venkat
<advice-request><project-topic>
Ideas for a project in Mathematica related to (Theoretical) Computer Science
Mycol
# Ideas for a project in Mathematica related to (Theoretical) Computer Science

(Asked by: username_0 on 2010-12-11)

I'm a graduate student in Computer Science.
For an exam, I have to realize a package in Wolfram Mathematica, with a free topic.

My interests are particularly related to theoretical Computer Science, time and space complexity, and to programming languages.

Any suggestions for a possible project (in this or in other fields...)?

**Tags:** advice-request, project-topic
> **Comments:**
> **username_1**: Could you please exemplify "realizing a package in Wolfram Mathematica, with a free topic"? (I know Mathematica and its packages, but I can't tell what you are seeking.)  
> **username_2**: I'm on the fence on whether this question is appropriate. In favor: the fact that we've entertained other such questions in the past (though they've been controversial too). Against: it's not a research level question. Thoughts ?  
> **username_3**: @Suresh: I think a question along the lines of "Here's an idea for a project I have, can an expert see any potential pitfalls" would be a stronger question.  If it's Mycol's project, why should random internet strangers be doing all the conceptual work?  
> **username_3**: Also - is the exam at the end of next semester, or at the end of next week?  
> **username_2**: I think that's a good idea, and should be made into policy, especially for questions of this kind. Could you initiate a meta discussion and cross link ? I'll close this discussion here pending resolution on meta.  
> **username_3**: @Suresh: I started a meta discussion [here](http://meta.cstheory.stackexchange.com/questions/802/policy-questions-about-topic-for-research-project).  
> **username_2**: @mycol: this question runs the risk of being closed if the policy described in the above meta link comes into force (and it's likely it will). You might want to consider focusing the question along the lines of Aaron's comment  
> **username_0**: The exam is in the next semester, so I have plenty of time. I'm obviously not here to ask a SOLUTION, but my situation is the following: the teacher told us the project can deal with all CS arguments, and I told you which topics I like. I simply don't know about interesting things to do with Mathematica in these fields... I don't think that telling me some things can be interesting develop is like doing work for me.  
> **username_2**: Mycol: we wouldn't mind helping, but you do need to be more specific: show us that you've put in some effort by narrowing down a topic or two, and then maybe folks here can comment on what might be useful contributions (again, I refer you to the meta discussion here: http://meta.cstheory.stackexchange.com/questions/802/policy-questions-about-topic-for-research-project  

---

## 3 answers

### Answer by username_4 on 2010-12-14. Score: 4

Two possibilities:

* Encode automata and implement some algorithms for them in Mathematica
* Implement an abstract interpretation framework for some simple language in Mathematica

Both of these topics have been done many times over, but it would be interesting to see how well/poorly Mathematica deals with the underlying structures.

> **Comments:**
> **username_5**: Regular expression algebra would be a great addition.  

---

### Answer by username_6 on 2010-12-14. Score: 1

Implement automatic differentiation method from "Exact inference and learning for cumulative distribution functions on loopy graphs" [paper](http://books.nips.cc/papers/files/nips23/NIPS2010_0227.pdf). The idea is to use the tree decomposition of the expression graph to do symbolic differentiation exponentially faster than direct method. Their experiments compare tree-decomposition method with Mathematica's built-in differentiator, and they seem happy to provide code they used for experiments


---

### Answer by username_7 on 2010-12-15. Score: 0

I would recommend diving into [NKS](http://www.wolframscience.com/nksonline/toc.html), at least read parts of Chapters 11 and 12 in the book, it is quite likely to inspire you to chart out a reasonable implementation project. Of course, when in need, ask for help [here](http://forum.wolframscience.com/).


---

