projects
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects [2021/09/02 14:02] – aan | projects [2025/04/09 15:41] (current) – [2024-25] baljko | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | |||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | ====== Proposed Projects | + | ====== |
- | + | ||
- | Below is a list of 4080/ | + | |
- | + | ||
- | ====== | + | |
- | **Course:** EECS4080/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | **Project Description and Responsibilities: | + | |
- | The student(s) will be responsible for developing a web application. The primary focus will be the development of the user interface, web services, API and database interactions, | + | |
- | + | ||
- | **Responsibilities: | + | |
- | * Development of a modern web application with a responsible user interface, and a back-end responsible with processing user input and interacting with various API end points and database engines | + | |
- | * Building reusable code and libraries for future use | + | |
- | * Design and implementation of data storage solutions | + | |
- | * Collaborate with other team members | + | |
- | + | ||
- | ** Required Skills:* | + | |
- | * Good knowledge of a back-end programming language such as Python or Java EE | + | |
- | * Good understanding of front-end technologies and platforms, such as Javascript, HTML5, Angular or React | + | |
- | * Good knowledge of RESTFul web API concept and architecture | + | |
- | * Good knowledge of database concepts such as SQL and NoSQL | + | |
- | * Good knowledge of JSON or XML formats and libraries to produce them | + | |
- | * Some understanding of code versioning tools, such as Git | + | |
- | * Implementing automated testing platforms and unit tests | + | |
- | + | ||
- | ** Good to Have:** | + | |
- | * Understanding differences between multiple delivery platforms such as mobile vs desktop, and optimizing output to match the specific platform | + | |
- | * Understanding of secure coding practices, and latest web development standards | + | |
- | * Recommended education level: 3rd year undergraduate or higher in Computer Science or equivalent program | + | |
- | + | ||
- | **Notes: | + | |
- | * Email Prof. Uyen T. Nguyen (utn@eecs.yorku.ca) a copy of your resume listing courses, projects and prior experience relevant to the project. | + | |
- | * A student completing this project successfully may be hired (paid) as a research assistant after the course is over to continue the next step of the project. | + | |
- | + | ||
- | + | ||
- | ====== Building a Database of Dark Webpages ====== | + | |
- | **Course:** EECS4080/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | **Project Description and Responsibilities: | + | |
- | * Searching internet resources (google, reddit, dark web link archives, etc.) for links to dark websites of interest | + | |
- | * Grouping and categorizing web pages | + | |
- | * Developing graphs representing the data present on the found dark websites | + | |
- | * Assist in the development of a dark web crawler | + | |
- | * Assist in the development of information retrieval systems | + | |
- | + | ||
- | **Required Technical Skills:** | + | |
- | * Experience building programs in Python | + | |
- | * Good understanding of object-oriented design | + | |
- | * Experience with Windows and Linux environments | + | |
- | * Experience with Excel and/or a commonly used graph generation program | + | |
- | **Required Non-Technical Skills:** | + | |
- | * Strong teamwork skills | + | |
- | * High organizational skills | + | |
- | * Good time management skills (there will be weekly check-ins) | + | |
- | **Non-required Asset Skills:** | + | |
- | * Knowledge of information retrieval methods | + | |
- | **Notes: | + | |
- | * Email Prof. Uyen T. Nguyen (utn@eecs.yorku.ca) a copy of your resume listing courses, projects and prior experience relevant to the project. | + | |
- | * A student completing this project successfully may be hired (paid) as a research assistant after the course is over to continue the next step of the project. | + | |
- | + | ||
- | ====== Automation of Copyright Takedowns ====== | + | |
- | **Course:** EECS4070/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | COVID has accelerated the trend for delivering university courses online. This has been a boon to providing accessible learning modes to students. | + | |
- | + | ||
- | A copyright takedown process (e.g. DMCA) is in place on these commercial sites but it is cumbersome to use. The objective of this project is to semi-automate the take-down process in one of two ways: | + | |
- | + | ||
- | 1. Allow a copyright holder to identify a category of course material (e.g. a course name and number) a priori and engage a scheduled process which regularly scans a commercial site (e.g. Course Hero) and automatically submits takedowns on behalf of the copyright holder | + | |
- | + | ||
- | 2. Submit reports to the copyright holder when an identified category of course material is found on a commercial site (e.g. Course Hero) and asks the copyright holder whether a takedown request should be made on the holder' | + | |
- | + | ||
- | **Required skills:** General programming skills | + | |
- | + | ||
- | **Recommended skills:** Experience in Python (and perhaps Beautiful Soup) and/or Java and/or equivalent | + | |
- | + | ||
- | ====== Visualization of Course Maps at YorkU ====== | + | |
- | + | ||
- | **Course:** EECS4070/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Students at York have long been missing the ability to visualize the connections between courses when planning or reviewing their progress through their program. | + | |
- | + | ||
- | This is a continuation of an existing open-source project written in Python. | + | |
- | + | ||
- | 1. A visualization can be produced and displayed on the web | + | |
- | + | ||
- | 2. Corrections to the existing data set (the University' | + | |
- | + | ||
- | Students involved in the project will be required to maintain public-facing documentation. The result of this project will remain open source for further development by students, staff and faculty. | + | |
- | + | ||
- | **Required skills:** General programming skills | + | |
- | + | ||
- | **Recommended skills:** Experience in Python (and perhaps Beautiful Soup) and web-centric tools | + | |
- | + | ||
- | /* | + | |
- | ====== Characterizing, | + | |
- | **Course:** EECS4080 | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Today, machine learning and its applications has been integrated into every part of our society. With the development and evolution of information technologies such as smartphones, | + | |
- | + | ||
- | This project will first conduct an empirical study to analyze and summarize unique characteristics of software bugs collected from four typical ML frameworks (PyTorch, TensorFlow, CNTK, and Theano). Based on the findings from the empirical study, we will further propose actionable guidelines for designing and exploring new software bug detection approaches to find new bugs on machine learning frameworks and their applications. | + | |
- | + | ||
- | **Required skills:** General EECS4313 and EECS3311 prerequisites; | + | |
- | + | ||
- | **Recommended skills:** Solid programming skills with Python and Java. | + | |
- | + | ||
- | ====== Image Processing for Social Coding ====== | + | |
- | **Course:** EECS4088 (Capstone Project) | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Software developers are increasingly sharing images in social coding environments such as stack overflow, GitHub, Bugzilla, and Slack. This growth is parallel to the general growth of in visual interactions in general purpose online social networks like Instagram, Facebook, and Pinterest. Developers' | + | |
- | + | ||
- | (i) Forming and structuring a dataset of crowd labelled images for software related images, | + | |
- | + | ||
- | (ii) Mining content and objects within developers’ shared images, | + | |
- | + | ||
- | (iii) Automatic captioning the images to describe the content. | + | |
- | + | ||
- | **Required skills:** Good knowledge of Python, Good knowledge on Machine learning, Good knowledge of image processing, Ability to work independently, | + | |
- | + | ||
- | ====== Release Management for Mobile Apps ====== | + | |
- | **Course:** EECS4080 | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Release planning problem is addressing the question of what functionality should be included in any version and when that version should be released to different segments of users. Proper decision about the functionality of evolving software product releases is critical for the success or failure of a product. | + | |
- | + | ||
- | (i) Evaluating the applicability of four state of the art release management tools for mobile apps, | + | |
- | + | ||
- | (ii) Testing and enhancing the prototype tools for these four release management techniques. | + | |
- | + | ||
- | **Required skills:** Good knowledge of Python, Ability to manage Git and Jupiter Notebooks, Good knowledge on Machine learning, Ability to work independently, | + | |
- | + | ||
- | + | ||
- | ====== Estimating emotional state from a speech audio signal ====== | + | |
- | **Course:** EECS4080/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | When a robot interacts with a human it can be very helpful if the robot can estimate the emotional state of the person to whom it is talking. This estimation can be made in a number of ways, from the choice of words used, the visual cues obtained from a camera pointed at the person, and through an analysis if the speech signal obtained from a microphone listening to the speaker. This project is concerned with this last task. This project will apply modern recurrent neural networks, and in particular LSTM to the problem. The project will involve three major phases | + | |
- | + | ||
- | (i) Background work: Understanding the problem of estimating speech emotion from the audio signal and a review of approaches to date. Identifying and obtaining access to appropriate datasets for training and evaluations. | + | |
- | + | ||
- | (ii) Basic implementation: | + | |
- | + | ||
- | (iii) Integration with a social robot system (SENTRYNet) so that the robot can utilize this information in the development of dialog when interacting with speakers. | + | |
- | + | ||
- | **Required skills:** General EECS408x prerequisites. Good knowledge of Python. Ability to work independently. | + | |
- | + | ||
- | ====== Automatic classification of Eurasian Water-Milfoil from sonar and visual data ====== | + | |
- | **Course:** EECS4080/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Many lakes in Canada are infested with Eurasian Water-Milfoil (see Eurasian Water-Milfoil – Ontario' | + | |
- | + | ||
- | (i) Assist in data collection. For the first few weeks of term (before the weather changes) you will help in data acquisition, | + | |
- | + | ||
- | (ii) In consultation with domain experts, develop a model for infestation level and construct a Turk to apply this to a training dataset | + | |
- | + | ||
- | (iii) Develop a DNN to label the multi-modal dataset and evaluate it. | + | |
- | + | ||
- | **Required skills:** General EECS408x prerequisites. Good knowledge of Python. Ability to work independently. Ability to interact with subject matter experts. Willingness to participate in data collection sessions as scheduled in the early fall. | + | |
- | + | ||
- | ====== A framework for VR-based vestibular assessment tools ====== | + | |
- | **Course:** EECS4080/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Commodity VR is already being used as part of ongoing assessment of a range of different conditions, including vestibular damage and its treatment. This project involves the development of a software library (written in Unity) to provide VR-based tools to support vestibular treatment both at the clinic and remotely. This work will build upon an existing code base but will (i) refactor the software so as to be useful as a more general library, and (ii) support a wide range of assessment and rehabilitation tools. This work will involve interaction with an off-site partner in their physiotherapy office. The project will involve | + | |
- | + | ||
- | (i) review of VR-based vestibular assessment and treatment and the existing system and treatment/ | + | |
- | + | ||
- | (ii) Understanding the existing code base and development of library structure to ensure a more device-agnostic input system | + | |
- | + | ||
- | (iii) Development of a small number of treatment modules (2 or 3) to demonstrate the effectiveness of the tools/ | + | |
- | + | ||
- | **Required skills:** General EECS408x prerequisites. Good knowledge of C#. Ability to work independently. | + | |
- | + | ||
- | */ | + | |
- | + | ||
- | /* | + | |
- | **Recommended skills:** Good programming skills, good math skills, experience with Python | + | |
- | */ | + | |
- | + | ||
- | /* | + | |
- | ====== Serverless Computing Simulator ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | We are amid an evolutionary paradigm shift in cloud computing towards | + | |
- | serverless platforms. This change is due to several improvements over traditional cloud computing, like handling all the system administration operations, | + | |
- | improving resource utilization, | + | |
- | current implementations have not yet reached the full potentials of serverless | + | |
- | computing. Global research and efforts are required for improving the efficiency | + | |
- | and performance of the serverless computation far beyond the current state. In | + | |
- | [[https:// | + | |
- | + | ||
- | This project aims to address these shortcomings using analytical and datadriven methods to improve the performance, | + | |
- | serverless computing for all industries. The project will be conducted in two | + | |
- | phases. | + | |
- | - In the first phase, our goal is to build a serverless computing platform simulator which mimics the behaviour of public serverless computing offerings. The resulting simulator should produce a behavior similar to the trace of our experiments on Amazon AWS Lambda. | + | |
- | - In the second phase, we will be modifying and optimizing the operational management layer policies in the simulator in order to improve the resource utilization of the system and the Quality of Service (QoS) indicators such as response time and system availability. | + | |
- | + | ||
- | **Required skills:** General EECS408x prerequisites, | + | |
- | to learn about Cloud Computing, serverless computing in particular. | + | |
- | + | ||
- | **Recommended skills:** Good programming skills, good math skills, experience with Python | + | |
- | + | ||
- | ====== Blockchain-based Serverless Computing Platforms ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | As the latest paradigm in cloud computing, serverless computing or functionas-a-service (FaaS) has recently gained a lot of attention both in academia and | + | |
- | industry. In serverless computing, the developer delegates the infrastructure | + | |
- | management tasks to the provider. As a result, the developer can focus on | + | |
- | designing and implementing the application instead of spending time on the | + | |
- | management, operation, and maintenance of the infrastructure. | + | |
- | + | ||
- | Our research in PACS Lab1 has shown that personal computers have great | + | |
- | potential to be used as the underlying infrastructure for building green, economic, open and public serverless computing platforms. To do so, we leveraged | + | |
- | blockchain systems to introduce transparency in the computation as well as | + | |
- | the billing. This system has been proposed in a recently submitted paper in | + | |
- | which we also designed and implemented a preliminary prototype to show the | + | |
- | feasibility and validity. | + | |
- | + | ||
- | In this project, the student will be involved in research and development of | + | |
- | the prototype of the proposed platform so that it can be used by all targeted | + | |
- | stakeholders in real world. The project includes some degree of research, and | + | |
- | both backend and front-end development. | + | |
- | + | ||
- | **Required skills:** General EECS408x prerequisites; | + | |
- | having interest in cloud computing and blockchain. | + | |
- | + | ||
- | **Recommended skills:** Basic knowledge in Linux containers and microservice architecture, | + | |
- | + | ||
- | ====== The Platform for Modeling and Optimizing Serverless Applications ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | **Contact: | + | |
- | + | ||
- | Coupled with the development of lightweight virtualization, | + | |
- | + | ||
- | In PACS Lab, researchers have been working on addressing these urgent needs in the serverless computing area not yet addressed by industries and academics. This project is based on our published and submitted papers in which we give practical solutions to performance modeling and optimization problems for the serverless computing paradigm. | + | |
- | + | ||
- | This project will solve pain points for serverless application developers by providing an online ready-to-use platform for profiling, predicting, and optimizing serverless applications. The student will involve in developing a toolkit that integrates multiple APIs of major cloud service providers, automates the deployment, test, and performance profiling of serverless applications, | + | |
- | + | ||
- | **Required skills:** General EECS408x prerequisites; | + | |
- | + | ||
- | **Recommended skills:** | + | |
- | Experience with containers and serverless functions, solid programming skills. | + | |
- | + | ||
- | */ | + | |
- | + | ||
- | /* | + | |
- | ====== Heart and Voice Signal Processing For Sleep Apnea Detection ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | Sleep apnea is a neurological condition where the patient’s breathing is interrupted during sleep, which can lead to excessive daytime sleepiness, irritability, | + | |
- | + | ||
- | This project will be done in collaboration with a Toronto-based medical device company that is working on the development of a miniature wearable device for sleep monitoring and apnea detection. The project will be conducted in two phases. In the first phase, the goal is to study and evaluate the efficacy of using various sensory signal (i.e., biomarker) in sleep apnea detection. A short list of candidate biomarkers are selected as a result of literature review, and their importance in apnea detection is evaluated using pre-recorded labelled online datasets. In the second phase, a signal processing algorithm for sleep apnea detection is developed that uses the selected biomarkers from Phase I as its inputs. In addition to detection, the algorithm is intended to evaluate the episode’s severity, frequency, and patient-specific pattern. | + | |
- | + | ||
- | The collaborating company will develop the hardware that contains the biosensors identified by the students and will be responsible for firmware development to control and extract data from the sensors. The company will also develop a mobile app that displays the data obtained, and produces test units that can be used by real human testers. | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | + | ||
- | ====== Patient-specific epilepsy seizure detection using machine learning ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | Accurate detection of neurological disorders such as epilepsy seizures using brain signals requires algorithms that can adjust themselves from patient to patient and from time to time. Data-driven algorithms using machine learning provide us with such patient-specific tools that allow for processing the data recorded from the brain and decide whether or not it can be classified as an abnormal activity for a specific patient. | + | |
- | + | ||
- | This project is aimed at development and optimization of such a machine learning algorithm for early detection of epilepsy seizures. The student will use pre-recorded labeled data from an online standard dataset to train, cross-validate, | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | + | ||
- | ====== Mobile app development for interfacing with a brain implant ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | Our group of researchers in ICSL are working towards implementation of an implantable closed-loop microelectronic system-on-chip (SoC) for recording and processing of EEG signals to be able to detect and treat various neurological disorder patients. | + | |
- | + | ||
- | Online monitoring and control of brain signals is one of the key features that can help the clinician significantly. Currently an electrical engineer has to be on-site to setup the system and adjust it upon clinician’s request. Therefore, a simple GUI that can be operated by a non-engineer enables the clinician to control the process entirely. The project’s goal is to develop a mobile application that is capable of receiving signals and sending commands through a Bluetooth link. Also the app should be capable of displaying the recorded signal. | + | |
- | + | ||
- | The student is expected to have experience with mobile app development (iOS or Android). | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | + | ||
- | ====== Biometric access control ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | Biometrics as a means of access control has been previously studied and | + | |
- | found to be a popular choice for guaranteeing authentication and | + | |
- | authorization. This includes: iris, voice, face, fingerprint, | + | |
- | geometry recognition. Biometric features possess an if-and-only-if | + | |
- | relationship. ` | + | |
- | + | ||
- | This project investigates a solution that enables emergency medical | + | |
- | technicians to have simple and fast, remote and token-free, as well as | + | |
- | privacy-preserved and reliable access to patients’ medical information. The | + | |
- | idea is to provide the technicians with a mobile system including a | + | |
- | biometric reader device, through which they gain access to necessary | + | |
- | attributes of patients’ electronic health record using the patient’s | + | |
- | biometrics, such as fingerprint. Reliability is employed by exploiting the | + | |
- | uniqueness of a person’s fingerprint as a means of access control as well as | + | |
- | by precision of biometric reader devices, such as fingerprint scanners. | + | |
- | Privacy of patients is preserved by enforcing an arbitrary privacy policy. | + | |
- | In such system, the only required tokens are some biometric information; | + | |
- | patients need not to carry with them an additional token—such as a health | + | |
- | card, driving license, etc., to receive the service. | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | writing critiques, experience with embedded devices and programming. | + | |
- | + | ||
- | ====== Decentralized access control using ABAC and application plugins ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | This project aims at designing and developing software prototype that helps | + | |
- | to advance security of information and privacy of users in web | + | |
- | applications--with the means of decentralized administration. The project | + | |
- | focuses on data security and user privacy in popular application domains | + | |
- | such as health information systems and social media. The goal is to devise | + | |
- | and integrate comprehensive mechanisms towards decentralized | + | |
- | privacy-preserved administration models, with web-based and user-friendly | + | |
- | interfaces and implemented by application plug-ins. The methodology is to | + | |
- | first analyze the privacy risks that exist in current web applications such | + | |
- | as in social media applications. A role-based only approach to data privacy | + | |
- | is not sufficient because role-assignment must be managed centrally to be | + | |
- | efficiently implemented. Thus, the assignment of a role to a particular | + | |
- | object for a particular subject is administrated by the system so there is | + | |
- | no way for a user to assign access rights beyond those defined by some | + | |
- | central authority. If no matching role is defined a priori, the user is left | + | |
- | with the difficult task of (1) attempting to create a new role (leading to | + | |
- | role explosion); (2) being overly restrictive in selecting a “close” role | + | |
- | (reducing system utility and limiting access below what is actually needed); | + | |
- | or (3) selecting a role that is too general, leading to potential breaches | + | |
- | in security or privacy violations. Instead, the proposed approach lies in an | + | |
- | attribute-based solution in which users can create objects, modify the | + | |
- | content, and control the access. It is obvious that a minimal set of | + | |
- | application-dependent corporation policies, to which all users comply, is | + | |
- | needed to avoid anarchy. | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | writing critiques, experience with web developer tools and plugin | + | |
- | development. | + | |
- | + | ||
- | ====== Privacy preserving constructs for programming languages ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | Programming languages suffer from the lack of sufficient features that serve | + | |
- | privacy preservation and ensure data security in cyber spaces. Consequently, | + | |
- | many applications that have been developed by these languages are vulnerable | + | |
- | with respect to data security and/or user privacy. For instance, XML, a | + | |
- | popular underlying language for many web based applications, | + | |
- | enhancements onto its access control component, XACML, by adding features to | + | |
- | support privacy preservation. Developing extensions for data presentation | + | |
- | formats such as XML, XAML, JSON, etc. to make them more suitable for a | + | |
- | secure and trustworthy cyber space is an ongoing problem. Obviously, any | + | |
- | mechanism to define privacy policies in such documents needs to be supported | + | |
- | by the query languages too. One approach is to study XACML and XQuery and | + | |
- | investigate minimal modifications such that they support ad-hoc attributes | + | |
- | of privacy preservation. To measure feasibility and effectiveness of the | + | |
- | modifications, | + | |
- | and conduct experiments. | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | writing critiques in the areas related to SQL engine and data exchange | + | |
- | formats such as XML and JSON. | + | |
- | + | ||
- | ====== Building healthcare question answering systems ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | In this project, the prospective student(s) will get the opportunity to | + | |
- | build question answering systems for healthcare or education applications. | + | |
- | The project involves simpler and more complex tasks: data collection using | + | |
- | open source search engines, data annotation, building machine learning | + | |
- | models, evaluation of the built system, etc. The students will involve in | + | |
- | one or several tasks depending their interests and skills. | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | Python and Java) to interact with large datasets for experiments and | + | |
- | analyses. | + | |
- | + | ||
- | ====== Machine learning for real time access control ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | As artificial intelligence methods continue to improve, so do the | + | |
- | opportunities of their applications on different industries. Finance and | + | |
- | healthcare databases include sensitive data that certain people should | + | |
- | access in a certain time and location. For example, health information (such | + | |
- | vulnerability to certain diseases) are information that only a healthcare | + | |
- | practitioner should access in a given time and location. Consider when a | + | |
- | practitioner needs to access an attribute of a patient during a surgery, or | + | |
- | when an employee tries to access to a particular data remotely, or when | + | |
- | employees change their positions over time in a company. In these and many | + | |
- | situations, granting and revoking data access needs to be updated online and | + | |
- | real time. To this end, there is a demand for intelligent systems for online | + | |
- | and real time access control. In this project, the prospective students will | + | |
- | get the opportunity to apply machine learning techniques on access control | + | |
- | data to learn patterns of users accessing data and to automatically learn | + | |
- | access control rules. | + | |
- | + | ||
- | **Required skills:** General CSE408x prerequisites, | + | |
- | Python and Java), passion for reading and writing critiques in the area of | + | |
- | data security and machine learning. | + | |
- | + | ||
- | ====== Detecting and Visualizing anomalies in dynamic networks ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | In this project, the goal is to detect and visualize anomalies in dynamic graphs. Graphs are powerful tools to model networks and relationships between their entities. Many of the real-world graphs are dynamic in which nodes and edges are being added and deleted over time. Some of the dynamic network examples include social networks and computer networks. Anomalies are any deviation from the normal. For example, in a computer network, communications are normal over time until a single machine is attacked by a large number of other machines at a specific time point. We work on finding time points that an anomaly occurs and nodes, edges or subgraphs that are responsible for this anomalous behavior. This project focuses on finding and visualizing anomalies in a stream of graphs. The student will first use a visualization tool to visualize the network over time. This helps in better understanding the changes in the structure of the network. There are various visualization tools available to use for this purpose. In the second phase, the student will implement a graph anomaly detection method and combine it with the visualzation program so that the graph stream can be monitored through visualization and anomalies can be detected and illustrated in an online fashion. This project is a part of a collaborative project with IBM and the student will work closedly with a PhD student in the project. | + | |
- | + | ||
- | **Required skills:** Good programming skills in Python and Java. | + | |
- | + | ||
- | **Recommended skills:** Experience with visualization tools is very helpful, Interest in algorithms for graphs. | + | |
- | + | ||
- | ====== Graphical User Interface for Power System Simulator ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | 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, | + | |
- | + | ||
- | **Required background: | + | |
- | + | ||
- | ====== Development of a Standalone Power System Optimization Toolbox ====== | + | |
- | **Supervisor: | + | |
- | + | ||
- | Finding the optimum system condition and maximum/ | + | |
- | 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: | + | |
- | + | ||
- | + | ||
- | ====== Palpation Task Trainer ====== | + | |
- | + | ||
- | **Supervisors: | + | |
- | + | ||
- | 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, | + | |
- | 1. Head to neck anatomical structure - Making the task trainer more " | + | |
- | 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: | + | |
- | + | ||
- | **Other experience: | + | |
- | + | ||
- | **Resources and readings:** Here are two links to articles we published. The reference list has more resources | + | |
- | http:// | + | |
- | http:// | + | |
- | + | ||
- | + | ||
- | ====== Custom Camera App using the Andriod Camera 2 API ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Cameras have a number of processing steps that convert the incoming sensor image to the final sRGB-JPEG image. | + | |
- | + | ||
- | 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, | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Ultrasound simulation/ | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Trans-esophageal echocardiography (TEE) is the standard of care for most cardiac surgeries and interventional cardiology procedures. It uses a thin and flexible ultrasound probe that is inserted down the esophagus in position beside the heart, and the echocardiographer adjusts the position and orientation of the probe from outside. For new clinicians, learning how to adjust the probe into the correct location for various views of the heart can be quite challenging. | + | |
- | + | ||
- | The primary goal of this project is to develop an open source, inexpensive software simulation for training clinicians in the use of TEE ultrasound. Starting with a 3D-plus-time CT or MRI heart dataset, we will create simulated ultrasound images, and use a mouse to simulate the translation and rotation of the ultrasound probe. The software platform will render the simulated ultrasound, and provide the user with feedback on how well they can identify the standard TEE views. This project will involve a collaboration with clinicians in Toronto and London, Ontario. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ====== Data-driven conceptual modeling within on-line communities ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | The wealth of data to be obtained from online communities is already well acknowledged. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Proposed Project: Tangible Interactive Device Design and Evaluation, Assistive Technology ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | The objective of the ' | + | |
- | This 4080 project will investigate the design, fabrication, | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ====== Distributed leader election for simple robots ====== | + | |
- | + | ||
- | **Supervisors: | + | |
- | + | ||
- | **Project: | + | |
- | + | ||
- | To make this project more specific, and given the limited time available for an undergraduate student project, this project will explore certain properties of leader election algorithms, both with real and simulated groups of robots. Using a simulator, performance bottlenecks in the infection algorithm will be studied, considering cases where direct communication is limited to agents in the same local area. Simulations will be supported using a collection of real devices (Android devices) who can communicate with each other in the local environment using bluetooth and/or WIFI. If time permits, the project will also study possible enhancements of the infection algorithm as well as develop better upper bounds for the problem. | + | |
- | + | ||
- | **Required skills:** knowledge of Java or Python. Interest in algorithms for a distributed collection of simple robot agents. Completion of 3rd year courses in computer science or computer engineering. | + | |
- | + | ||
- | ====== Asynchronicity in infection algorithms ====== | + | |
- | + | ||
- | **Supervisors: | + | |
- | + | ||
- | **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. | + | |
- | + | ||
- | + | ||
- | ====== Immersive Virtual Worlds ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | We have a new and unique fully immersive virtual environment at York. The student would develop interactive 3D virtual worlds to study self motion perception and human computer interaction in a virtual world. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant would model 3D environments, | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Virtual Walking Devices ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Simulating effective walking in an immersive virtual environment is challenging. Working with a senior graduate student, the successful applicant would help to develop a circular treadmill interface to support virtual walking metaphors. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== Adapting a 3D Printer for Paste Extrusion ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 3D printers are an enabling technology for engineering design. However most low- to medium-end printers can only extrude plastics through a hot-end extrusion system. A local company has developed a nozzle and pump system for pastes that can be integrated with existing printers. A student group is sought to design a mounting bracket for an existing TAZ 4 printer that can be used to augment its ABS extruder with a Discov3ry paste extruder. The bracket is to be printed with the TAZ and the design is to be released publicly to the open-source community. Sample prints, calibration routines and possible modifications to the printer' | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== Peer-to-Peer agent based applications in smart power grids ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Multi-agent systems have been mentioned recently as a potential technology for several operational control objectives in smart power grids. The multi-agents technology allows the rapid and detailed creation of a system model and creates a robust framework for distributed control. The distributed control structure consists of components called control agents. These control agents try, through communication and negotiation with other control agents, to: 1) determine the current state of the system and/or subsystems and 2) make decisions (set their local actuators or communicate with other agents) in such a way that their own objectives are met as closely as possible and any constraints are satisfied. | + | |
- | + | ||
- | This project aims to implement formulated distributed constraint optimization (DCOP) in a multi-agent platform for two objectives in smart grids: 1) voltage regulation and 2) electricity market,. There are several Java-based open source platforms for peer-to-peer agent based applications e.g. (JADE, Jadex, Jason, | + | |
- | + | ||
- | The student should be a strong Java and MATLAB programmer. He should have prior knowledge about multi-agent platforms such as JADE. The work involves reading and understanding the formulated DCOP in smart grids and working with the supervisor and master/PhD student(s) to implement the developed algorithms and to measure the performance of the developed algorithm(s) in the multi-agent platform. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Clustering High-Dimensional Data Sets ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Clustering is a basic technique for analyzing data sets. Clustering is the process of grouping data points in a way that points within a group are more similar to each other than points in other clusters. Many clustering algorithms have been developed over the years. However no single algorithm works well for all data sets. Further, most clustering algorithms have running times of the order of n^2 or n^3, so that they are not feasible for data sets with hundreds of thousands of points. In this project we will design good clustering algorithms for large real data sets. In particular we are interested in Biological data sets. | + | |
- | + | ||
- | Our data sets will include those obtained from Flow Cytometry data. Flow Cytometry is a common technique in many areas of Biology, particularly Immunology. Typical usage involves testing a blood sample for 25 attributes on a per-cell basis, and thus typical data sets are arrays of 500,000 points in a 25 dimensional space. The aim is to identify clusters that correspond to a biologist' | + | |
- | + | ||
- | No Biology knowledge is required. The student should be a strong programmer. Knowledge of C/C++ is desirable but not essential. The work involves reading and understanding existing algorithms and working with the supervisor to design and implement improved algorithms and to measure the performance of the proposed algorithm(s). | + | |
- | + | ||
- | For more information, | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Metaheuristic-based Optimization techniques ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Optimization is a crucial step in many computational problems. For computational problems that seem (or are known to be) intractable, | + | |
- | + | ||
- | The student should be a strong programmer. A good grasp of algorithms and knowledge of C/C++ are desirable but not essential. The work involves reading and understanding existing algorithms and working with the supervisor to design and implement improved algorithms and to measure the performance of the proposed algorithm(s). | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Genome-wide identification of plant micro RNAs ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | For more information, | + | |
- | + | ||
- | RNA sequencing- http:// | + | |
- | + | ||
- | miRNAs- http:// | + | |
- | + | ||
- | Working with the support of a PhD student, your project will involve: | + | |
- | + | ||
- | - 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/ | + | |
- | + | ||
- | + | ||
- | **Requirements: | + | |
- | + | ||
- | + | ||
- | ====== DDoS Attack using Google-bots ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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, | + | |
- | + | ||
- | **Recommended Background**: | + | |
- | + | ||
- | + | ||
- | ====== Attentive Sensing for Better Two-Way Communication in Remote Learning Environments ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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: | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== Attentive Sensing for Sport Video Recording Markets ====== | + | |
- | + | ||
- | **Supervisor**: | + | |
- | + | ||
- | 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: | + | |
- | + | ||
- | ====== JPF in a Jar ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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, | + | |
- | + | ||
- | Installing JPF is far from trivial. The tool itself has been implemented in Java. Therefore, it should, in theory, be feasible to encapsulate JPF in a Java archive (jar) file. This would make it significantly simplifying the installation process of JPF and, therefore, make the tool more easily accessible to its potential users. | + | |
- | + | ||
- | The aim of this project is to attempt to put JPF in a jar. Since JPF relies on a number of configuration files, so-called Java properties files, incorporating these properly into the jar is one of the challenges. Setting JPF's classpath is another challenge. Since JPF changes almost on a daily basis, our modifications to JPF should ideally be limited to only a few classes, yet another challenge. | + | |
- | + | ||
- | 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, | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== Model-based Design and Development of Embedded Systems with Code Generation Tools ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Model-based design with code generation tools can be used for simulation, rapid prototyping, | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== C2000 Concerto Microcontrollers ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | + | ||
- | 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. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== Real-Time Bidding Platform ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Description: | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Circuit and Board Design for a Pulsed Ground Penetrating Radar ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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: | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====== Tilt Target Selection on Touchscreen Phones ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | ====== Enabling SaaS access to an experimental AI planner ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | + | ||
- | ====== Predicting Angular Error in Rigid Registration ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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; | + | |
- | + | ||
- | ====== Calibration of a Tracked Pointer ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Description: | + | |
- | + | ||
- | ====== Simulation for Forest Fire Detection ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | **Recommended Background: | + | |
- | + | ||
- | ====== Study of self-motion perception in microgravity ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | **Recommended Background: | + | |
- | + | ||
- | ====== Stereoscopic cinema calculator ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | Directors of three-dimensional movies sometimes use ' | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | **Recommended Background: | + | |
- | + | ||
- | ====== Computer pointing devices and the speed-accuracy tradeoff ====== | + | |
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | **Recommended Background: | + | |
- | + | ||
- | ====== One key text entry ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | **Required Background: | + | |
- | + | ||
- | 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: | + | |
- | + | ||
- | The URL for Algorithmics Animation Workshop (AAW) is http:// | + | |
- | + | ||
- | **Required background: | + | |
- | + | ||
- | **Recommended background: | + | |
- | + | ||
- | + | ||
- | ====== Automated Reasoning System for Quantified Propositional Logic ====== | + | |
- | + | ||
- | + | ||
- | **Supervisor: | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | **Required background: | + | |
- | **Recommended background:** Passion for programming and experimentation; | + | ===== 2025-26 ===== |
+ | | ||
+ | ===== 2024-25 ===== | ||
+ | | ||
+ | | ||
+ | | ||
+ | * [[2024-25: | ||
- | ====== NABU Network Emulator ====== | ||
- | **Supervisor:** Zbigniew Stachniak | + | ===== 2023-24 ===== |
+ | | ||
+ | | ||
- | 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, | + | ===== 2022-23 ===== |
- | Background | + | * [[2022-23:Fall|Fall 2022]] |
+ | * [[2022-23: | ||
+ | * [[2022-23: | ||
- | **Required background:** General prerequisites | + | ===== 2021-22 ===== |
+ | | ||
+ | | ||
+ | | ||
- | **Recommended background: | ||
- | */ |
projects.1630591357.txt.gz · Last modified: 2021/09/02 14:02 by aan