User Tools

Site Tools


projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects [2010/04/26 14:37] bilprojects [2010/12/10 14:54] (current) bil
Line 42: Line 42:
  
  
-====== Web-based digital signage ====== 
- 
-**Supervisor**: John Amanatides 
- 
-**Required background**: General prerequisites 
- 
-**Recommended background**: CSE 3221, CSE 3214 
- 
-__Description__ 
- 
-Digital signs are increasingly used in many modern buildings to direct people to appropriate rooms for meetings, services, etc. Unfortunately, "programming" them is non-trivial, especially for non-technical people such as administrative staff. The goal of this project is to make using digital signs much easier for such people. 
- 
-One way to do this is to utilize what administrative staff are really good at: dealing with calendars. By assigning calendars to individual rooms/organizations/events, and having the digital signage software interpret this calendar data to display the day's events, an easier-to-use signage system can be developed. 
- 
-More specifically, the deliverables of this project include a digital signage system for Bethune College. Some of the technologies that you will be expected to learn/use include Javascript, JQuery, HTML, CSS, and ical/CalDAV. We expect to go open source with this software so that others can use it as well. The deliverables will also include an analysis of what it takes to scale this type of signage campus wide, including provisions for campus alerts/emergency announcements. 
  
  
Line 102: Line 87:
    
  
-====== Low-Cost Three-Dimensional Face Scanning System ====== 
  
-**Supervisor**:  James Elder 
  
-**Requirements**:  Interest in both hardware and software design at the systems level.  
  
-__Description__ 
  
-Low-cost three-dimensional face-scanning systems have a large range of potential applications in security and retail markets.  Our laboratory at York University has recently developed a prototype face-scanning system that has the potential for very low-cost mass production.  This project involves the development of a second-stage prototype that is one-step closer to commercialization.+====== Computer pointing devices and the speed-accuracy tradeoff ======
  
-The project will involve systems design and development of a specialized real-time 3D face scanner.  A combination of hardware and software design will be required.  The student will work closely with graduate students and postdoctoral fellows at York University, as well as researchers at other institutions involved in the project.  The student will develop skills in both hardware and software design, as well as computer-vision techniques. 
  
-For more information on the laboratory[[http://www.elderlab.yorku.ca]]+**Supervisor**Scott MacKenzie
  
-    +**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441
  
 +**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies.
  
 +Please click [[http://www.cse.yorku.ca/~mack/4080/ComputerPointingDevices.pdf|here]] for full description.
  
  
 +====== One key text entry ======
  
  
 +**Supervisor**: Scott MacKenzie
  
 +**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441
  
-====== Estimating Registration Error ======+**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies.
  
 +Please click [[http://www.cse.yorku.ca/~mack/4080/OneKeyTextEntry.pdf|here]] for full description.
  
-**Supervisor**: Burton Ma+ 
 +====== The Algorithmics Animation Workshop ====== 
 + 
 + 
 +**Supervisor**: Andy Mirzaian
  
 **Required background**: General prerequisites **Required background**: General prerequisites
  
-**Recommended background**: N/A+**Recommended background**: CSE 3101
  
 __Description__ __Description__
  
-A fundamental step in computer-assisted surgery is registration where the anatomy of the patient is matched to an image or model of the anatomy. For some types of orthopaedic procedures, registration is performed by digitizing the locations of points on the surface of a bone and matching the point locations to the surface of a model of the boneHere, a surgeon uses a pointer that is tracked using an optical tracking system to measure registration point locations on a patient. A registration algorithm is used to compute the transformation that best matches the points to a model of the anatomy.+The URL for Algorithmics Animation Workshop (AAW) is [[http://www.cs.yorku.ca/~aaw]].  The main purpose of AAW is to be a pedagogical tool by providing animation of important algorithms and data structures in computer science, especially those studied in courses CSE 3101, 4101, 5101, 6114, 6111This is an open ended project in the sense that more animations can be added to this site over time.
  
  
-Virtual navigational information (such as where to drill or cut the bone) can be provided to the surgeon after the registration transformation has been established. Here, a surgeon is using a tracked surgical drill to drill a hole along a pre-operatively defined path. Notice that the surgeon looks at the virtual navigational information instead of the patient when performing this task.+====== Selenium/Eiffel Web Test Driven Development ======
  
  
-Computer-assisted surgical navigation depends on having an accurate registration. If the estimated registration is inaccurate then the navigational information will also be inaccurate, which may lead to errors in the surgical procedure. It is of great interest to know the accuracy of the estimated registration.+**Supervisor**: Jonathan Ostroff
  
-Further details on the project can be found [[http://www.cse.yorku.ca/~burton/4080/4080.html|here]].+**Required background**General prerequisites, at least a B+ in CSE 3311
  
 +**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.
  
-====== Computer pointing devices and the speed-accuracy tradeoff ======+Tests can be translated to Java (JUnit), C#, Python etc. It can be extended to [[http://seleniumhq.org/about/platforms.html|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.
  
-**Supervisor**: Scott MacKenzie+====== Automated Reasoning System for Quantified Propositional Logic ======
  
-**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441 
  
-**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies.+**Supervisor**: Zbigniew Stachniak
  
-Please click [[http://www.cse.yorku.ca/~mack/4080/ComputerPointingDevices.pdf|here]] for full description.+**Required background**General prerequisites
  
 +**Recommended background**: Passion for programming and experimentation; Some knowledge of propositional and predicate logic 
  
-====== One key text entry ======+__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.
  
-**Supervisor**: Scott MacKenzie+The theorem prover for QPL is to be designed, implemented, and fully tested.
  
-**Required Background**General 4080 prerequisites, CSE3461, and (preferablyCSE4441+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, satisfiabilityas well as in verification and AI. 
  
-**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies. 
  
-Please click [[http://www.cse.yorku.ca/~mack/4080/OneKeyTextEntry.pdf|here]] for full description.+====== NABU Network Emulator ======
  
  
-====== The Algorithmics Animation Workshop ======+**Supervisor**: Zbigniew Stachniak
  
 +**Required background**: General prerequisites
  
-**Supervisor**: Andy Mirzaian+**Recommended background**: Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset. 
 + 
 +__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, in the first place, to the preservation and dissemination of significant hardware and software technologies. It also allows for cost-effective development of contemporary software and hardware. The project's objective is to design and implement an emulator of the NABU Network -- one of the earliest "proto-Internet" networks. The emulator is to be implemented in Java. 
 + 
 +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's Skyline Cablevision in 1984 and a year later in Sowa, Japan, via a collaboration between NABU and ASCII Corp. NABU Network subscribers could rent or buy a NABU PC and dedicated network adaptor, and use an ordinary television set as a display monitor. Once connected to the network, a user could choose from various application programs and services in categories including entertainment, information and guides, education, and professional programs. Dedicated NABU magazines, newsletters, programming guides, and user groups provided subscribers with supplementary information and support. To learn more, visit [[http://www.cse.yorku.ca/museum/research/NABU.htm|here]] .  
 + 
 +====== CPS/1 Emulator ====== 
 + 
 + 
 +**Supervisor**: Zbigniew Stachniak
  
 **Required background**: General prerequisites **Required background**: General prerequisites
  
-**Recommended background**: CSE 3101+**Recommended background**: Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset.
  
 __Description__ __Description__
  
-The URL for Algorithmics Animation Workshop (AAW) is [[http://www.cs.yorku.ca/~aaw]].  The main purpose of AAW is to be pedagogical tool by providing animation of important algorithms and data structures in computer scienceespecially those studied in courses CSE 31014101510161146111. This is an open ended project in the sense that more animations can be added to this site over time. +There has been substantial activity in building software emulators of historically significant computersgame consolesandrecentlysmart communication devices. As a resultthere is at least one emulator of almost every significant system. This activity contributes, in the first place, to the preservation and dissemination of significant hardware and software technologies. It also allows for cost-effective development of contemporary software and hardware. The project's objective is to design and implement an emulator of the CPS/1 computer -- one of the earliest commercially available microprocessor-powered computers
  
 +BACKGROUND: The CPS/1 computer was designed and built by a Canadian company Microsystems International Ltd between 1972 and 73. The computer was built around the first Canadian microprocessor--the MF7114--one of world's earliest microprocessors. Although none of the CPS/1 computers have survived, technical information about the CPS/1 has been preserved. This makes the design and implementation of an emulator possible. More information [[http://www.cse.yorku.ca/museum/collections/MIL/MIL.htm|here]]. 
  
 ====== Robotic tangible user interface for large tabletops ====== ====== Robotic tangible user interface for large tabletops ======
Line 207: Line 216:
  
  
-====== Different "snapping" techniques in drawing systems ======+====== Better Layout Mechanisms for User Interfaces Toolkits ======
  
  
 **Supervisor**: Wolfgang Stuerzlinger **Supervisor**: Wolfgang Stuerzlinger
- 
  
 **Required Background**: General CSE4080 prerequisites **Required Background**: General CSE4080 prerequisites
- 
-**Recommended Background**: CSE3461 
  
 __Description__ __Description__
  
-Many graphics programs implement snapping to facilitate drawingSnapping ensures that end-points of lines meetthat the endpoint of one line correctly "touches" another, that objects align side-to-side, etc. One problem of simple snapping techniques is that one cannot position objects arbitrarily close together - otherwise the snapping technique interferes. A novel snapping technique "Snap-and-Go" circumvents this problem by slowing the cursor over the line, instead of snapping it close to the line. The objective of this project is to implement several snapping techniques for two-dimensional drawing systems and then to perform an evaluation with small user study.+The layout mechanisms for many GUI toolkits are hard to understand and often difficult to useThis project investigates neweasy-to-understand layout mechanisms and evaluates an implementation of one of them in comparative user study. Platform: any modern GUI toolkit.
  
  
 +====== Predicting Visibility Obstructions for a 6DOF Tracker ======
  
-====== Simulation of a 6dof virtual reality tracker ====== 
  
 **Supervisor**: Wolfgang Stuerzlinger **Supervisor**: Wolfgang Stuerzlinger
  
-**Required Background**:  General CSE4080 prerequisites +**Required Background**: General CSE4080 prerequisites
- +
-**Recommended Background**: CSE3431 or equivalent+
  
 __Description__ __Description__
  
-Previous work by the supervisor resulted in a novel and highly accurate Virtual Reality tracking system that matches or exceeds the specifications of all competing systems. However, this system works only in 5 or 6-sided immersive display environment.+Previous work of the supervisor generated a novel and highly accurate Virtual Reality tracking system based on (eye-safe) laser diodes. The speed and accuracy of this system matches or exceeds the specification of all competing commercial systems. However, this system works only in 5 or 6-sided immersive display environment
 +Recent work has adapted the system to track successfully with as little as one large display wall and has also characterized the accuracy more comprehensively. 
 +The next step is to generalize the system to work in normal rooms, which may have lamps, shelves, etc. Here, visibility obstructions play a significant role and predicting these obstructions can be used to increase the tracking accuracy. This project will simulate a new method for visibility obstruction prediction to detect how big an increase in accuracy can be expected.
  
-This project is the first step towards an adaptation of the technology for more general environments. In particular we target normal rooms and immersive displays with less than 5 screens. The technical work involves adapting the simulation software for the previous device to simulate a new design, and iteratively optimizing that design based on the results obtained. 
  
-====== Programming Multi-Core GPUs with CUDA ====== 
  
-**Supervisor**: Franck van Breugel+====== Extensions to a 3D Modeling System ======
  
-**Required background**: General prerequisites 
  
-**Recommended background**: N/A+**Supervisor**: Wolfgang Stuerzlinger 
 + 
 +**Required Background**: General CSE4080 prerequisites
  
 __Description__ __Description__
  
-CUDA stands for "compute unified device architecture. It is an architecture to program multicore graphical processing units (GPUs for short) In the pastthese GPUs were only used for graphicsHoweverCUDA allows us to use these GPUs for other types of computation. Since today's GPUs have hundreds of cores, algorithms can be parallelized and, hence, run often much faster+[[http://www.k-3d.org|K-3D]] is a successful, open-source, 3D modeling system, that can even deal with million-polygon models in real-time. This project aims to improve the user interface for K-3D by adding several novel 3D manipulation techniquesWhile all the mentioned operations already exist in in K-3Dthe user interfaces are typically fairly inefficient and/or require significant learningDepending on the outcomethe results of each project may even be merged back into the K-3D distribution
- +Each of the following two items can be considered a separate project:
-The aim of this project is to get familiar with GPUs and to study how to program them. +
- +
-More details can be found at[[http://www.cse.yorku.ca/~franck/projects/cuda.html]] +
-(this link is only accessible from machines within the domain yorku.ca.)  +
  
 +  * Integration of an existing implementation of a 3D sliding technique, which greatly facilitates 3D object movement.
 +  * The ability to draw new "lines", rectangles, and other 2D constructs in a simple manner onto surfaces. This ability greatly simplifies many interesting operations, such as the creation of extrusions, holes, etc.
  
  
  
projects.1272292639.txt.gz · Last modified: 2010/04/26 14:37 by bil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki