Proposed Projects for Fall 2021
Below is a list of 4080/4088/4480 projects proposed by faculty members for Fall 2021.
Full-Stack Developer(s)
Course: EECS4080/4088
Supervisor: Prof. Uyen T. Nguyen
Contact: utn@eecs.yorku.ca
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, while ensuring system stability and responsiveness among all application modules.
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/4480/4088
Supervisor: Prof. Uyen T. Nguyen
Contact: utn@eecs.yorku.ca
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/80/88/90/4480
Supervisor: Prof. James Andrew Smith
Contact: drsmith@yorku.ca
COVID has accelerated the trend for delivering university courses online. This has been a boon to providing accessible learning modes to students. However, it has also made it more likely for course content to be uploaded to and distributed on commercial, for-profit file sharing sites like Chegg and Course Hero, without permission of the content creator.
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's behalf.
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/80/88/90/4480
Supervisor: Prof. James Andrew Smith
Contact: drsmith@yorku.ca
Students at York have long been missing the ability to visualize the connections between courses when planning or reviewing their progress through their program. We would like to make a web-centric visualization tool available to students that scrapes data from the official online course calendar so that students can better inform the decisions they make while studying at York.
This is a continuation of an existing open-source project written in Python. Interested students will be asked to improve the existing code base so that:
1. A visualization can be produced and displayed on the web
2. Corrections to the existing data set (the University's calendar website) can be submitted to an online repository and reused
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