We have several project and diploma tasks available. You can contact Babak for a chat.
About doing a project for UbiCollab
UbiCollab’s main goal is to provide opportunities for students to do exciting research in the crossroads of the research fields of CSCW, social computing and ubiquitous computing. We encourage students to do no-nonsense research with considerations for socioeconomic aspects, but with a strong focus on developing new technology that can improve people’s lives. We invite you to get involved in this exciting project! As part of choosing a UbiCollab project or diploma topic you will get a well-defined research problem, an initial set of literature to read, and you will contribute to a live open source software system which will make the evaluation of your work much easier.
We are having a number of exciting projects that you can choose from (see the top menu “Available tasks”). We also encourage you to discuss your own project proposal whenever you think it will contribute to UbiCollab!
In UbiCollab research we distinguish between three different types of projects: Engineering projects, investigative projects, and theoretical projects. Below you will find what each of these means, and some tips on expected deliverables.
Engineering projects are related to design and development of a subsystem in UbiCollab, or design and development of applications utilizing and demonstrating UbiCollab functionality. It is expected that candidates have knowledge of software engineering, including conceptual modeling, architecture, programming and testing. UbiCollab is developed in a modular manner based on a service-oriented architecture (SOA). Extreme SOA way of thinking is encouraged in all our engineering projects.
Typical deliverables from engineering projects are:
- Target scenarios.
- Architecture and design documented in UML 2.X, including architecture-level validation through e.g. message sequence diagrams.
- Test cases for all functional blocks.
- Java code.
- Test results and example GUIs.
See also related technologies page in order to find out what type of basic technology is being used in UbiCollab.
Typical report structure
- Introduction, problem analysis and motivation: Here you will use theoretical background and scenarios to define the problem and provide a deep motivation for the project work.
- Technology state-of-the-art: Here you will use the problem definition to review existing technologies or applications, and analyze these according to a design space (developed by you) for solving the research problem.
- Proposal for a solution: Here you will represent how your specific solution looks like in terms of:
- Concepts: What are the main informational concepts you are introducing.
- Functionality and APIs: Describing what your system does, how it does it, and what interfaces are provided to clients for using this functionality.
- Relation to overall UbiCollab architecture: Here you will demonstrate how your contribution fits into UbiCollab concepts and architecture.
- Implementation: Here you will describe how your solution is implemented, what parts are implemented, what is left unimplemented, whether there are any test GUIs etc. provided.
- Evaluation: Here you will evaluate your solution with respect to:
- The problem: What parts of the initial problem are solved? How? Typically, an enhanced version of your original scenario, where you demonstrate your added functionality.
- State-of-the-art: How have you advanced the state-of-the-art that was evaluated in the report?
- Conclusions and future research: Important to define an agenda for future research, i.e. what is left to be done both in terms of concepts and design/implementation. What new problems have appeared as result of your research? A list of proposals for new projects.
Investigative projects are related to investigating a new area (technical or non-technical) that is of foreseen relevance to UbiCollab. We initiate an investigative project as a result of discovered limitations in our scenarios, or as a result of a new technology that seems interesting to UbiCollab implementations. There might also be other reasons for an investigative project. The goals of an investigative project are typically:
- Propose improvements to UbiCollab scenarios,
- Propose improvements to UbiCollab architecture, design and implementations.
It is expected that candidates have good analytical capabilities and can quickly master state-of-the-art in an emerging area of research or development. Typical deliverables:
- Formulation of research problem and hypotheses.
- State-of-the-art report related to the research and development field being investigated.
- Proposals for new scenarios or improvements of existing scenarios in order to address the research problem.
- Proposals for new architectural concepts, design- or implementation-related technologies, or improvements to currently deployed ones.
Normally no code or demonstrators are expected, but in some cases these might be useful for evaluating the results. We encourage that new scenarios are demonstrated using mock-ups, visualizations etc.
Typical report structure
- Introduction, hypothesis and motivation: Here you will introduce research problem, the emerging field, its foreseen relevance and usefulness to UbiCollab, and you will outline a hypothesis to be proven/rejected by your research (e.g. Technology X should be used, or Theory Y will improve UbiCollab scenarios, etc.).
- State-of-the-art: Here you will investigate the new field of research, will outline its origins, motivation, and its status (is it an emerging field, a new field, what are the knowledge exchange fora, etc.), are there any standardization going on, what research groups or projects are currently working in this field?
- Scenarios for utilizing the investigated field of research in UbiCollab: Here you will represent how exactly the new research field will contribute to UbiCollab. E.g. is the field proposing new theories for collaboration? Is the field proposing new perspectives on ubicomp systems? Are we talking about new business models? How can these affect UbiCollab, and what will they affect? Scenarios? Concepts? Architecture? Implementations?
- Recommendations: Here you will describe your recommendations for improving UbiCollab, based on what you have learned.
- Conclusions and future research: Important to define an agenda for future research, i.e. what are the implications of your recommendations in terms of new UbiCollab projects?
Theoretical and evaluation projects
Theoretical projects are mainly related to developing, verifying, or rejecting theories within the areas of CSCW and Ubicomp. Theories in CSCW and Ubicomp develop roughly in two ways:
- Applying theories from some related research field to CSCW or Ubicomp: For instance, CSCW as a research field has often been enriched through the application of theories from sociology, pedagogics, etc.
- Developing new theories by empirical verification: Recurring empirical results from experiments where people or organizations use some piece of technology can lead to the development of new theories. For instance, the usage of presence technologies or internet-based community systems has lead to the development of new theories of CSCW.
Theoretical projects will focus on verification or rejection of existing theories, or development of new theories.
In order to view our available projects, go to the top menu available projects, and choose the class of projects you want to do.