projects
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects [2016/01/13 20:05] – stevenc | projects [2017/01/05 21:15] (current) – roumani | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ======Distributed leader election |
+ | |||
+ | ======Distributed leader election for simple robots====== | ||
+ | |||
+ | **Supervisors**: | ||
+ | |||
+ | **Project**: | ||
+ | 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/ | ||
+ | |||
+ | 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 | ||
+ | If time permits, the project will also study possible | ||
+ | |||
+ | **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**: | ||
+ | |||
+ | **Project**: | ||
+ | |||
+ | 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? | ||
+ | |||
+ | **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**: | ||
+ | **Project**: | ||
+ | |||
+ | SLAM algorithms have been developed for a large number of different environments, | ||
+ | |||
+ | **Required skills**: knowledge of Java or Python. Interest in algorithms for robots. Completion of 3rd year courses in computer science or computer engineering. | ||
+ | |||
+ | |||
+ | \\ | ||
+ | ======Extracting Information from Music====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
+ | |||
+ | While humans are quite good at extracting musical information from audio, such as tempo and time signature, computers have room for improvement in this regard. | ||
+ | |||
+ | This project will use the JUCE framework to create software that extracts such information from audio files. Existing algorithms will be implemented and compared, and possibly improved. The output will be both a stand-alone application, | ||
+ | |||
+ | |||
+ | \\ | ||
======Immersive Virtual Worlds====== | ======Immersive Virtual Worlds====== | ||
Line 392: | Line 439: | ||
\\ | \\ | ||
\\ | \\ | ||
+ | |||
+ | ====Formerly Proposed Projects==== | ||
+ | |||
+ | ====== Tilt Target Selection on Touchscreen Phones ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
+ | |||
+ | Touchscreen mobile devices commonly use a built-in accelerometer to sense movement or tilting actions of the device. | ||
+ | |||
+ | **Readings**: | ||
+ | |||
+ | ====== Attentive Sensing for Better Two-Way Communication in Remote Learning Environments ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
+ | good math skills, knowledge of C and MATLAB programming languages | ||
+ | |||
+ | One of the challenges in remote learning is to allow students to communicate effectively with the lecturer. | ||
+ | |||
+ | The goal of this project is to apply attentive sensing technology (www.elderlab.yorku.ca) to this problem. | ||
+ | |||
+ | In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will: | ||
+ | |||
+ | - Study the problem of detecting hand-raises in the preattentive sensor stream | ||
+ | - Implement algorithms for detecting hand-raises based upon this investigation | ||
+ | - Evaluate these algorithms in a real-classroom setting, using proprietary attentive sensing technology | ||
+ | |||
+ | |||
+ | ====== Attentive Sensing for Sport Video Recording Markets ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
+ | |||
+ | |||
+ | The goal of this project is to modify York University’s patented attentive sensor technology to the sport video recording market. | ||
+ | |||
+ | The general problem is to use attentive sensing technology (www.elderlab.yorku.ca) to visually detect and track multiple moving agents (e.g., skiers, riders, horses) and to select specific agents for active high-resolution smooth pursuit. | ||
+ | |||
+ | The student will work with senior graduate students, postdoctoral fellows and research scientists to help modify the attentive sensing technology to operate in these domains. | ||
+ | |||
+ | 1. | ||
+ | 2. | ||
+ | 3. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Continuation of a Path Diagram to Syntax Application ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
+ | |||
+ | **Recommended Background**: | ||
+ | |||
+ | Structural equation modeling (SEM) is a statistical technique that is becoming increasingly popular in the educational and behavioral sciences. SEM allows researchers to test the validity of hypothesized models involving complex relationships among multiple variables. Collected data is used to estimate the parameters of the equations and assessing the fit of the model. | ||
+ | |||
+ | The software required is an application that allows researchers to define their hypothesized models visually and will output the correct syntax for the analytical software of their choosing. | ||
+ | |||
+ | To date a promising functional application has been developed in JAVA by a Computer Science student as a 4080 project. The existing software allows the user to draw a path diagram and outputs code for the R package sem. There are a number of improvements to be made (refinements and additions to graphical user interface) and then the application needs to be extended to output syntax appropriate for additional software applications (openMX, MPlus and EQS). Though this project may not begin at “the first stages” of the software lifecycle, this scenario is likely common in the software development market. In addition, the student will be working with a primary “client” who is far less technically advanced, which is also reflective of real-world situations. | ||
+ | |||
+ | More details {{: | ||
+ | |||
+ | |||
+ | |||
+ | ====== Enabling SaaS access to an experimental AI planner ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
+ | 3402 -- Functional & Logic Programming, | ||
+ | 3101 -- Design and Analysis of Algorithms, | ||
+ | 4302 -- Compilers and Interpreters. | ||
+ | |||
+ | **Description**: | ||
+ | |||
+ | The components are various Unix executables and LISP programs that need to interact in complex ways. The components may be residing in different servers in different universities. Currently integration is performed manually, at the expense of usability. Thus, we aim at constructing a module that: (a) integrates involved components to deliver output in one call, (b) exports a unique web interface (preferably following WSDL/SOAP) to be easily accessed by custom front-end tools by anyone, anywhere, (c ) offers a simple front-end for human users. | ||
+ | |||
+ | Learning objectives: | ||
+ | * Understand the technologies and process involved in turning native code into a web-service (" | ||
+ | * Study a state-of-the-art AI planner and understand its workings. | ||
+ | * Exercise scripting skills. | ||
+ | |||
+ | |||
+ | ====== Predicting Angular Error in Rigid Registration ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Description**: | ||
+ | navigation. Several (seemingly) different approaches for predicting | ||
+ | distance errors in registration are known, but for some surgical | ||
+ | procedures, the angular error in registration is more important. | ||
+ | This project will validate an approach for predicting angular | ||
+ | error in registration; | ||
+ | simulated and actual registration data for testing purposes. | ||
+ | |||
+ | ====== Calibration of a Tracked Pointer ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Description**: | ||
+ | navigation systems. A typical pointer has a tracked target on one | ||
+ | end and a sharp or ball tip on the other end. Finding the location | ||
+ | of the tip relative to the target is a calibration problem. One | ||
+ | solution to the calibration problem involves pivoting the pointer | ||
+ | about the tip while tracking the target; if the tip is kept | ||
+ | stationary, then the target moves on the surface of a sphere. | ||
+ | Fitting the tracking data to the surface of a sphere yields the | ||
+ | location of the tip as the sphere center. Unfortunately, | ||
+ | calibrated tip position obtained using such a spherical calibration | ||
+ | has high variance. This project will investigate how much variance | ||
+ | there is in the calibrated tip position, and methods for reducing | ||
+ | the variance of the calibrated tip position. | ||
+ | |||
+ | |||
+ | ====== A privacy safeguard framework for sharing photos on Facebook ====== | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | |||
+ | **Description**: | ||
+ | One of the major privacy concerns in Online Social Networks is photo sharing. | ||
+ | |||
+ | **Required prerequisite background**: | ||
+ | |||
+ | **Desired prerequisite**: | ||
+ | |||
+ | ===Simulation for Forest Fire Detection=== | ||
+ | |||
+ | Supervisor: Rob Allison | ||
+ | |||
+ | Required Background: General CSE408x prerequisites | ||
+ | |||
+ | Recommended Background: CSE3431 or CSE4471 or equivalent | ||
+ | |||
+ | Description | ||
+ | |||
+ | Detection of forest fires is a challenging activity that requires considerable training. The objective of this project is to implement a virtual reality simulation to incorporate key aspects of this task and then to perform an evaluation with a small user study. | ||
+ | |||
+ | ---- | ||
+ | ===Study of self-motion perception in microgravity=== | ||
+ | |||
+ | Supervisor: Rob Allison | ||
+ | |||
+ | Required Background: General CSE408x prerequisites | ||
+ | |||
+ | Recommended Background: CSE3431 or CSE4471 or equivalent | ||
+ | |||
+ | Description | ||
+ | |||
+ | This is a computer graphics project to present visual motion stimuli to an observer. The software will experimentally control scene content, collect user responses and control the camera trajectory to simulate the desired self-motion profile. | ||
+ | |||
+ | ---- | ||
+ | ===Stereoscopic cinema calculator=== | ||
+ | |||
+ | Supervisor: Rob Allison | ||
+ | |||
+ | Required Background: General CSE408x prerequisites | ||
+ | |||
+ | Recommended Background: CSE3431 or CSE4471 or equivalent | ||
+ | |||
+ | Description | ||
+ | |||
+ | Directors of three-dimensional movies sometimes use ' | ||
+ | |||
+ | ---- | ||
+ | ===Computer pointing devices and the speed-accuracy tradeoff=== | ||
+ | |||
+ | Supervisor: Scott MacKenzie | ||
+ | |||
+ | Required Background: General 4080 prerequisites, | ||
+ | |||
+ | Recommended Background: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies. | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===One key text entry=== | ||
+ | |||
+ | Supervisor: Scott MacKenzie | ||
+ | |||
+ | Required Background: General 4080 prerequisites, | ||
+ | |||
+ | Recommended Background: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===The Algorithmics Animation Workshop=== | ||
+ | |||
+ | Supervisor: Andy Mirzaian | ||
+ | |||
+ | Required background: General prerequisites | ||
+ | |||
+ | Recommended background: CSE 3101 | ||
+ | |||
+ | Description | ||
+ | |||
+ | The URL for Algorithmics Animation Workshop (AAW) is http:// | ||
+ | |||
+ | ---- | ||
+ | ===Selenium/ | ||
+ | |||
+ | Supervisor: Jonathan Ostroff | ||
+ | |||
+ | Required background: General prerequisites, | ||
+ | |||
+ | Recommended background: Knowledge of Javascript a plus | ||
+ | |||
+ | Description | ||
+ | |||
+ | The Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests of web applications. The Selenium IDE is a recording tool, or you may edit your scripts by hand. With autocomplete support and the ability to move commands around quickly, Selenium IDE is the nice environment for creating webtests no matter what style of tests you prefer. | ||
+ | |||
+ | Tests can be translated to Java (JUnit), C#, Python etc. It can be extended to any language that can make HTTP calls. | ||
+ | |||
+ | The goal of this project is (1) to translate Selenium tests into tests that can be run under Eiffel (e.g. via ESpec or AutoTest), and (2) to provide a complete Eiffel web application creation template (with embedded database such as sqlite) for creating and testing web applications. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===Automated Reasoning System for Quantified Propositional Logic=== | ||
+ | |||
+ | Supervisor: Zbigniew Stachniak | ||
+ | |||
+ | Required background: General prerequisites | ||
+ | |||
+ | Recommended background: Passion for programming and experimentation; | ||
+ | |||
+ | Description | ||
+ | |||
+ | Quantified Propositional Logics (QPL) plays an important role in a number of computer science disciplines from the theoretical computer science to knowledge representation and verification. There are also a number of open problems concerning this logic, and formulated more than 70 years ago, that can be finally solved (or at least approached) using automated reasoning techniques. The first step in such investigations has to be the design and implementation of a theorem prover, or automated reasoning system, for QPL. Such a system should, in principle, be able to determine whether or not a given formula of QPL is a theorem (or a tautology) in this logic. | ||
+ | |||
+ | The theorem prover for QPL is to be designed, implemented, | ||
+ | |||
+ | Background: Various variants of QPL have been formally formulated for the first time in the 1920s by a number of logicians and mathematicians. In modern computer science, QPL plays a significant role in theoretical computer science (proof complexity, satisfiability) as well as in verification and AI. | ||
+ | ---- | ||
+ | |||
+ | ===NABU Network Emulator=== | ||
+ | |||
+ | Supervisor: Zbigniew Stachniak | ||
+ | |||
+ | Required background: General prerequisites | ||
+ | |||
+ | Recommended background: Java (including 2D graphics); Some knowledge of PC hardware architecture; | ||
+ | |||
+ | Description | ||
+ | |||
+ | Have you ever considered writing your own emulator of an interesting system? There has been a substantial activity in building software emulators of historically significant computers, game consoles, and, recently, smart communication devices. As a result, there is at least one emulator of almost every significant system. This activity contributes, | ||
+ | |||
+ | Background : The NABU Network was designed and implemented by a Canadian company NABU Manufacturing between 1981 and 1983. The underlying idea behind the network was to link home personal computers to cable television networks which would supply a continuous, high speed stream of computer programs and information (at the rate of 6.5 Mbits per second) to almost an unlimited number of users. Cable television was a uniquely ideal technology for NABU to deliver software and data to home computers because of its high bandwidth and networking capabilities. After the official launch on Ottawa Cablevision in October of 1983, the NABU Network was introduced by Ottawa' | ||
+ | ---- | ||
+ |
projects.1452715531.txt.gz · Last modified: 2016/01/13 20:05 by stevenc