User Tools

Site Tools


projects

This is an old revision of the document!


Proposed Projects

Data-driven conceptual modeling within on-line communities

Supervisor: M. Baljko

The wealth of data to be obtained from online communities is already well acknowledged. This EECS4080 project will investigate techniques for obtaining, analyzing, and visualizing this data in conjunction with a digital humanities research project. The digital humanities project is seeking to investigate questions about how disability, ableism, and activism is taken up within on-line discourse within certain types of online communities. The 4080 project will entail, among other tasks, tasks such as: to extend an existing code base that performs web-scraping; to develop scripts and techniques to work with large volumes of data; to analyze scraped data; and to visualize results. This 4080 project will entail working closely with the supervisor and a doctoral candidate, with weekly meetings.

Required Background: General EECS408x prerequisites; strong software design and implementation skills (Java), prior experience with (or willingness to learn) information visualization software (Tableau), an undergraduate course in statistics is preferred

Proposed Project: Tangible Interactive Device Design and Evaluation, Assistive Technology

Supervisor: M. Baljko

The objective of the 'ENAbling MEdia for Literacy' (ENAMEL) research project is to develop and to evaluate the digital technologies that are required by stakeholders. These technologies tend toward low-cost, DIY variants (such as 3D printing and low-cost single-board computers, such as Raspberry Pi and Arduino) and open source software. These technologies provide innovative and new approaches to supporting the development of functional knowledge in learners (primarily children) concerning printed and written materials. This project espouses user-centered, rather than technology-centered, design approaches, and seeks to critically reflect on the hidden assumptions, ideologies and values underlying the design of such technologies. The ENAMEL project is currently supporting two projects. The first project is focused on supporting learning of early-level Braille by children (in North America). The second project is focused on capacity building for grass-roots production of Assistive Technology (focused on speech and language supports) for use in Special Education contexts in an East Africa country. This 4080 project will investigate the design, fabrication, and evaluation techniques for either the Braille project or the Speech/Language Assistive Technology project. The project will start with an in-depth learning phase so that the student becomes familiar with the current state of this multi-year research project. The remainder of the project will entail either software or hardware development or conducting a usability study, depending on the both the needs of the project and the learning objectives of the 4080 student. The student must be able to work effectively in a multi-disciplinary team environment.

Required Background: General EECS408x prerequisites; EECS3461; knowledge in at least two of the following knowledge areas: Java, iterative UI design methodologies, tangible interface building (using Raspberry Pi or other single board computers or microcontrollers), 3D modeling (preferably OpenSCAD), assistive technologies, critical disability studies

Design and development of a low‐power backend PCB for brain neural signal processing and wireless data transmission

Supervisor: Hossein Kassiri

The student will be responsible for the design and testing of a printed circuit board (PCB) that receives brain electrophysiological signals from multiple recording sites; analyze, decode, and organizes them; and transmit them through a wireless link to a handheld (e.g., cellphone) or stationary (e.g. a laptop) device. The board must be designed while the strict power and area budgets of a medical device taken into account. Once developed, the prototype along with the currently‐available wearable brain monitoring device will form a complete wireless wearable solution for point‐of‐care brain monitoring and diagnosis applications.

Required Background: Solid knowledge of electrical and electronic circuits, proficiency in Verilog and MATLAB, previous PCB design experience is not a must but definitely is a plus.

Distributed leader election for simple robots

Supervisors: Michael Jenkin and Patrick Dymond

Project: How should a group of autonomous agents moving within multiple locations choose and maintain a leader to coordinate and control them? Utilizing the concept of an infection algorithm — a process much like the spread of a disease in which agents infect each other with information — it is possible to develop a probabilistic approach to this kind of leader election problem. Solutions to this type of problem finds wide application in distributed computing, and in particular distributed computing of autonomous agents and sensors which must compute information about control structures with limited information about the presence/absence of potential leaders in the environment.

To make this project more specific, and given the limited time available for an undergraduate student project, this project will explore certain properties of leader election algorithms, both with real and simulated groups of robots. Using a simulator, performance bottlenecks in the infection algorithm will be studied, considering cases where direct communication is limited to agents in the same local area. Simulations will be supported using a collection of real devices (Android devices) who can communicate with each other in the local environment using bluetooth and/or WIFI. If time permits, the project will also study possible enhancements of the infection algorithm as well as develop better upper bounds for the problem.

Required skills: knowledge of Java or Python. Interest in algorithms for a distributed collection of simple robot agents. Completion of 3rd year courses in computer science or computer engineering.

Asynchronicity in infection algorithms

Supervisors: Michael Jenkin and Patrick Dymond

Project: How does changing the model of synchronization changing run time bounds on infection algorithms?

Infection algorithms are a class of algorithms within which individual agents exchange information via infection. That is, the algorithm proceeds by the various agents transmitting (infecting) each other with information. Under an assumption of synchronization — that is, a model in which no two agents can infect each other at precisely the same time — it is possible to derive models of expected time until all agents have been infected. But how does this algorithm adapt when agents can actually infect each other simultaneously? This project will explore this problem. First, a simple simulation algorithm will be implemented to test infection rates when it is assumed that at a given time instant only one infection can occur. This algorithm will then be generalized to a model under which within a given time interval more than one infection can occur. Experimental validation will explore how existing infection algorithms perform under this more realistic model. Simulations will be supported using a collection of real devices (Android devices) who can communicate with each other in the local environment using bluetooth and/or WIFI.

Required skills: knowledge of Java or Python. Interest in algorithms for a distributed collection of simple robot agents. Completion of 3rd year courses in computer science or computer engineering.

Simultaneous localization and mapping (SLAM) aided by a single unique directional landmark

Supervisors: Professors Michael Jenkin and Patrick Dymond

Project: How can a simple SLAM algorithm be improved if it is known a priori that there exists in the environment a single unique landmark that provides both position and orientation information?

SLAM algorithms have been developed for a large number of different environments, and for relatively straightforward environments such as those found indoors, the problem can in many ways be considered solved. However, current algorithms have in the main concentrated on a general version of the problem in which no a priori information is assumed about the environment. From theoretical results we know that a single directional landmark is sufficient to solve the SLAM problem algorithmically, but can we exploit this result within the traditional probabilistic framework found in SLAM algorithms? Starting with a standard vision-based SLAM algorithm, this project will explore how a single landmark can be used to drive exploration and critically, drive algorithmic loop closure.

Required skills: knowledge of Java or Python. Interest in algorithms for robots. Completion of 3rd year courses in computer science or computer engineering.

projects.1502391299.txt.gz · Last modified: 2017/08/10 18:54 by jenkin