2024-25:summer
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
2024-25:summer [2024/04/15 23:18] – baljko | 2024-25:summer [2024/04/15 23:35] – [Proposed Projects for Summer 2024] baljko | ||
---|---|---|---|
Line 9: | Line 9: | ||
---- | ---- | ||
+ | ==== Visualizing the debugger for first-year computer science students ==== | ||
+ | **[added 2024-04-15]** | ||
+ | **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 ==== | ||
+ | |||
+ | **[added 2024-04-15]** | ||
+ | |||
+ | **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 ==== | ||
+ | |||
+ | **[added (partially) 2024-04-15]** | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | |||
+ | //project description is being updated// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Designing Privacy-preserving Systems ==== | ||
+ | **[added 2024-04-15]** | ||
+ | |||
+ | **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:// | ||
+ | |||
+ | ---- | ||
+ | ==== Designing Privacy-preserving | ||
+ | |||
+ | **[added 2024-04-15]** | ||
+ | |||
+ | **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: | ||
+ | * | ||
+ | * | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Mnemonic-Based Serious Games ==== | ||
+ | |||
+ | **[added 2024-04-15]** | ||
+ | |||
+ | **Course: | ||
+ | |||
+ | **Supervisor: | ||
+ | |||
+ | **Supervisor' | ||
+ | |||
+ | **Project Description: | ||
+ | Many courses in Social Science, Health Science, and Computer Science that require memorization are becoming more and more challenging for many college and university students, especially with the ever-increasing volume of textbooks and course materials due to the growing body of knowledge. In courses, such as psychology, biology, and Human-Computer Interaction (HCI) that are memorization intensive, students are often overwhelmed by the lengthy course materials, readings, and the uphill challenge to retain and recall most of the content taught in class. Given the many challenges that most students face in higher education, including having to work to help pay for their university education, they often lack sufficient time to read and properly understand the taught material. Hence, there is a need to find effective ways to support student learning. We argue that serious games can be utilized to support student learning in memory-intensive courses to increase content comprehension and retention. Serious games are interactive applications that use game elements for education purposes rather than entertainment. They are increasingly being used in the education domain to support student learning. In this project, we aim to design, implement, and evaluate a mnemonic-based serious game to help students learn and retain taught material easily in memorization-intensive courses individually and collaboratively. | ||
+ | |||
+ | Duties and Responsibilities: | ||
+ | |||
+ | **Required skills or prerequisites: | ||
+ | * Prototyping with tools such as Figma and programming on the mobile platform (e.g., Android, cross-platform). | ||
+ | * Software Engineering; | ||
+ | * Ability to work independently as well as in a team. | ||
+ | |||
+ | **Instructions: | ||
+ | |||
+ | Contact professor at email above. | ||
+ | |||
+ | ---- | ||
==== Strengthening the Security of Autograders ==== | ==== Strengthening the Security of Autograders ==== | ||
- | **[added 2024-04-11]** | + | **[revised 2024-03-15, |
**Course: | **Course: | ||
Line 23: | Line 183: | ||
Unit testing platforms like Java's JUnit and Python' | Unit testing platforms like Java's JUnit and Python' | ||
- | For this project you will strengthen the security of an autograder process for either Python or Java 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, | + | For this project you will strengthen the security of an autograder process for either |
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. | 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. | ||
Line 30: | Line 190: | ||
* To work on autograder for Python code, you 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. | * To work on autograder for Python code, you 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. | ||
* To work on autograder for Java code, you must have completed EECS2030 (or a similar course) with an A/A+. Must have solid programming skills in Java, including the use of unit testing | * To work on autograder for Java code, you must have completed EECS2030 (or a similar course) with an A/A+. Must have solid programming skills in Java, including the use of unit testing | ||
+ | * **To work on autograder for C code, you must have completed EECS 2031 (or a similar course) with an A/A+. Must have solid programming skills in C, preferably including the use of unit testing (though experience with unit testing in other languages is acceptable).** | ||
* Must be able to work independently and have good communication skills. | * Must be able to work independently and have good communication skills. | ||
Line 37: | Line 198: | ||
**Instructions: | **Instructions: | ||
Additional information about PrairieLearn can be found here: https:// | Additional information about PrairieLearn can be found here: https:// | ||
+ | ---- | ||
==== Chat Bots in LMS for Easy Course Navigation ==== | ==== Chat Bots in LMS for Easy Course Navigation ==== | ||
Line 74: | Line 236: | ||
Please send your c.v., transcript, and Statement of Interest in the project to the project supervisor. | 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 ==== | ==== Autograders for C and Linux Programs in Undergraduate Courses ==== | ||
2024-25/summer.txt · Last modified: 2024/04/16 00:31 by baljko