Undergraduate Research Opportunities (UROPs)
You don't have to wait until you do your final-year project to get
involved in research! Doing UROP work won't give you any extra
towards your degree, so don't think of doing research as an alternative
to studying or doing coursework. However, it can be more
interesting than watching TV. You may also wind up with
publications, your name on the web or in open-source code, or at the
very least a nice letter of reference for a future employer.
Feel free to contact any member of staff about whether you can do research with them. Currently, all the opportunities on this page are with Dr. Bryson, so schedule an appointment to see her if you want to join in.
The projects below are just suggestions. If you have another idea, feel free to propose it.
Engineering Projects: Small
- Making newer, better Unreal Tournament characters. It's probably easiest to start out understanding our existing UT characters, then improving them, but you can also start from scratch if you like. Note that we are interested both in better characters and in bug reports or improvements on our development methodology, BOD.
- Replicate Lehmann's replication of DomWorld in BOD/MASON.
This would be another demo both for BOD/MASON, & for POSH plans.
- Improving the Sheep-Dog demo, which is supposed to help new AI programmers learn how to use BOD in an agent-based modelling environment. Currently though, the behaviour decomposition isn't very good. Neither is the separation between the java & python code.
- Improving the basic BOD/MASON
- Jan Drugowitsch is maintaining BOD/MASON from the POSH side and working on the interface, but we could use some more documentation and some more robust behaviours. See also below under science.
- Documentation -- code is no use without it!
- The original author of pyPOSH (Andy Kwong) didn't copy any of the comments from the lisp version into his python version, but rather only documented things that differed from the lisp. If someone who knows both languages would like to fix this, I'd be eternally grateful. Or at least the comment with your name on crediting you with the comments would be eternally in the code. In fact, if you only know one of those languages and want to learn the other, this might be a nice way to do it.
- Always looking for help on the web pages and manuals.
Engineering Projects: Large
- Making a Java version of POSH &
linking it to NetLogo.
This would be very widely
used, but is quite a big project. I would suggest starting from
some of the ABODE
libraries so that you can get
the parsing of the POSH scripts for free.
- Improving ABODE.
- Build a better UI for EE-FAS.
This would involve understanding EE-FAS and being able to write a nice GUI
to help design emotional systems. For example, we want to be able
to specify which emotions there are, how quickly they onset, how long
they take to decay, and how they affect or interfere with each other
(e.g. does being happy makes you less sad? does being angry?)
- Let me know if you are interested in programming AI in LISP.
- Work with Hagen Lehmann on building artificial life models of primate social behaviour in BOD/MASON. You will be working directly with someone who is a better scientist but worse programmer than you. The project is working to understand the origins of primate (including human) social organization.
- Extend some research on how much of human semantics can be acquired statistically from just reading lots of text. This has important implications for understanding the evolution and individual development of human culture & intelligence. The code is currently in LISP.
- Extend some research on the extent to which human intelligence can include behaviour copied from other humans without understanding. This is currently in MASON (but not BOD/MASON, so you need to use Java).
UROP Hall of Fame
These people are working or have worked on research projects while they
were undergraduates. A few of them have gotten paid or some
travel money --- it depends what funding we have. This list doesn't include final-year
- Adrian Hilton - did the AmonI web page template.
- Avri Bilovich - worked on testing & analyzing the Evolution of Communication model.
- Steve Gray - wrote the first version of ABODE under contract.
- James Nugent - worked on ABODE.
- Jakub Gemrot (from
Charles University, Prague) - worked on ABODE
& pyPOSH, and his own POSH/UT tool, Pogamut.
Is currently translating
POSH into java for this with a team in Prague.
- Maria Shugrina (from Boston University) - worked on empathic painting with Dr. Collomosse.
- Francis Binns and Andrew
Mansfield - are currently
working on BOD / UT.