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 [2017/08/10 19:07] jenkinprojects [2017/09/01 21:02] (current) jenkin
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
 ====== Proposed Projects   ====== ====== Proposed Projects   ======
 +
 +====== Graphical User Interface for Power System Simulator ======
 +**Supervisor:** Afshin Rezaei
 +
 +The project is to develop a user-friendly Graphical User Interface (GUI) for a power system simulator program. Similar to all circuit simulation programs, the GUI should provide a library of the system components. These elements include not only the basic circuit elements such as resistor, capacitor, and inductor but also more complex equipment models such as transformers, generators, etc. The library elements can be dragged and dropped on the design page. The user would be also able to add new elements to the library. Each element has its own dialog box for entering the parameters which is displayed by double-clicking on that element. The elements will be connected by the user. The GUI should provide the common tasks for drawing, removing, grouping, and construction of a circuit. The GUI can write an output data file of the system element parameters and connections and call an available executable program to run. After, the GUI will display the simulation results.
 +
 +**Required background:** General CSE408x prerequisites, good programming skill, good knowledge of GUI design tools
 +
 +====== Development of a Standalone Power System Optimization Toolbox ======
 +**Supervisor:** Afshin Rezaei
 +
 +Finding the optimum system condition and maximum/minimum of analytical or numerical functions are of fundamental needs and widely used in various fields of Engineering. This project is to develop a standalone optimization toolbox based on Intel Visual FORTRAN for power system applications. FORTRAN language with its highly developed math library is a powerful tool to solve complicated mathematical problems. A group of such mathematical problems are those dealing with the optimization algorithms particularly the curve fitting and global optimization methods such as genetic algorithm. 
 +In this project, the developer is expected to explore Intel FORTRAN Math Kernel Library (MKL) and Intel Mathematics and Statistics Library (IMSL) and develop a program code in FORTRAN to call built-in functions and perform the requested optimizations specified by the user. Due to compatibility of the MS Visual Studio with both FORTRAN and C++, some parts of the code can also be developed in C++.  
 +
 +**Required background:** General CSE408x prerequisites, good programming skill, good math skill, good knowledge of Intel FORTRAN and C++
 +
 +
 +====== Palpation Task Trainer ======
 +
 +**Supervisors:** Petros Faloutsos (EECS) and Iris Epstein (School of Nursing)
 +
 +Palpation of head and neck region is an integral part of a complete physical health assessment performed by both physicians (e.g., physician assistant; family doctor; Ear Nose and throat specialist and surgeon) and Nurses (Nurse practitioners, registered nurses). During palpation practitioners use their sense of touch with knowledge of anatomy of the head and neck to feel, differentiate and characterize the masses within their anatomical landmark (e.g.,lymph nodes; fat; size; texture; movements). With increase prevalence of cancer in head and neck early detection and appropriate referral and treatments are paramount. In 2016, George Brown College Capstone Engineering program together with the help of the nursing lab simulation specialist constructed a head and neck normal task trainer (prototype 1) with 32 touch sensors (see image bellow). During a multidiscipline conference in May 2017 we tested the task trainer with over 47 experts’ practitioners (Doctors and Nurses). Two important themes emerged from the survey. First, the need to render the task trainer more realistic (e.g., the touch of the skin and bonny structure). The second, focus on making the task trainer more interactive. The purpose of this project is to create a second prototype with an interactive gaming capabilities during a head to neck palpation.  Perhaps creating an algorithm gaming from simple to complex palpation assessment skills (e.g., to create a game around not only palpating to locate the mass but also to characterizing it.). Possible directions:
 +1. Head to neck anatomical structure - Making the task trainer more "real" with anatomical / bone/ cartilage/ glands structures. 
 +2. Head and neck skin - Because we are focusing on palpation touching the skin and making the skin respond to touch is important. 
 +3. Head to neck engaging and interactive - Several health care providers perform palpation. In fact there is a hierarchy among them (nurse vs doctor; family doctor vs Ear Nose and throat). Creating some kind of interactive game to find and characterize the gland with multidiscipline.
 +
 +**Required Background:** Standard prerequisites,some knowledge of C++. 
 +
 +**Other experience:** Knowledge of computer graphics (e.g. EECS3431)  and  familiarity with programming computer games would be useful for the gaming aspect, while familiarity with making and 3D printing  might be useful for developing the prototype system.
 +
 +**Resources and readings:** Here are two links to articles we published. The reference list has more resources
 +http://www.ijocs.org/clinical-journal/head-to-neck-task-trainer-to-teach-palpation-skills-back-to-basic-12036.html
 +http://www.sciedu.ca/journal/index.php/jnep/article/view/11461
 +
 +
 +====== Custom Camera App using the Andriod Camera 2 API ======
 +
 +
 +**Supervisor:** Michael S. Brown
 +
 +Cameras have a number of processing steps that convert the incoming sensor image to the final sRGB-JPEG image.  These steps are collectively referred to as the "camera processing pipeline" The camera processing pipeline has traditionally been fixed in a camera's onboard hardware. This made changing it difficult to develop a custom camera application. The new Camera 2 API for Android, however, allows developers significant more control over the entire imaging pipeline.
 +
 +The primary goal of this project is to develop custom camera applications that manipulate individual components of the imaging pipeline (e.g., custom white-balance, custom colour mapping, custom tone-manipulation, etc.).   These applications will all be built on top of the Camera 2 API for Android phones.
 +
 +**Required Background:** General EECS 408x prerequisites, knowledgeable with photography, experience with Java programming for Android platforms.
 +
  
 ====== Ultrasound simulation/trainer ====== ====== Ultrasound simulation/trainer ======
Line 164: Line 210:
  
 The Hudak Lab in the Biology Department has an opening for a fourth-year Honours student to assist with a bioinformatics project. We study the pokeweed plant, Phytolacca americana, which displays broad-spectrum virus resistance. To evaluate pokeweed gene expression, we recently sequenced the plant’s mRNA and small RNA transcriptomes under jasmonic acid (JA) treatment. JA is a plant hormone that mediates defence against pathogens and insect herbivores. We are interested in learning how pokeweed gene expression is regulated by miRNAs during biotic stress. Please note: no previous knowledge of biology is required. The Hudak Lab in the Biology Department has an opening for a fourth-year Honours student to assist with a bioinformatics project. We study the pokeweed plant, Phytolacca americana, which displays broad-spectrum virus resistance. To evaluate pokeweed gene expression, we recently sequenced the plant’s mRNA and small RNA transcriptomes under jasmonic acid (JA) treatment. JA is a plant hormone that mediates defence against pathogens and insect herbivores. We are interested in learning how pokeweed gene expression is regulated by miRNAs during biotic stress. Please note: no previous knowledge of biology is required.
- 
-Working with the support of a PhD student, your project will involve: 
- 
-1) Prediction of micro RNA (miRNA) targets on the basis of complementary sequence matches 
- 
-2) Correlation of miRNA and mRNA expression changes to identify genes that are regulated by miRNAs 
- 
-3) Conducting pathway analysis to determine which biological processes are controlled by miRNAs 
- 
-4) Construction of a miRNA/target interaction network to visualize predictions This work will contribute to a scientific manuscript on miRNA-mediated gene regulation in pokeweed during response to JA. 
- 
-Requirements: 
- 
-1) Pre-requisites as per EECS Calendar 
- 
-2) Facility with script-writing/modification (in Perl or Python) 
- 
-3) Preference for students with knowledge of statistics and familiarity with R programming 
- 
-4) Able to begin in September 2015 
- 
-Learning outcomes: 
- 
-1) Manipulate and analyze quantitative biological data 
- 
-2) Develop and test hypotheses by modifying existing software and writing new script 
- 
-3) Manage a CentOS computer server to store and facilitate ongoing research 
- 
-No knowledge of biology is required. 
  
 For more information, please see: Hudak Lab website- http://hudak.lab.yorku.ca/ For more information, please see: Hudak Lab website- http://hudak.lab.yorku.ca/
Line 201: Line 217:
 miRNAs- http://en.wikipedia.org/wiki/MicroRNA miRNAs- http://en.wikipedia.org/wiki/MicroRNA
  
 +Working with the support of a PhD student, your project will involve:
  
-Dynamic Interface Detection and Control Project+  - Prediction of micro RNA (miRNA) targets on the basis of complementary sequence matches 
 +  - Correlation of miRNA and mRNA expression changes to identify genes that are regulated by miRNAs 
 +  - Conducting pathway analysis to determine which biological processes are controlled by miRNAs 
 +  - Construction of a miRNA/target interaction network to visualize predictions This work will contribute to a scientific manuscript on miRNA-mediated gene regulation in pokeweed during response to JA.
  
-Supervisor: Michael Jenkin 
  
-Contrary to most industries, fine chemical manufacturing is dominated by batch production methodsIncreasing economic, environmental and safety pressures are motivating a turn towards continuous synthesis. Rather than making products in one big flask, continuous synthesis involves performing chemical reactions by flowing reagents through a tubeWorking in this way provides more control over the reaction parameters leading to increases in product quality, and process efficiency and safety. The flow chemistry industry for fine chemical production is a relatively new but burgeoning field with a projected market capacity of billions of dollars by 2018.+**Requirements:** Pre-requisites as per EECS CalendarFacility with script-writing/modification (in Perl or Python)Preference for students with knowledge of statistics and familiarity with R programming.
  
-Extraction of the reaction mixture for purification and/or further processing is an important step in chemical manufacturing. This is a relatively straightforward operation in batch production, but offers several challenges for flowing processes. In order to facilitate continuous liquid extraction we require a sophisticated control system. This project involves designing, constructing and evaluating a pertinent practical problem in the field. 
  
-A key step in the process takes place in a clear tube that is mounted vertically. The tube contains two fluids with a boundary between them. During the process material flows into and out of the tube from the top and the bottom. Chemical reactions take place within this tube and It is essential that the position of the boundary be monitored as its position in the tube is used to control the flow of materials into the tube.+====== DDoS Attack using Google-bots ======
  
-One way of solving this problem is to float a marker at the boundary between the two liquids and to monitor this boundary using a video camera. Although this approach solves the problem, it requires the introduction of a specific float within the tube. Can we build a system that monitors the boundary without resorting to the use of an artificial float? 
  
-Specific goals of the project include: +**Supervisor:** Natalija Vlajic
- +
-- Develop a computer vision system that can detect and monitor the interface between two miscible fluids of different density. +
- +
-- Evaluate the performance of the system over a range of different (and typical) fluids +
- +
-- Explore the use of different illuminant/filter choices to simplify the task for specific fluid combinations. +
- +
-The successful candidate(s) will have the experience of working with a diverse group of scientists and engineers toward the design and implementation of an automated liquid extraction device with applications across many industries. Upon successful prototyping, you will be able to interact with professionals in high-throughput manufacturing and system integration. Based on project success, you may be invited to join the MACOS(TM) team for implementation and process validation, which may involve opportunities in graduate school. You will have the opportunity to interact with the broad audience of MACOS(TM) technology including governmental regulatory agencies and industrial partners. This project will give you a great opportunity to apply your engineering expertise and gain experience in process implementation and technology transfer. +
- +
-For further information please contact, +
- +
-Michael Jenkin (jenkin@cse.yorku.ca) or Michal Organ (organ@yorku.ca) +
- +
- +
-DDoS Attack using Google-bots +
- +
-Supervisor: Natalija Vlajic +
- +
-Recommended Background: CSE 3213 or CSE 3214, CSE 3482+
  
 Not long ago, botnets - networks of compromised computers - were seen as the most effective (if not the only) means of conducting Distributed Denial of Service (DDoS) attacks. However, with the growing popularity and prevalence of application-layer over other types of DDoS attacks, the DDoS execution landscape is becoming increasingly more diverse. An especially interesting new trend is the execution of application-layer DDoS attacks by means of skillfully manipulated Web-crawlers, such as Google-bots. The goal of this project is to design, implement and test a real-world framework consisting of the following: a) the attacker's web-accessible domain specially designed to attract Google-bots and then manipulate them into generating attack traffic towards the target/victim site; b) the victim's Web site set up in Amazon S3 cloud. In addition to the hands-on component, the project will also look into the statistical/numerical estimation of the framework's anticipated 'attack potential' relative to an actual (real-world) target/victim site. Not long ago, botnets - networks of compromised computers - were seen as the most effective (if not the only) means of conducting Distributed Denial of Service (DDoS) attacks. However, with the growing popularity and prevalence of application-layer over other types of DDoS attacks, the DDoS execution landscape is becoming increasingly more diverse. An especially interesting new trend is the execution of application-layer DDoS attacks by means of skillfully manipulated Web-crawlers, such as Google-bots. The goal of this project is to design, implement and test a real-world framework consisting of the following: a) the attacker's web-accessible domain specially designed to attract Google-bots and then manipulate them into generating attack traffic towards the target/victim site; b) the victim's Web site set up in Amazon S3 cloud. In addition to the hands-on component, the project will also look into the statistical/numerical estimation of the framework's anticipated 'attack potential' relative to an actual (real-world) target/victim site.
  
 +**Recommended Background**: EECS 3213 or EECS 3214, EECS 3482
  
-Attentive Sensing for Better Two-Way Communication in Remote Learning Environments 
  
-Supervisor: James Elder+====== Attentive Sensing for Better Two-Way Communication in Remote Learning Environments ======
  
-Required BackgroundGeneral CSE408x prerequisites, good programming skills, good math skills, knowledge of C and MATLAB programming languages+**Supervisor:** James Elder
  
 One of the challenges in remote learning is to allow students to communicate effectively with the lecturer. For example, when a student asks a question, communication will be more effective if the instructor has a zoomed view of the student’s face, so that s/he can interpret expressions etc. The goal of this project is to apply attentive sensing technology (www.elderlab.yorku.ca) to this problem. This technology is able to monitor a large environment such as a classroom and direct a high-resolution ‘attentive’ sensor to events of interest. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will: One of the challenges in remote learning is to allow students to communicate effectively with the lecturer. For example, when a student asks a question, communication will be more effective if the instructor has a zoomed view of the student’s face, so that s/he can interpret expressions etc. The goal of this project is to apply attentive sensing technology (www.elderlab.yorku.ca) to this problem. This technology is able to monitor a large environment such as a classroom and direct a high-resolution ‘attentive’ sensor to events of interest. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will:
Line 249: Line 247:
 Implement algorithms for detecting hand-raises based upon this investigation Implement algorithms for detecting hand-raises based upon this investigation
 Evaluate these algorithms in a real-classroom setting, using proprietary attentive sensing technology Evaluate these algorithms in a real-classroom setting, using proprietary attentive sensing technology
-Attentive Sensing for Sport Video Recording Markets 
  
-SupervisorJames Elder+**Required Background:** General CSE408x prerequisites, good programming skills, good math skills, knowledge of C and MATLAB programming languages 
 + 
 +====== Attentive Sensing for Sport Video Recording Markets ======
  
-Required BackgroundGood programming skills; Good math skills; Knowledge of C and MATLAB programming languages+**Supervisor**James Elder
  
-The goal of this project is to modify York University’s patented attentive sensor technology to the sport video recording market. Specific application domains under investigation include skiing, indoor BMX parks, and horse tracks. 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. Specific tasks include: 1. Ground-truth available datasets 2. Evaluate current attentive algorithms on these datasets 3. Modify these algorithms to improve performance on these datasets+The goal of this project is to modify York University’s patented attentive sensor technology to the sport video recording market. Specific application domains under investigation include skiing, indoor BMX parks, and horse tracks. 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. Specific tasks include: 1. Ground-truth available datasets 2. Evaluate current attentive algorithms on these datasets 3. Modify these algorithms to improve performance on these datasets.
  
 +**Required Background:** Good programming skills; Good math skills; Knowledge of C and MATLAB programming languages
  
-JPF in a Jar+====== JPF in a Jar ======
  
-Supervisor: Franck van Breugel+**Supervisor:** Franck van Breugel
  
-Description: JPF, which is short for Java PathFinder, is an open source tool that has been developed at NASA's Ames Research Center. The aim of JPF is to find bugs in Java code. Instead of using testing to find those bugs, JPF uses model checking. The facts that JPF is downloaded hundreds of times per month and that some of the key papers on JPF have been cited more than a thousand times reflect the popularity of JPF. In fact it is the most popular model checker for Java.+JPF, which is short for Java PathFinder, is an open source tool that has been developed at NASA's Ames Research Center. The aim of JPF is to find bugs in Java code. Instead of using testing to find those bugs, JPF uses model checking. The facts that JPF is downloaded hundreds of times per month and that some of the key papers on JPF have been cited more than a thousand times reflect the popularity of JPF. In fact it is the most popular model checker for Java.
  
 A study done by Cambridge University in 2014 found that the global cost of debugging code has risen to $312 billion annually. Furthermore, on average software developers spend 50% of their programming time with finding and fixing bugs. As a consequence, advocating the use tools, such as JPF, may have significant impact. A study done by Cambridge University in 2014 found that the global cost of debugging code has risen to $312 billion annually. Furthermore, on average software developers spend 50% of their programming time with finding and fixing bugs. As a consequence, advocating the use tools, such as JPF, may have significant impact.
Line 272: Line 272:
 In this project you may collaborate with graduate students of the DisCoVeri group (discoveri.eecs.yorku.ca) and computer scientists of NASA. For more information, feel free to send email to franck@cse.yorku.ca. In this project you may collaborate with graduate students of the DisCoVeri group (discoveri.eecs.yorku.ca) and computer scientists of NASA. For more information, feel free to send email to franck@cse.yorku.ca.
  
-Required Background: General CSE408x prerequisites +**Required Background:** General CSE408x prerequisites 
  
 +====== Model-based Design and Development of Embedded Systems with Code Generation Tools ======
  
-Model-based Design and Development of Embedded Systems with Code Generation Tools +**Supervisor:** Jia Xu
- +
-Supervisor: Jia Xu +
- +
-Required Background: At least a B+ in Embedded Systems (CSE3215), MATLAB, C programming skills, solid experience in using a microcontroller such as Arduino. +
- +
-Project Description:+
  
 Model-based design with code generation tools can be used for simulation, rapid prototyping, and hardware-in-the-loop testing of embedded systems. This project explores model-based design and development of embedded systems on various hardware platforms with code generation tools. The selected student will develop and test embedded systems using model-based design and code generation tools such as MathWorks MATLAB /Simulink Coder. Model-based design with code generation tools can be used for simulation, rapid prototyping, and hardware-in-the-loop testing of embedded systems. This project explores model-based design and development of embedded systems on various hardware platforms with code generation tools. The selected student will develop and test embedded systems using model-based design and code generation tools such as MathWorks MATLAB /Simulink Coder.
  
 +**Required Background:** At least a B+ in Embedded Systems (EECS 3215), MATLAB, C programming skills, solid experience in using a microcontroller such as Arduino.
  
 +====== C2000 Concerto Microcontrollers ======
  
-C2000 Concerto Microcontrollers+**Supervisor:** Jia Xu
  
-Supervisor: Jia Xu 
  
-Required BackgroundAt least B+ in Embedded Systems (CSE3215), strong C programming skills, solid knowledge of microcontrollers+The C2000 Concerto family of microcontrollers combines two cores on a single-chip with on-chip low latency interprocessor communication between the two cores: a C28x 32-bit control core for real-time control with faster/more loops and small sampling window; and an ARM 32-bit Cortex-M3 host core for communications and general purpose. The selected student will evaluate the capabilities of the C2000 Concerto family of microcontrollers through testing and investigating open source software for real-time control applications that runs on C2000 Concerto Microcontrollers.
  
-DescriptionThe C2000 Concerto family of microcontrollers combines two cores on single-chip with on-chip low latency interprocessor communication between the two cores: a C28x 32-bit control core for real-time control with faster/more loops and small sampling window; and an ARM 32-bit Cortex-M3 host core for communications and general purpose. The selected student will evaluate the capabilities of the C2000 Concerto family of microcontrollers through testing and investigating open source software for real-time control applications that runs on C2000 Concerto Microcontrollers.+**Required Background:** At least B+ in Embedded Systems (EECS3215), strong C programming skills, solid knowledge of microcontrollers
  
 +====== Real-Time Bidding Platform ======
  
  
-Real-Time Bidding Platform +**Supervisor:** Jia Xu
- +
-Supervisor: Jia Xu +
- +
-Required Background: At least a B+ in Operating System Fundamentals (CSE3221), strong Ubuntu/Linux, C++ programming, GCC, TCP/IP skills+
  
 Description: Real-time bidding (RTB) is a new method of selling and buying online display advertising in real-time one ad impression at a time. Once a bid request has been sent out, all bids must be received within a strict deadline - generally under 100 milliseconds, including network latency. This project explores RTBkit, an open source SDK allowing developers to create customized real time ad bidding systems (for Media Buyers/Bidders). Description: Real-time bidding (RTB) is a new method of selling and buying online display advertising in real-time one ad impression at a time. Once a bid request has been sent out, all bids must be received within a strict deadline - generally under 100 milliseconds, including network latency. This project explores RTBkit, an open source SDK allowing developers to create customized real time ad bidding systems (for Media Buyers/Bidders).
  
 +**Required Background:** At least a B+ in Operating System Fundamentals (EECS3221), strong Ubuntu/Linux, C++ programming, GCC, TCP/IP skills
  
  
-Circuit and Board Design for a Pulsed Ground Penetrating Radar +====== Circuit and Board Design for a Pulsed Ground Penetrating Radar ======
- +
-Supervisor:Sebastian Magierowski +
- +
-Description: The project requires the construction of components for a ground penetrating radar. The students would have to design microwave boards for the high-frequency components of this unit, on both the transmitter and the receiver. On the transmitter side the board would take a 5-MHz input clock, run it through a series of off-the-shelf amplifiers and then through a shaping circuit that would convert the input into an outgoing series of pulses (still at 5-MHz repetition rate) less than 400-ps in duration each. The bandwidth of the signal is roughly 2-8 GHz and hence requires very careful board layout. The receiver would be a time-shifted sampler, used to sample the returning pulses in progressive periods. This radar circuit is ultimately intended to be positioned on a rover doing ground analysis. +
- +
-Required Background A background in undergraduate-level electronics is very important. Experience with board level implementations and knowledge of microstrip lines would be helpful, otherwise the basics would have to be picked up during the project.+
  
  
 +**Supervisor:** Sebastian Magierowski
  
 +The project requires the construction of components for a ground penetrating radar. The students would have to design microwave boards for the high-frequency components of this unit, on both the transmitter and the receiver. On the transmitter side the board would take a 5-MHz input clock, run it through a series of off-the-shelf amplifiers and then through a shaping circuit that would convert the input into an outgoing series of pulses (still at 5-MHz repetition rate) less than 400-ps in duration each. The bandwidth of the signal is roughly 2-8 GHz and hence requires very careful board layout. The receiver would be a time-shifted sampler, used to sample the returning pulses in progressive periods. This radar circuit is ultimately intended to be positioned on a rover doing ground analysis.
  
 +**Required Background:** A background in undergraduate-level electronics is very important. Experience with board level implementations and knowledge of microstrip lines would be helpful, otherwise the basics would have to be picked up during the project.
  
  
-Proposed Projects from Previous Years 
  
-Tilt Target Selection on Touchscreen Phones+====== Tilt Target Selection on Touchscreen Phones ======
  
-Supervisor: Scott MacKenzie 
  
-Required BackgroundGeneral 4080 prerequisites, CSE3461, and (preferably) CSE4441. Interest in user interfaces and human-computer interaction (HCI). Students can use their own Android phone for the project or one supplied by the course supervisor.+**Supervisor:** Scott MacKenzie
  
 Touchscreen mobile devices commonly use a built-in accelerometer to sense movement or tilting actions of the device. Tilt is commonly used the change the orientation of the display between portrait and landscape. Gaming is another common use for tilting actions. However, tilt may also be used for target selection, as a replacement for touch. This research project will evaluate tilt as an input primitive for target selection on touchscreen mobile devices. Touchscreen mobile devices commonly use a built-in accelerometer to sense movement or tilting actions of the device. Tilt is commonly used the change the orientation of the display between portrait and landscape. Gaming is another common use for tilting actions. However, tilt may also be used for target selection, as a replacement for touch. This research project will evaluate tilt as an input primitive for target selection on touchscreen mobile devices.
Line 332: Line 321:
 Readings: MacKenzie, I. S., & Teather, R. J. (2012). FittsTilt: The application of Fitts’ law to tilt-based interaction. Proceedings of the Seventh Nordic Conference on Human-Computer Interaction – NordiCHI 2012, pp. 568-577. New York: ACM. Readings: MacKenzie, I. S., & Teather, R. J. (2012). FittsTilt: The application of Fitts’ law to tilt-based interaction. Proceedings of the Seventh Nordic Conference on Human-Computer Interaction – NordiCHI 2012, pp. 568-577. New York: ACM.
  
-Attentive Sensing for Better Two-Way Communication in Remote Learning Environments+**Required Background:** General 4080 prerequisites, EECS 3461, and (preferably) EECS 4441. Interest in user interfaces and human-computer interaction (HCI). Students can use their own Android phone for the project or one supplied by the course supervisor.
  
-Supervisor: James Elder+====== Attentive Sensing for Better Two-Way Communication in Remote Learning Environments ======
  
-Required BackgroundGeneral CSE408x prerequisites, good programming skills, good math skills, knowledge of C and MATLAB programming languages+**Supervisor:** James Elder
  
 One of the challenges in remote learning is to allow students to communicate effectively with the lecturer. For example, when a student asks a question, communication will be more effective if the instructor has a zoomed view of the student’s face, so that s/he can interpret expressions etc. The goal of this project is to apply attentive sensing technology (www.elderlab.yorku.ca) to this problem. This technology is able to monitor a large environment such as a classroom and direct a high-resolution ‘attentive’ sensor to events of interest. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will: One of the challenges in remote learning is to allow students to communicate effectively with the lecturer. For example, when a student asks a question, communication will be more effective if the instructor has a zoomed view of the student’s face, so that s/he can interpret expressions etc. The goal of this project is to apply attentive sensing technology (www.elderlab.yorku.ca) to this problem. This technology is able to monitor a large environment such as a classroom and direct a high-resolution ‘attentive’ sensor to events of interest. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will:
Line 342: Line 331:
 Study the problem of detecting hand-raises in the preattentive sensor stream Study the problem of detecting hand-raises in the preattentive sensor stream
 Implement algorithms for detecting hand-raises based upon this investigation Implement algorithms for detecting hand-raises based upon this investigation
-Evaluate these algorithms in a real-classroom setting, using proprietary attentive sensing technology +Evaluate these algorithms in a real-classroom setting, using proprietary attentive sensing technology.
-Attentive Sensing for Sport Video Recording Markets+
  
-SupervisorJames Elder+**Required Background:** General CSE408x prerequisites, good programming skills, good math skills, knowledge of C and MATLAB programming languages
  
-Required Background: Good programming skills; Good math skills; Knowledge of C and MATLAB programming languages+====== Attentive Sensing for Sport Video Recording Markets ======
  
-The goal of this project is to modify York University’s patented attentive sensor technology to the sport video recording market. Specific application domains under investigation include skiing, indoor BMX parks, and horse tracks. 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. Specific tasks include: 1. Ground-truth available datasets 2. Evaluate current attentive algorithms on these datasets 3. Modify these algorithms to improve performance on these datasets 
  
-Continuation of a Path Diagram to Syntax Application+**Supervisor**: James Elder
  
-Supervisor: Jeff Edmonds+The goal of this project is to modify York University’s patented attentive sensor technology to the sport video recording market. Specific application domains under investigation include skiing, indoor BMX parks, and horse tracks. 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. Specific tasks include: 1. Ground-truth available datasets 2. Evaluate current attentive algorithms on these datasets 3. Modify these algorithms to improve performance on these datasets. 
 + 
 +**Required Background:** Good programming skills; Good math skills; Knowledge of C and MATLAB programming languages. 
 + 
 +====== Continuation of a Path Diagram to Syntax Application ====== 
 + 
 + 
 +**Supervisor:** Jeff Edmonds
  
-Required Background: General CSE408x prerequisites 
  
-Recommended Background: Java software development 
  
 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. 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.
Line 365: Line 357:
 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. 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 here.+**Required Background**: General EECS 408x prerequisites
  
-Enabling SaaS access to an experimental AI planner+**Recommended Background:** Java software development
  
-Supervisor: Sotirios Liaskos (liaskos at yorku dot ca) 
  
-Required Background: Good knowledge of Unix tools / Python, Perl or Awk. Comfort with algorithms and programming. Essential: 2031 – Software Tools. Desired: 3402 – Functional & Logic Programming, 3101 – Design and Analysis of Algorithms, 4302 – Compilers and Interpreters.+====== Enabling SaaS access to an experimental AI planner ======
  
-Description: This project involves enriching and integrating a set of fairly complex scripts, which are components of an Artificial Intelligence (AI) planner, and exporting them to the public in a Software-as-a-Service (SaaS) fashion.+**Supervisor:** Sotirios Liaskos  
 + 
 +This project involves enriching and integrating a set of fairly complex scripts, which are components of an Artificial Intelligence (AI) planner, and exporting them to the public in a Software-as-a-Service (SaaS) fashion.
  
 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. 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 (“servicizing”). +**Required Background:** Good knowledge of Unix tools / Python, Perl or Awk. Comfort with algorithms and programmingEssential: 2031 – Software Tools. Desired: 3402 – Functional & Logic Programming, 3101 – Design and Analysis of Algorithms, 4302 – Compilers and Interpreters.
-Study a state-of-the-art AI planner and understand its workings. +
-Exercise scripting skills. +
-Predicting Angular Error in Rigid Registration+
  
-Supervisor: Burton Ma 
  
-Description: Registration is a fundamental step in image-based surgical 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; the student will use a combination of simulated and actual registration data for testing purposes.+====== Predicting Angular Error in Rigid Registration ======
  
-Calibration of a Tracked Pointer 
  
-Supervisor: Burton Ma+**Supervisor:** Burton Ma
  
-Description: Tracked pointers are the most common tools used in surgical navigation systemsA 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 stationarythen 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, the 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.+Registration is a fundamental step in image-based surgical navigation. Several (seemingly) different approaches for predicting distance errors in registration are knownbut for some surgical procedures, the angular error in registration is more important. This project will validate an approach for predicting angular error in registration; the student will use a combination of simulated and actual registration data for testing purposes.
  
-A privacy safeguard framework for sharing photos on Facebook+====== Calibration of a Tracked Pointer ======
  
-Supervisor: Uyen Trang Nguyen+**Supervisor:** Burton Ma
  
-Description: One of the major privacy concerns in Online Social Networks is photo sharing. A user may post his/her friends’ photos without their consentThe friends have no control over the user’s Facebook activities, namely photo sharingIn this projectwe design and implement third-party Facebook application that allows people to protect their identities in photos uploaded by another user without their consent.+Description: Tracked pointers are the most common tools used in surgical navigation systems. A typical pointer has a tracked target on one end and a sharp or ball tip on the other endFinding the location of the tip relative to the target is a calibration problemOne solution to the calibration problem involves pivoting the pointer about the tip while tracking the target; if the tip is kept stationarythen the target moves on the surface of sphere. Fitting the tracking data to the surface of a sphere yields the location of the tip as the sphere center. Unfortunately, the 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.
  
-Required prerequisite background: Proficiency in programming, especially in Java and Web application programming.+====== A privacy safeguard framework for sharing photos on Facebook ======
  
-Desired prerequisiteKnowledge of image processing, Facebook API, JavaScript Object Notation (JSON)+**Supervisor:** Uyen Trang Nguyen
  
-Simulation for Forest Fire Detection+One of the major privacy concerns in Online Social Networks is photo sharing. A user may post his/her friends’ photos without their consent. The friends have no control over the user’s Facebook activities, namely photo sharing. In this project, we design and implement a third-party Facebook application that allows people to protect their identities in photos uploaded by another user without their consent.
  
-SupervisorRob Allison+**Required prerequisite background:** Proficiency in programming, especially in Java and Web application programming.
  
-Required BackgroundGeneral CSE408x prerequisites+**Desired prerequisite:** Knowledge of image processing, Facebook API, JavaScript Object Notation (JSON)
  
-Recommended Background: CSE3431 or CSE4471 or equivalent+====== Simulation for Forest Fire Detection ======
  
-Description+**Supervisor:** Rob Allison
  
 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. 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 
  
-SupervisorRob Allison+**Required Background:** General EECS408x prerequisites
  
-Required Background: General CSE408x prerequisites+**Recommended Background:** EECS3431 or EECS4471 or equivalent
  
-Recommended Background: CSE3431 or CSE4471 or equivalent+====== Study of self-motion perception in microgravity ======
  
-Description+ 
 +**Supervisor:** Rob Allison
  
 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. 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+**Required Background:** General EECS408x prerequisites
  
-SupervisorRob Allison+**Recommended Background:** EECS3431 or EECS4471 or equivalent
  
-Required Background: General CSE408x prerequisites+====== Stereoscopic cinema calculator ======
  
-Recommended BackgroundCSE3431 or CSE4471 or equivalent +**Supervisor:** Rob Allison
- +
-Description+
  
 Directors of three-dimensional movies sometimes use 'stereo calculators' to compute the simulated depth of objects in the film show to the viewer in order to maximize the stereoscopic effects and maintain comfortable viewing. However current calculators have limited ability to visualize the results of the calculations. This project will combine stereo calculations with visualization software to assist the director in artistic and technical decisions. Directors of three-dimensional movies sometimes use 'stereo calculators' to compute the simulated depth of objects in the film show to the viewer in order to maximize the stereoscopic effects and maintain comfortable viewing. However current calculators have limited ability to visualize the results of the calculations. This project will combine stereo calculations with visualization software to assist the director in artistic and technical decisions.
  
-Computer pointing devices and the speed-accuracy tradeoff+**Required Background:** General EECS408x prerequisites
  
-SupervisorScott MacKenzie+**Recommended Background:** EECS3431 or EECS4471 or equivalent
  
-Required Background: General 4080 prerequisites, CSE3461, and (preferably) CSE4441+====== Computer pointing devices and the speed-accuracy tradeoff ======
  
-Recommended BackgroundInterest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies.+**Supervisor:** Scott MacKenzie
  
-One key text entry+**Required Background:** General 4080 prerequisites, EECS3461, and (preferably) EECS4441
  
-SupervisorScott MacKenzie+**Recommended Background:** Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies.
  
-Required Background: General 4080 prerequisites, CSE3461, and (preferably) CSE4441+====== One key text entry ======
  
-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:** Scott MacKenzie
  
-SupervisorAndy Mirzaian+**Required Background:** General 4080 prerequisites, EECS3461, and (preferably) EECS4441
  
-Required backgroundGeneral prerequisites+Recommended BackgroundInterest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies.
  
-Recommended background: CSE 3101+====== The Algorithmics Animation Workshop ======
  
-Description+ 
 +**Supervisor:** Andy Mirzaian
  
 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, 6111. This is an open ended project in the sense that more animations can be added to this site over time. 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, 6111. This is an open ended project in the sense that more animations can be added to this site over time.
  
-Automated Reasoning System for Quantified Propositional Logic+**Required background:** General prerequisites
  
-SupervisorZbigniew Stachniak+**Recommended background:** EECS 3101
  
-Required background: General prerequisites 
  
-Recommended background: Passion for programming and experimentation; Some knowledge of propositional and predicate logic+====== Automated Reasoning System for Quantified Propositional Logic ======
  
-Description+ 
 +**Supervisor:** Zbigniew Stachniak
  
 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. 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.
Line 484: Line 469:
 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. 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+**Required background:** General prerequisites
  
-SupervisorZbigniew Stachniak+**Recommended background:** Passion for programming and experimentation; Some knowledge of propositional and predicate logic
  
-Required background: General prerequisites+====== NABU Network Emulator ======
  
-Recommended backgroundJava (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset. +**Supervisor:** Zbigniew Stachniak
- +
-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. 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 here. 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 here.
 +
 +**Required background:** General prerequisites
 +
 +**Recommended background:** Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset.
projects.1502392059.txt.gz · Last modified: 2017/08/10 19:07 by jenkin