2023-24:winter
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2023-24:winter [2023/11/24 19:04] – ruppert | 2023-24:winter [2024/01/05 15:32] (current) – eruppert | ||
---|---|---|---|
Line 220: | Line 220: | ||
**Required skills or prerequisites: | **Required skills or prerequisites: | ||
- | Good programming and data analysis skills overall, and experience in using Jupyter and/or R for data analysis. Ability to work indecently. | + | Good programming and data analysis skills overall, and experience in using Jupyter and/or R for data analysis. Ability to work independently. |
Interest in usable privacy, critical analysis of privacy policies and privacy related regulation. | Interest in usable privacy, critical analysis of privacy policies and privacy related regulation. | ||
Line 230: | Line 230: | ||
Please fill in [[https:// | Please fill in [[https:// | ||
+ | ==== Designing Privacy-preserving | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Designing a privacy-preserving VR experience requires adhering to contextual integrity of users’ data . This involves accounting for different modes of interaction and ensuring robustness to accommodate the evolving privacy norms associated with future VR adaptations. | ||
+ | |||
+ | To tackle this challenge, the project will operationalize a cutting-edge privacy theory and methodologies to develop mechanisms | ||
+ | |||
+ | Students will help analyze information handling practices of VR applications and design tools to enhance privacy of VR users. | ||
+ | |||
+ | Specific tasks include conducting a comprehensive literature review of existing methodologies and tools, performing a dynamic analysis of data practices in VR applications, | ||
+ | |||
+ | For reference, see these papers: | ||
+ | * https:// | ||
+ | *https:// | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | * Good programming skills (experience with coding in Unity is a plus) | ||
+ | * | ||
+ | * | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | * | ||
+ | * | ||
+ | |||
+ | |||
+ | ==== Visualizing the debugger for first-year computer science students ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Debugging is one of the most important skills for computer science students. However, first-year students are usually not comfortable with working with a debugger. In order to help ease the process for first-year students, we plan to write an application that can visualize the process by animating the variable manipulated, | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | Proficient in Python (as you will write a visualized debugger for students learning Python) | ||
+ | Strong learning ability (You will be expected to learn VR/AR programming if we decide to use NR/AR) | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Experience with virtual reality/ | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your c.v. and transcript to the project supervisor. | ||
+ | If available, please also send your e-portfolio (e.g., GitHub, or other links) of your previous projects. | ||
+ | |||
+ | ==== Sims for University Life ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | One of the biggest challenges that first-year students face is the transition from high school to university. This is expected to be more pronounced once the York Markham campus opens as all courses will use the flipped-class model. In this model, students are required to be more active in learning and preview the content before each class in order to stay on track. In order to assist first-year students in making a smoother transition even before school starts, we plan to release a game that simulates the life of a computer science student at the Markham campus to provide students with a preview of university life. In this project, you'll have the opportunity to gain hands-on experience in both designing and implementing a game. | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | Strong software engineering skills; | ||
+ | The game will either be on Android or a web-based game. So you will need to have some experience in either Java or web development; | ||
+ | an interest in helping first-year students and suggesting game components based on your own experience. | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Experience with graphical user interface or game design. | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your c.v. and transcript to the project supervisor. | ||
+ | If available, please also send your e-portfolio (e.g., GitHub, or other links) of your previous projects. | ||
+ | |||
+ | ==== Robots Tutors in First Year Programming Courses ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | The goal of this project is to deploy a robotic tutor to assist first-year programming students. Students enrolled in the first-year programming course will go to a designated location to interact with a robot to do exercises together. While robot tutors have been utilized in pre-university education, few studies have explored their effectiveness within post-secondary education settings. By participating in the 4080 project, students will gain immersive exposure to run user studies given a robot project. The roles and responsibilities of students involved in this project include deploying the robot system developed by other students in the fall term and brainstorming potential ways to analyze the data collected with statistical methods. | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | The project will not involve much programming; | ||
+ | * Be reliable, responsive and responsible; | ||
+ | * Not afraid to interact with participants; | ||
+ | * Able to handle unexpected events on the fly; | ||
+ | * Be able to have at least one afternoon available per week to work on the project in order to run the study (you are expected to be able to work on the project 10 hours in total per week); | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Have some background in statistical analysis (e.g., T-test, ANOVA) | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your c.v. and transcript to the project supervisor. | ||
+ | |||
+ | ==== Machine Learning for Cybersecurity ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Machine learning plays a crucial role in Cybersecurity by detecting and responding to threats in an efficient manner. It is being used in areas like network anomaly detection, malware and phishing detection, and entity and user behaviour analytics. | ||
+ | The goal of this project is to conduct a comprehensive survey to learn the following: | ||
+ | * Survey existing datasets (real-world and synthetic) that are used to train ML algorithms in the domain of Cybersecurity, | ||
+ | * Shortlist the datasets to the 10 to 15 most commonly used datasets in the field based on community adoption: usage in publications, | ||
+ | * Read the literature of work that used the shortlisted datasets. Summarize your findings in terms of data cleaning and preprocessing, | ||
+ | |||
+ | Deliverable: | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | * Knowledge of Python programming | ||
+ | * Familiar with the use of Jupyter notebooks. | ||
+ | * Self-motivated | ||
+ | * Strong troubleshooting skills | ||
+ | * Ability to work with minimum supervision | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your c.v. and unofficial transcript to the project supervisor, along with a cover letter (maximum 500 words) of why you believe you are a suitable candidate for this project. | ||
+ | |||
+ | ==== Encryption Algorithms Implementation Optimized for Teaching and Learning ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | The goal of this project is to show how different encryption methods work under the hood. You will implement different encryption algorithms in Python to show how the internals of the algorithm work. For example, demonstrating how AES works by writing SubBytes, InvSubByets, | ||
+ | Input variables will be block size, key size, key, plaintext (if encrypting), | ||
+ | The algorithms in order of implementation are: DES, AES, Feistel Cipher, S-AES, and SHA-256. | ||
+ | If time permits, we will be working with other algorithms. | ||
+ | Deliverables: | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | * Took EECS3481 Applied Cryptography. | ||
+ | * Solid Python programming skills. | ||
+ | * Familiar with the use of Jupyter notebooks. | ||
+ | * Able to write efficient and clean modular code, but prioritize clarity over optimization. | ||
+ | * Self-motivated | ||
+ | * Strong troubleshooting skills | ||
+ | * Ability to work with minimum supervision | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Interest in Cryptography | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your resume and unofficial transcript to the project supervisor, along with a cover letter (maximum 500 words) of why you believe you are a suitable candidate for this project. | ||
+ | |||
+ | ==== Generative AI and written assessment ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Generative AI is revolutionizing education in many ways. We are looking to develop a AI assisted process/ | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | * Competence in coding | ||
+ | * Passion for AI coding | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | * Experience with generative AI CODING | ||
+ | |||
+ | **Instructions: | ||
+ | Sending cv, any explanation or demonstration of requisite skills to project supervisor would be helpful. | ||
+ | |||
+ | ==== Developing an embedded systems project for undergraduate programming course ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | We are looking for a computer science student with experience with embedded systems to help develop one or more projects for undergraduate computer programming and mechatronics course(s). Specifically, | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | * Competence with Embedded Systems, especially Arduino. | ||
+ | * Competence with MATLAB coding. | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Familiarity with Java and Python coding | ||
+ | |||
+ | **Instructions: | ||
+ | Sending cv, any explanation or demonstration of requisite skills or experience to project supervisor would be helpful. | ||
+ | |||
+ | |||
+ | ==== Large Language Models Based Mutation Testing ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Recently, pre-trained large language models (LLMs) have emerged as a breakthrough technology in natural language processing and artificial intelligence, | ||
+ | |||
+ | **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: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | In today' | ||
+ | * Image Recognition and Classification, | ||
+ | * Image Transformation and Enhancement, | ||
+ | * 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/ | ||
+ | |||
+ | |||
+ | ==== Chat Bots in LMS for Easy Course Navigation ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **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, | ||
+ | |||
+ | 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, | ||
+ | - Provide personalized recommendations to students based on their preferences, | ||
+ | - 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): | ||
+ | * Database: | ||
+ | * User Authentication and Integration: | ||
+ | |||
+ | **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: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **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: | ||
+ | - 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' | ||
+ | - Document the development process, including system architecture, | ||
+ | |||
+ | **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, | ||
+ | - 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: | ||
+ | * 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, | ||
+ | |||
+ | **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: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Reasoning about action (RAC), including generating plans to achieve goals, is a key capability for autonomous agents. | ||
+ | |||
+ | **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.1700852686.txt.gz · Last modified: 2023/11/24 19:04 by ruppert