To maintain the integrity of our learning process and ensure that the core objectives of the course are met by all students, we have established guidelines for using ChatGPT, Gemini, and any other AI tools for our course projects. These guidelines are crafted to encourage independent problem-solving, hands-on engagement with the course material, and adherence to academic integrity.
Please read the guidelines carefully. Importantly, for the "usage allowed" cases below, please document extensively how you used any of these AI tools, including the exact "prompts" that you worked with, namely, the questions or statements you input to the AI tools. Please document this information clearly and comprehensively in the README file that you will include with the project submission. Thorough documentation is a key professional skill, and one that helps maintain transparency and proper attribution in the project development.
What: Assistance with setting up basic routing in Flask,
understanding Flask-specific issues, or handling HTTP methods like
POST and GET.
Why: Our primary focus is on database design and SQL, not on
overcoming Flask setup hurdles.
What: Assistance with Python-specific syntax or how to utilize
Python standard libraries that help in creating the web application
but aren't directly linked to database operations.
Why: We recognize that this may be the first encounter some students
have with Python, given our core instruction in other languages
(notably Java).
What: Assistance with creating basic UI elements like checkboxes,
menus, or radio buttons to interact with the database.
Why: The UI is not the focus of this course, yet it's important for
facilitating interaction with your database.
What: Assistance with writing and debugging SQL query strings,
including assistance with avoiding SQL injection
vulnerabilities.
Why: Writing and debugging SQL queries,
including the critical issue of avoiding SQL injection, are
primary learning objectives for the course in general and the
projects in particular. Using AI tools for these tasks bypasses
the essential hands-on learning experience that is crucial for
understanding database manipulation and injection-related
security.
What: Assistance with the implementation, troubleshooting, or
design aspects of SQLAlchemy.
Why: Our course material
and starter code cover the essential aspects of
SQLAlchemy. Troubleshooting it independently is beneficial for
gaining problem-solving experience in database application
development, one of our primary course objectives.
What: Using AI tools for any form of direct code generation
or significant logic formulation that is central to your project
objectives.
Why: The process of manually writing code and
formulating the logic of your applications is fundamental to your
learning experience in this course.
Our understanding of AI tools is evolving constantly, and it is important that you seek clarification proactively if any of these guidelines are unclear or if you have any doubts. Also, your insights and inquiries are invaluable. So if you have any questions or comments about any of the above policies, please either post them to the class discussion board or contact your project mentor or the professor. Overall, we encourage you to approach these AI tools with a mindset of integrity and curiosity, and to not hesitate in seeking clarifications. This should ensure that your educational journey is both effective and ethically sound.