2023-24:fall
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2023-24:fall [2023/08/16 12:52] – ruppert | 2023-24:fall [2023/11/30 20:58] (current) – ruppert | ||
---|---|---|---|
Line 64: | Line 64: | ||
Please send your c.v. and transcript. | Please send your c.v. and transcript. | ||
Optional: e-portfolio that demo previous projects that one has worked on | Optional: e-portfolio that demo previous projects that one has worked on | ||
+ | |||
+ | ==== Designing Privacy-preserving Systems ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Modern sociotechnical systems share and collect vast amounts of information. These systems violate users’ privacy by ignoring the context in which the information is shared and failing to incorporate contextual information norms. | ||
+ | |||
+ | Using techniques in natural language processing, machine learning, network, and data analysis, this project is set to explore the privacy implications of mobile apps, online platforms, and other systems in different social contexts/ | ||
+ | |||
+ | To tackle this challenge, the project will operationalize a cutting-edge privacy theory and methodologies to conduct an analysis of existing technologies and design privacy-enhancing tools. | ||
+ | |||
+ | Students will help analyze information handling practices of online services and design privacy-enhancing tools. | ||
+ | |||
+ | Specific tasks include: comprehensive literature review of existing methodologies and tools, analysis of privacy policies and regulations, | ||
+ | |||
+ | For prior project, see [[https:// | ||
+ | |||
+ | **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 independently. | ||
+ | Interest in usable privacy, critical analysis of privacy policies and privacy related regulation. | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Experience with Machine Learning, Natural Language Processing techniques, HCI design. | ||
+ | Students with diverse backgrounds, | ||
+ | |||
+ | **Instructions: | ||
+ | Please fill in [[https:// | ||
+ | |||
+ | ==== Strengthening the Security of a Python Autograder ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Unit testing platforms like Java's JUnit and Python' | ||
+ | |||
+ | For this project you will strengthen the security of an autograder process for Python code for the PrairieLearn platform. You will start by creating possible attack vectors in the form of code that is expected to cause the autograder to pass a test without actually returning the expected results. Examples of attack vectors include code that saves or outputs well-formatted values that are interpreted by the autograder as a success, code that is able to identify secret information from the autograder code, and/or code that crashes the original autograder process. Then you will implement safeguards that ensure student-submitted code is unable to bypass container sandbox limitations, | ||
+ | |||
+ | You will work in coordination with the supervisor and the PrairieLearn developer community to brainstorm possible strategies and guidelines. Your final deliverable will be a pull request to the PrairieLearn codebase with the proposed fix. | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | Must have completed EECS 1015 (or a similar course) with an A/A+. Must have solid programming skills in Python, including the use of unit testing. Must be able to work independently and have good communication skills. | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | EECS 3221 is highly recommended. Experience with Docker containers is helpful but can be obtained during the project. Git experience is helpful. Experience with open source software development is an asset. | ||
+ | |||
+ | **Instructions: | ||
+ | Additional information about PrairieLearn can be found here: https:// | ||
+ | |||
+ | ==== CTF for Applied Cryptography course ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Create a CTF for the applied cryptography course that includes tasks that cover classical, symmetric, and asymmetric techniques. Something similar to https:// | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | Programming skills, and an understanding of cryptography. | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | It is recommended that students have taken EECS3481 before. | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your CV and transcript and specify whether you are a computer security major. Optional: Link to any previous projects that you have worked on. | ||
+ | |||
+ | ==== Computer Science Education Research - Robots Tutors in First Year Programming Courses ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | The goal of this project is to implement a robotic tutor to assist first-year programming students in Computer Science Education (CSE) research, while also delving into the realm of Human-Robot Interactions (HRI). 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 explored their effectiveness within post-secondary education settings. By participating in the 4080 project, students will gain immersive exposure to the entire research project lifecycle, spanning from initial project planning and design to the contemplation of ethical considerations in real-world applications. The roles and responsibilities of students involved in this project include drafting protocol and consent forms, project design, and implementation of the project. | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | Python | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Data analysis and | ||
+ | writing skills | ||
+ | |||
+ | **Instructions: | ||
+ | Please send your c.v. and transcript | ||
+ | |||
+ | ==== C++ in Embedded Systems: A Reality Check ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | While C++ is one of the most common general purpose programming languages, it is not commonly used in resource-poor (“bare metal”) embedded devices. Issues related to complexity, efficiency, memory requirements, | ||
+ | The learning outcomes will be as follows. | ||
+ | - Articulate how they have applied the knowledge they have gained in other software engineering courses to a real-world system | ||
+ | - Implement schedulers (Cooperative, | ||
+ | - Illustrate the performance differences between contemporary procedural (C11 or greater and C++17 or greater) and contemporary object oriented (C++17 or greater) programming solutions for baseline, resource-poor bare metal embedded devices. | ||
+ | - Articulate the questions that a particular area of research in embedded systems and programming languages attempts to address. | ||
+ | - Prepare a professional presentation that outlines the contributions they made to the project and the knowledge they acquired. | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | General knowledge of procedural and object-oriented programming languages. | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Previous C++ experience. | ||
+ | |||
+ | ==== CiteFair: an online tool to detect and mitigate unfairness citation patterns in scientific articles ==== | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | The number of citations of scientific articles has a huge impact on recommendations for funding allocations, | ||
+ | The project will first start by analyzing the existing scientific literature to find out the various unfairness citations patterns that may be present in some scientific articles. Then, the project will focus on the exploration of existing mitigation solutions and their limitations. | ||
+ | The project will then aim at developing an online tool called CiteFair that will be able to: | ||
+ | - Automatically analyze scientific articles to detect the potential presence of unfairness citation patterns | ||
+ | -Rely on existing bibliometric tools to provide some suggestions to articles authors to mitigate these citations patterns and increase the fairness citation score of their articles. | ||
+ | The project will also consist in validating the accuracy of the CiteFair tool by making experiments on a sample of the scientific articles published within the last decade in a wide range of venues. Experiments will also focus on evaluating the usability and performance of the CiteFair tool. | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | Solid experience with JavaScript, HTML, and CSS | ||
+ | |||
+ | **Recommended skills or prerequisites: | ||
+ | Experience with web-development frameworks (e.g., React JS, Spring Boot) and good oral and written skills in English | ||
+ | |||
+ | ==== Large Language Models based Test Case Generation ==== | ||
+ | |||
+ | **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: | ||
+ | Be familiar with DL libraries such as Tensorflow and Pytorch; | ||
+ | |||
+ | **Instructions: | ||
+ | Send your c.v. and transcript to supervisor | ||
2023-24/fall.1692190348.txt.gz · Last modified: by ruppert