equal
deleted
inserted
replaced
65 larger number of states, completely contrary to the idea of minimising the |
65 larger number of states, completely contrary to the idea of minimising the |
66 number of states. The task of this project is to implement this method, check that |
66 number of states. The task of this project is to implement this method, check that |
67 it actually works with some examples and |
67 it actually works with some examples and |
68 compare it with more traditional methods for automata minimisation |
68 compare it with more traditional methods for automata minimisation |
69 (in terms of run-time, code complexity, etc). Examples can be |
69 (in terms of run-time, code complexity, etc). Examples can be |
70 obtained by translating regular expressions into automata. |
70 obtained by translating regular expressions into automata. A natural extension |
|
71 of the project is therefore to implement a recogniser for regular expressions |
|
72 following, for example, this <A HREF="http://www.cl.cam.ac.uk/~so294/documents/jfp09.pdf">paper</A>. |
71 </p> |
73 </p> |
72 |
74 |
73 <p> |
75 <p> |
74 <B>Literature:</B> |
76 <B>Literature:</B> |
75 A good place to start with this project are the wikipedia articles |
77 A good place to start with this project are the wikipedia articles |
105 to decide a number of problems in automated reasoning. Recently, |
107 to decide a number of problems in automated reasoning. Recently, |
106 <A HREF="http://www.cs.unibo.it/~asperti/">Andreas Asperti</A> |
108 <A HREF="http://www.cs.unibo.it/~asperti/">Andreas Asperti</A> |
107 proposed a simple method for deciding regular expression equivalence described |
109 proposed a simple method for deciding regular expression equivalence described |
108 <A HREF="http://www.cs.unibo.it/~asperti/PAPERS/compact.pdf">here</A>. |
110 <A HREF="http://www.cs.unibo.it/~asperti/PAPERS/compact.pdf">here</A>. |
109 The task is to implement this method and test it on examples. |
111 The task is to implement this method and test it on examples. |
110 It would be also interesting to see whether Asperti's method also applies to |
112 It would be also interesting to see whether Asperti's method applies to |
111 extended regular expressions, described |
113 extended regular expressions, described |
112 <A HREF="http://ww2.cs.mu.oz.au/~sulzmann/manuscript/reg-exp-partial-derivatives.pdf">here</A>. |
114 <A HREF="http://ww2.cs.mu.oz.au/~sulzmann/manuscript/reg-exp-partial-derivatives.pdf">here</A>. |
113 </p> |
115 </p> |
114 |
116 |
115 <p> |
117 <p> |
153 |
155 |
154 <p> |
156 <p> |
155 While the hard work has been done (understanding the two papers above), |
157 While the hard work has been done (understanding the two papers above), |
156 my compiler only produces some idealised machine code. For example I |
158 my compiler only produces some idealised machine code. For example I |
157 assume there are infinitely many registers. The goal of this |
159 assume there are infinitely many registers. The goal of this |
158 project is to generate machine code which is more realistic and can |
160 project is to generate machine code that is more realistic and can |
159 run on a CPU, like x86, or run on a virtual machine, say JVM. |
161 run on a CPU, like x86, or run on a virtual machine, say the JVM. |
160 This gives probably a speedup of thousand times in comparison to |
162 This gives probably a speedup of thousand times in comparison to |
161 my naive machine code and virtual machine. The project |
163 my naive machine code and virtual machine. The project |
162 requires to dig into the literature about real CPUs and generating |
164 requires to dig into the literature about real CPUs and generating |
163 real machine code. |
165 real machine code. |
164 </p> |
166 </p> |
271 The problem of student polling is not as hard as |
273 The problem of student polling is not as hard as |
272 <A HREF="http://en.wikipedia.org/wiki/Electronic_voting">electronic voting</A>, |
274 <A HREF="http://en.wikipedia.org/wiki/Electronic_voting">electronic voting</A>, |
273 which essentially is still an unsolved problem in Computer Science. The |
275 which essentially is still an unsolved problem in Computer Science. The |
274 students only need to be prevented from answering question more than once thus skewing |
276 students only need to be prevented from answering question more than once thus skewing |
275 any statistics. Unlike electronic voting, no audit trail needs to be kept |
277 any statistics. Unlike electronic voting, no audit trail needs to be kept |
276 for student polling. Restricting the number of questions can probably be solved |
278 for student polling. Restricting the number of answers can probably be solved |
277 by setting appropriate cookies on the students |
279 by setting appropriate cookies on the students |
278 computers or smart phones. |
280 computers or smart phones. |
279 </p> |
281 </p> |
280 |
282 |
281 <p> |
283 <p> |
290 <A HREF="http://www.heroku.com">Heroku</A>). |
292 <A HREF="http://www.heroku.com">Heroku</A>). |
291 For web-programming the |
293 For web-programming the |
292 <A HREF="http://www.udacity.com/overview/Course/cs253/CourseRev/apr2012">Web Application Engineering</A> |
294 <A HREF="http://www.udacity.com/overview/Course/cs253/CourseRev/apr2012">Web Application Engineering</A> |
293 course at <A HREF="http://www.udacity.com">Udacity</A> is a good starting point |
295 course at <A HREF="http://www.udacity.com">Udacity</A> is a good starting point |
294 to be aware of the issues involved. This course uses <A HREF="http://www.python.org">Python</A>. |
296 to be aware of the issues involved. This course uses <A HREF="http://www.python.org">Python</A>. |
295 |
297 To evaluate the answers from the student, Google's |
|
298 <A HREF="https://developers.google.com/chart/image/docs/making_charts">Chart Tools</A> |
|
299 might be useful, which ar also described in this |
|
300 <A HREF="http://www.youtube.com/watch?v=NZtgT4jgnE8">youtube</A> video. |
296 </p> |
301 </p> |
297 |
302 |
298 <p><B>Skills:</B> |
303 <p><B>Skills:</B> |
299 In order to provide convenience for the lecturer, this project needs very good web-programming skills. A |
304 In order to provide convenience for the lecturer, this project needs very good web-programming skills. A |
300 <A HREF="http://en.wikipedia.org/wiki/Hacker_(programmer_subculture)">hacker mentality</A> |
305 <A HREF="http://en.wikipedia.org/wiki/Hacker_(programmer_subculture)">hacker mentality</A> |