1 <?xml version="1.0" encoding="utf-8"?> |
1 <?xml version="1.0" encoding="utf-8"?> |
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
3 <HEAD> |
3 <HEAD> |
4 <TITLE>2014/15 BSc Projects</TITLE> |
4 <TITLE>2014/15 BSc Projects</TITLE> |
5 <BASE HREF="http://www.inf.kcl.ac.uk/staff/urbanc/"> |
5 <BASE HREF="http://nms.kcl.ac.uk/christian.urban/"> |
6 <script type="text/javascript" src="striper.js"></script> |
6 <script type="text/javascript" src="striper.js"></script> |
7 <link rel="stylesheet" href="nominal.css"> |
7 <link rel="stylesheet" href="nominal.css"> |
8 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> |
8 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> |
9 </script> |
9 </script> |
10 </HEAD> |
10 </HEAD> |
105 above claim they are even faster than me and can deal with even more features of regular expressions |
105 above claim they are even faster than me and can deal with even more features of regular expressions |
106 (for example subexpression matching, which my rainy-afternoon matcher cannot). I am sure they thought |
106 (for example subexpression matching, which my rainy-afternoon matcher cannot). I am sure they thought |
107 about the problem much longer than a single afternoon. The task |
107 about the problem much longer than a single afternoon. The task |
108 in this project is to find out how good they actually are by implementing the results from their paper. |
108 in this project is to find out how good they actually are by implementing the results from their paper. |
109 Their approach is based on the concept of derivatives. |
109 Their approach is based on the concept of derivatives. |
110 I used them once myself in a <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/rexp.pdf">paper</A> |
110 I used them once myself in a <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/rexp.pdf">paper</A> |
111 in order to prove the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>. |
111 in order to prove the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>. |
112 So I know they are worth their money. Still, it would be interesting to actually compare their results |
112 So I know they are worth their money. Still, it would be interesting to actually compare their results |
113 with my simple rainy-afternoon matcher and potentially “blow away” the regular expression matchers |
113 with my simple rainy-afternoon matcher and potentially “blow away” the regular expression matchers |
114 in Python and Ruby (and possibly in Scala too). The application would be to implement a fast lexer for |
114 in Python and Ruby (and possibly in Scala too). The application would be to implement a fast lexer for |
115 programming languages. |
115 programming languages. |
460 in a "self-3d-printed" watch) to a Raspberry Pi seen in the background. The Arduino takes meaurements of |
460 in a "self-3d-printed" watch) to a Raspberry Pi seen in the background. The Arduino takes meaurements of |
461 heart rate and body temperature; the Raspberry Pi collects this data and makes it accessible via a simple |
461 heart rate and body temperature; the Raspberry Pi collects this data and makes it accessible via a simple |
462 web-service. |
462 web-service. |
463 <center> |
463 <center> |
464 <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |
464 <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |
465 "src="http://www.inf.kcl.ac.uk/staff/urbanc/rpi-photo.jpg" width="209" height="313"> |
465 "src="http://nms.kcl.ac.uk/christian.urban/rpi-photo.jpg" width="209" height="313"> |
466 |
466 |
467 <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |
467 <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |
468 "src="http://www.inf.kcl.ac.uk/staff/urbanc/rpi-watch.jpg" width="450" height="254"> |
468 "src="http://nms.kcl.ac.uk/christian.urban/rpi-watch.jpg" width="450" height="254"> |
469 </center> |
469 </center> |
470 </p> |
470 </p> |
471 |
471 |
472 <li> <H4>[CU6] Generating Testcases from a Specification</H4> |
472 <li> <H4>[CU6] Generating Testcases from a Specification</H4> |
473 |
473 |
593 algorithm switched on and it almost caused a catastrophic mission failure (see |
593 algorithm switched on and it almost caused a catastrophic mission failure (see |
594 this youtube video <A HREF="http://www.youtube.com/watch?v=lyx7kARrGeM">here</A> |
594 this youtube video <A HREF="http://www.youtube.com/watch?v=lyx7kARrGeM">here</A> |
595 for an explanation what happened). |
595 for an explanation what happened). |
596 We were able to prove the correctness of this algorithm, but were also able to |
596 We were able to prove the correctness of this algorithm, but were also able to |
597 establish the correctness of some optimisations in this |
597 establish the correctness of some optimisations in this |
598 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/pip.pdf">paper</A>. |
598 <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/pip.pdf">paper</A>. |
599 </p> |
599 </p> |
600 |
600 |
601 <p>On a much smaller scale, there are a few small programs and underlying algorithms where it |
601 <p>On a much smaller scale, there are a few small programs and underlying algorithms where it |
602 is not really understood whether they always compute a correct result (for example the |
602 is not really understood whether they always compute a correct result (for example the |
603 regular expression matcher by Sulzmann and Lu in project [CU1]). The aim of this |
603 regular expression matcher by Sulzmann and Lu in project [CU1]). The aim of this |
611 </p> |
611 </p> |
612 |
612 |
613 <li> <H4>Earlier Projects</H4> |
613 <li> <H4>Earlier Projects</H4> |
614 |
614 |
615 I am also open to project suggestions from you. You might find some inspiration from my earlier projects: |
615 I am also open to project suggestions from you. You might find some inspiration from my earlier projects: |
616 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/bsc-projects-12.html">BSc 2012/13</A>, |
616 <A HREF="http://nms.kcl.ac.uk/christian.urban/bsc-projects-12.html">BSc 2012/13</A>, |
617 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/msc-projects-12.html">MSc 2012/13</A>, |
617 <A HREF="http://nms.kcl.ac.uk/christian.urban/msc-projects-12.html">MSc 2012/13</A>, |
618 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/bsc-projects-13.html">BSc 2013/14</A> |
618 <A HREF="http://nms.kcl.ac.uk/christian.urban/bsc-projects-13.html">BSc 2013/14</A> |
619 </ul> |
619 </ul> |
620 </TD> |
620 </TD> |
621 </TR> |
621 </TR> |
622 </TABLE> |
622 </TABLE> |
623 |
623 |