Project Details |
- If you are an MS student and you are really interested in this project, please talk to CSE 523/524 students who have worked with me (e.g.: Nitin Singh and Edward Chen). Discuss the working style, content of work, intensity of work, and my expectations. We meet and discuss progress/feedback on Fridays.
- If you are a BS-Honors student and you are really interested in this project, please talk to CSE 495/496 students who are working with me (e.g.: Elan Shetreat-Klein). Discuss the working style, content of work, intensity of work, and my expectations. Students show progress via new algorithms, solutions, implementations, visualizations, etc. We meet and discuss as and when the student makes progress.
- Your project work on a given problem if it is based on existing solutions to it.
- [Step 1. Problem statement] You will be assigned a problem and possibly a web link for reference.
- [Step 2. Understand solution] Get the solution to the problem in the template using Geeksforgeeks/Leetcode/ChatGPT/Copilot/Gemini. Note that many codes given ChatGPT/Copilot/Gemini are plain wrong. So, it is your responsibility to verify the correctness of the solutions that you provide.
- [Step 3. Implement and test] Implement the solution in Python (in Google Colab), and test your code extensively for very large input.
- [Step 4. Document] Create documentation (usually 2 pages) in Latex in the Overleaf project that will be shared with you. Your work will be analyzed based on this documentation and the strength of your computer program. If the documentation is not solid, you have to fix it until it is perfect.
- [Step 5. Repeat] Repeat steps 2-4 to cover all solutions for a given problem. There can be multiple solutions to a problem.
Your project work on a puzzle if there are no known good solutions to it. This is for advanced problems and mostly for the finest students.
- [Step 1. Problem statement] You will be assigned a problem and possibly a web link for reference.
- [Step 2. Brainstorm for ideas] We might meet multiple times to brainstorm for ideas and approaches.
- [Step 3. Try solving using an approach] We might have to try using an approach by working out examples, trying to formalize the solution, trying to create diagrams that can further give ideas, and trying to prove the approach correct (if it is). Students who are mathematically very strong and algorithmically very deep will usually come up with nice ideas and approaches to solve a given problem.
- [Step 4. Implement and test] Implement the solution in Python (in Google Colab), and test your code extensively.
- [Step 5. Document] Create documentation in Latex, beautiful presentations with diagrams, tables, lots of examples, etc to teach the working of the algorithm in a great way. Your work will be analyzed based on this documentation and the strength of your computer program.
- [Step 6. Repeat] Repeat steps 2-5 to cover different ways to attack a given problem.
From experience, "understanding solutions" and "try solving using an approach" are the toughest parts and great students do excellent in these steps. Rock solid understanding automatically means easier and faster implementation.
- If you are interested, email me with your CV and GPA.
|