Within your course repository, create a directory "hw7
". Commit and push to your remote repository.
cd <path_to_repo> mkdir hw7 touch hw7/app.py touch hw7/screencast_url.txt git add hw7 git commit -m "initial commit for hw7" git push
In this homework, you will utilize Aider to produce a security-related application of your choice. Within the hw7 directory create a virtual environment and install Aider.
cd hw7
python3 -m venv env
source env/bin/activate
pip install aider-chat
export GEMINI_API_KEY=$GOOGLE_API_KEY
You can launch Aider with the following command:
aider --model gemini/gemini-1.5-pro-latest
The goal of the exercise is to create as much functional code using as little effort as possible using Aider. Some example applications include generating:
cmd.exe
when loaded using RunDLL to create a backdoorAs the application is developed, keep track of the prompts utilized to generate the code of your application as well as any prompts that LLMs may have found problematic. Upon completion of the application, push the resulting code and prompts (or URLs to prompt sessions) to your repository before class.
Upon completing your application, via a narrated screencast of no longer than 5 minutes, you will perform a demonstration and source code walk-through of the application as well as a walkthrough of the main prompts used to generate it.
Upload your completed screencast on MediaSpace. Ensure that it is published as "Unlisted". Then, update the file screencast_url.txt
in the homework's directory to contain the URL that your unlisted screencast on MediaSpace is located. Push the changes that include the updated URL to your repository before class.
We will be using your screencast and git repository to evaluate your homework.
Demonstration of the various capabilities of the application |
Demonstration of the various limitations of the application |
Functionality added |
Code quality (clean with no unused code or variables, readable, modular, documented with Docstrings and comments) |
Walkthrough of source code and the prompts utilized via git commits on Gitlab |
Instructions followed properly including code submission in the specified repository files, sequencing and length of screencast. |