User Tools

Site Tools


2023-24:winter

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
2023-24:winter [2023/11/30 23:43] ruppert2023-24:winter [2024/01/05 15:32] (current) eruppert
Line 429: Line 429:
 Sending cv, any explanation or demonstration of requisite skills or experience to project supervisor would be helpful.  Examples of embedded systems projects from past can be particularly helpful. Sending cv, any explanation or demonstration of requisite skills or experience to project supervisor would be helpful.  Examples of embedded systems projects from past can be particularly helpful.
  
 +
 +==== Large Language Models Based Mutation Testing ====
 +
 +**Course:**  EECS4080
 +
 +**Supervisor:**  Song Wang
 +
 +**Supervisor's email address:** wangsong@yorku.ca
 +
 +**Project Description:** 
 +Recently, pre-trained large language models (LLMs) have emerged as a breakthrough technology in natural language processing and artificial intelligence, with the ability to handle large-scale datasets and exhibit remarkable performance across a wide range of tasks. Meanwhile, software testing is a crucial undertaking that serves as a cornerstone for ensuring the quality and reliability of software products. As the scope and complexity of software systems continue to grow, the need for more effective software testing techniques becomes increasingly urgent, making it an area ripe for innovative approaches such as the use of LLMs. Our recent collaboration with Meta also confirms the limitations of existing widely used testing techniques in mutation testing. This project takes a solid initial step toward exploring the next-generation software mutation testing techniques powered by LLMs.
 +
 +**Required skills or prerequisites:**  
 +Familiarity with DL libraries such as Tensorflow and Pytorch;
 +
 +**Instructions:**
 +Send c.v. and transcript to the project supervisor.
 +
 +==== Image Processing for Software Teams ====
 +
 +**Course:**  EECS4070/EECS4080
 +
 +**Supervisor:**  Maleknaz Nayebi
 +
 +**Supervisor's email address:** mnayebi@yorku.ca
 +
 +**Project Description:** 
 +In today's software development landscape, the integration of visual data has become increasingly vital. The Image Processing for Software Teams project aims to empower software teams with robust image processing capabilities, enhancing their ability to work with and derive insights from visual content within their applications. The project includes:
 +  * Image Recognition and Classification,
 +  * Image Transformation and Enhancement, and
 +  * Text Extraction from Images.
 +
 +**Required skills or prerequisites:**  
 +  * Python programming 
 +  * Self-learner
 +  * Team work
 +
 +**Recommended skills or prerequisites:**
 +  * Image processing and machine learning
 +  * NLP
 +
 +**Instructions:**
 +  * Please email me your transcripts and CVs with the title "[EECS 4070/80]"
 +
 +
 +==== Chat Bots in LMS for Easy Course Navigation ====
 +
 +**Course:**  EECS4080
 +
 +**Supervisor:**  Pooja Vashisth
 +
 +**Supervisor's email address:**  vashistp@yorku.ca
 +
 +**Project Description:** 
 +The aim of this project is to enhance the course navigation experience for students by providing them with an interactive and intuitive interface that can assist with accessing course materials, finding relevant information, and answering commonly asked questions.
 +
 +The main objectives of this project are as follows:
 +  - Develop a chat bot capable of understanding natural language queries and responses.
 +  - Integrate the chat bot into the existing LMS platform used by our institution.
 +  - Implement functionality for students to interact with the chat bot to access course materials, find information about courses, assignments, deadlines, and grades.
 +  - Provide personalized recommendations to students based on their preferences, past interactions, and learning progress.
 +  - Ensure the chat bot is responsive, reliable, and efficient in handling concurrent user requests.
 +  - Design a user-friendly interface for both desktop and mobile devices.
 +
 +**Required skills or prerequisites:**  
 +  - Expertise in Development tools and IDEs (e.g., Python, NLP libraries, web development frameworks)
 +  - Understanding of existing LMS platform and its database structure
 +  - Knowledge of Hardware and software infrastructure for hosting and deploying the chat bot system
 +  - Knowledge of Web Development: 
 +    * HTML/CSS: Knowledge of HTML and CSS is essential for designing the user interface of the chatbot within the LMS.
 +    * JavaScript: JavaScript can be used to add interactivity and dynamic features to the chatbot interface.
 +
 +**Recommended skills or prerequisites:**
 +  * Machine Learning (Optional):  TensorFlow or PyTorch. These popular machine learning frameworks can be used for more advanced NLP tasks, such as intent recognition and sentiment analysis, if the project requires more sophisticated chatbot capabilities.
 +  * Database:  SQLite or PostgreSQL. These relational database management systems (RDBMS) can be used to store and manage data related to user interactions, course materials, FAQs, and personalized recommendations.
 +  * User Authentication and Integration:  LMS API. Depending on the LMS platform being used, you may need to utilize the LMS API to integrate the chatbot system with the existing LMS, allowing access to course materials, user data, and other relevant information.  User Authentication Libraries: Libraries such as OAuth or JWT (JSON Web Tokens) can be used to handle user authentication and secure access to the chatbot system.
 +
 +**Instructions:**
 +Please send your c.v., transcript, and Statement of Interest in the project to the project supervisor.
 +
 +==== Autograders for C and Linux Programs in Undergraduate Courses ====
 +
 +**Course:**  EECS4080
 +
 +**Supervisor:**  Pooja Vashisth
 +
 +**Supervisor's email address:**  vashistp@yorku.ca
 +
 +**Project Description:** 
 +The objective of this project is to streamline the process of evaluating programming assignments by automating the grading process, providing timely feedback to students, and reducing the workload of instructors.
 +The main objectives of this project are as follows:
 +  - Develop an autograding system capable of executing and evaluating C and Linux programs.
 +  - Design a user-friendly interface for instructors to define test cases and grading criteria.
 +  - Implement a secure and scalable infrastructure to handle multiple submissions and concurrent grading tasks.
 +  - Provide detailed feedback and grading reports to students, highlighting areas of improvement and errors.
 +  - Support various programming concepts and features, including file handling, system calls, and command-line utilities.
 +  - Ensure the autograder system is reliable, efficient, and scalable to accommodate a large number of students and assignments.
 +
 +Methodology:  The project will follow these general steps.
 +  - Conduct a thorough analysis of the requirements and specifications for autograding C and Linux programs.
 +  - Research and select appropriate tools, frameworks, and libraries for building the autograding system.
 +  - Design and develop the autograder system, including the front-end interface for instructors and the back-end components for executing and evaluating programs.
 +  - Implement a secure sandbox environment to run student programs safely and prevent malicious activities.
 +  - Integrate tools and utilities for compiling, executing, and capturing program output and errors.
 +  - Develop a grading engine that compares student outputs with expected outputs, considering various edge cases.
 +  - Implement a user-friendly interface for instructors to define test cases, grading rubrics, and manage assignments.
 +  - Test and evaluate the autograder system's performance, accuracy, and scalability using representative test cases and a simulated workload.
 +  - Document the development process, including system architecture, algorithms used, and any challenges faced during implementation.
 +
 +**Required skills or prerequisites:**  
 +Tech stack for this project:
 +  - Programming Languages:
 +    * C: As the project involves autograding C programs, a strong understanding of the C programming language is necessary.
 +    * Python: Python can be used for developing the autograder system, as it offers a wide range of libraries and frameworks for web development, automation, and scripting.
 +  - Web Development:
 +    * HTML/CSS: Knowledge of HTML and CSS is essential for designing the user interface of the autograder system.
 +    * JavaScript: JavaScript can be used to add interactivity and dynamic functionality to the web-based interface.
 +  - System Execution and Grading:
 +    * Linux Environment: Good knowledge of Linux is crucial for setting up the execution environment and running student programs in a secure sandbox.
 +    * Bash scripting: Bash scripting can be used to automate the execution of student programs, capture output, and evaluate correctness based on defined test cases.
 +
 +**Recommended skills or prerequisites:**
 +  - Frameworks and Libraries:
 +    * Flask or Django: These Python web frameworks can be used to build the back-end of the autograder system, handle requests, and manage the database.
 +    * Bootstrap: Bootstrap is a popular front-end framework that provides pre-built UI components and responsive design features, making it easier to create a user-friendly interface.
 +  - Database:
 +    * SQLite or PostgreSQL: These relational database management systems (RDBMS) can be used to store and manage data related to students, assignments, test cases, and grading criteria.
 +
 +**Instructions:**
 +Please send your c.v., transcript, and Statement of Interest in the project to the project supervisor
 +
 +==== Investigating Reasoning about Action and Change in Pretrained Language Models ====
 +
 +**Course:**  EECS4080
 +
 +**Supervisor:**  Yves Lesperance
 +
 +**Supervisor's email address:**   lesperan@yorku.ca
 +
 +**Project Description:** 
 +Reasoning about action (RAC), including generating plans to achieve goals, is a key capability for autonomous agents.  Mainstream techniques for RAC and automated planning (based on heuristic search), are very effective, but they rely on a human modeler specifying the dynamic domain and queries/goals formally. Some recent research has investigated whether pretrained language models (LM) can effectively reason about action and change while avoiding the need to formally specify the domain.  For instance, He et al. (ACL 2023) has studied the performance of some LMs on fundamental RAC tasks such as Projection, Executability, Plan Verification, and Goal Recognition.  The LMs were first fine-tuned/pretrained on Blocks World domains and task instances (with a STRIPS semantics) and then tested on new instances.  The LMs performed rather well on similar instances, but generalized poorly to tasks involving longer action sequences or more domain objects.  In this project, the student will use the datasets generated in this work to experiment with newer language models and various fine-tuning methods to see if generalization can be improved.
 +
 +**Required skills or prerequisites:**  
 +EECS3401, Python programming skills.
 +
 +**Recommended skills or prerequisites:**
 +Some previous exposure to machine learning, automated planning, first-order logic. 
 +
 +**Instructions:**
 +Send CV and unofficial transcript to project supervisor.
2023-24/winter.1701387821.txt.gz · Last modified: 2023/11/30 23:43 by ruppert