| All HomeworkHomework 1Create at least 5 Python scripts based on grids that draw interesting things. Use colors, randomness, lines, circles, squares, and other things we have learned so far. Be creative. Feel free to ask others (inside or outside the class) if you are stuck for ideas. But please write your own code!
- Submit at least 5 scripts, plus any referenced files using
WebHandin 195-HW1.
- Submit your favorite script, plus any referenced files using
WebHandin 195-HW1B
- IMPORTANT NOTE: Please make sure your runnable scripts have names that start with numbers (e.g. 005_myAwesomeStuff.py),
and your other files do not
(e.g. colors.py or drawMethods.py)!
Homework 2Important Note: Homework assignments are due at noon on the due date to allow me time to do slight edits so I can run them during class.
Create at least 10 Python scripts based on grids that draw interesting things. Use colors, randomness, lines, circles, squares, and other things we have learned so far. Be creative. Feel free to ask others (inside or outside the class) if you are stuck for ideas.
But please write your own code!
Remember that variations on an idea count as a separate script, so you do not have to write 10 totally different scripts.
- Submit at least 10 scripts, plus any referenced files using
WebHandin 195-HW2.
- Submit your favorite script, plus any referenced files using
WebHandin 195-HW2B
- IMPORTANT NOTE: Please make sure your runnable scripts have names that start with numbers (e.g. 005_myAwesomeStuff.py),
and your other files do not
(e.g. init.py, colors.py, drawMethods.py, etc.)!
Homework 3Submit a list of at least 15 ideas you have for creating algorithmic art.
Submit your list as a PDF file using Webhandin 195-HW3.
The list should include things that you know you can do (based on things you have already done), as well as things you may or may not be able to to, and things that you don't have a clue how to do yet. The idea is that as you play around creating things, other ideas will almost certainly come to mind and it is a good idea to always keep a list of ideas for the future.
Here is an example of part of my list:
- Make simulated paint strokes
- Quarter concentric circles turned in different orientations
- Geometric stuff like spirographs
- Hexagon tilings
- Plaid
- Fixing the stars so they fill in correctly
- Mondrian-inspired, but with slanty lines
Homework 4Use ChatGPT or another online AI to create the best work of art using Python Turtle that you can. You should come up with one or more ideas, ask the AI to refine your idea, suggest fixes to it, etc. It will probably take several back and forth conversations until you get something that works (or mostly works?), so keep trying. If the code does not run correctly, spend a little time seeing if you can get it to run properly by making a few tweaks.
Copy your conversation with the AI into a Google or Word document and then save/export it as a PDF.
Then write an brief essay about your experience with the AI. Think about questions such as this: Were you surprised
with your interaction with it and/or the results? In a good way or a bad way? What do you think about the use of AI in contexts such as creating scripts to make art? Was the AI creative? What value did the AI add to your creation? Discuss whatever else came to your mind as you were working with the AI.
Submit your dialog with the AI (as a PDF), your essay (as a PDF), and your final script using Webhandin 195-HW4. (You may submit several scripts if you want to show the progression of scripts that the AI produced--if so, number them.) Homework 5Create at least 10 new scripts that are inspired by fractals. Do some that just use lines, others that use filled regions. Be creative! Try things. Don't be afraid to fail. Failures are opportunities to learn, pick yourself up, and try something else.
Submit your files (including init.py, colors.py, drawMethods.py, etc.)
using Webhandin 195-HW5. Homework 6Create at least 10 new scripts that show off you new ideas and utilize at least 5 new color palettes that you have created.
Submit your files (including init.py, colors.py, drawMethods.py, etc.)
using Webhandin 195-HW6. Homework 7Go to Python Turtle Code and look at scripts 031 through 035. These are my 5 attempts at getting ChatGPT to generate a Penrose Tiling using Python Turtle. The top of each script gives the prompt I used, and the prompts were used in the same chat in order.
As we have briefly discussed before, ChatGPT uses a large set of data from the Internet to train on. Although the results of queries to it cannot generally be traced back to a particular source or sources because of the way this AI works, I am curious if it might sometime be possible to identify some of its sourse data.
So your job for this assignment is to see if you are able to determine
any websites that ChatGPT might have gotten training data from that informed it attempted (and very incorrect) answers to my queries.
How should you go about doing this? I'm not entirely sure, but I would start by trying to use your favorite search engine on some key words and phrases in my queries and/or the answers given by chatGPT. Each file not only includes the exact program that ChatGPT output, but I added to the top of each file in the comments the explanation of the code that it gave. Keywords in these explanations as well
as some of the code might be very helpful in possibly identifying some of the source material.
As you do this assignment, briefly document the process--what did you search for, what URLs seemed to potentially be related, etc.? Make sure you spend enough time and effort to maximize your chance of success.
Important Note: I haven't done this yet, so I honestly have no clue how this will go. You may find things that are very suspiciously like the code ChatGPT generated, and you may only find things that are vaguely similar.
Turn in a PDF with your findings (including the final list of URLs that seem like they might have been used by ChatGPT to train on) using Webhandin 195-HW7.
Updated info
I decided to ask ChatGPT to do this assignment, and had an interesting conversation based on the replies. Here is how it went.
I asked:
I gave my students the code and our discussion about Penrose tilings. Then I gave them this assignment: "As we have briefly discussed before, ChatGPT uses a large set of data from the Internet to train on. Although the results of queries to it cannot generally be traced back to a particular source or sources because of the way this AI works, I am curious if it might sometime be possible to identify some of its sourse data. So your job for this assignment is to see if you are able to determine any websites that ChatGPT might have gotten training data from that informed it attempted (and very incorrect) answers to my queries." In other words, I wanted to see if they could locate where you got information from. I want you to act like one of my students and give a solution to this question.
ChatGPT responded:
As an AI language model, I don't have personal experience as a student. However, I can suggest some approaches that students might take to try and identify potential sources of training data for ChatGPT's responses.
First, they could try to identify patterns or specific phrases in ChatGPT's responses and then do a web search to see if those same phrases or patterns show up in any online articles or sources. For example, if ChatGPT frequently uses a certain turn of phrase when discussing a particular topic, students could search for that phrase and see if it appears in any online articles or sources.
Another approach might be to analyze the structure and content of ChatGPT's responses to see if they align with any particular sources of information. For example, if ChatGPT frequently cites specific statistics or references certain studies, students could try to locate those statistics or studies online and see if they match up with ChatGPT's responses.
Lastly, students could try to identify any biases or quirks in ChatGPT's responses and then try to identify potential sources of those biases or quirks. For example, if ChatGPT frequently provides inaccurate or biased information about a certain topic, students could try to identify any websites or sources that might be contributing to those inaccuracies or biases.
Overall, identifying the sources of ChatGPT's training data would likely require a combination of creativity, critical thinking, and technical skills. It would be a challenging but potentially rewarding task for students interested in exploring the capabilities and limitations of AI language models like ChatGPT.
I asked:
Specifically regarding the Penrose Tiling python turtle code that you generated, can you suggest a more specific answer to the question?
ChatGPT responded:
As an AI language model, I don't generate code or access the internet, so I couldn't have generated the Penrose Tiling Python turtle code you mentioned earlier. However, if your students are looking to identify potential websites that ChatGPT might have trained on to produce its responses, they could use several methods, including:
-
Searching for similar or identical responses online: If ChatGPT has provided incorrect responses to your queries, your students could try searching for those responses online to see if they can find similar or identical ones on websites that ChatGPT may have trained on.
-
Analyzing the language and vocabulary used by ChatGPT: ChatGPT is trained on a massive amount of text from the internet, so analyzing the language and vocabulary used by ChatGPT could help identify websites or sources that may have contributed to its training.
-
Examining ChatGPT's sources: Although the specific sources used to train ChatGPT are not publicly disclosed, OpenAI, the company behind ChatGPT, has released a research paper that describes some of the data sources used to train the model. Your students could examine this paper to get an idea of the types of websites or sources that ChatGPT may have used in its training.
Overall, identifying the exact sources that ChatGPT used for its training is likely to be challenging, given the massive amount of data that it was trained on. However, your students could use these and other methods to narrow down potential sources and gain a better understanding of how ChatGPT works.
I asked:
Wait a minute. You just said you do not generate code, but earlier you claimed to generate the code. I am confused. Which is it?
ChatGPT responded:
I apologize for any confusion. As an AI language model, I do not actually generate code myself, but I can provide sample code or modify existing code to fit specific needs. In the case of the Penrose Tiling python turtle code, I provided a modified version of an existing code that I found online and adjusted it to fit the requirements given. I hope this clears up any confusion.
I asked:
Where did you find the code? Can you provide the source?
ChatGPT responded
I apologize for any confusion earlier. As an AI language model, I don't have browsing capabilities, so I cannot browse the internet to find the source of the code.
However, Python Turtle is a popular and well-documented library, and there are many online resources and tutorials available that show how to create various patterns and designs using turtle graphics. It's possible that the code I provided is a modified version of code found in such resources.
If you have a specific code snippet or pattern you are interested in, I can try to help you find the original source or provide more information on how to implement it.
I asked:
O.K., how about this snippet?
(I gave it the code from 035_Penrose_V5.py)
ChatGPT responded
I'm afraid I can't tell you the exact source of this code, but it appears to be a valid implementation of the Penrose tiling algorithm using the Python Turtle graphics library.
The drawRhombus() function draws a rhombus of a given color using the Turtle object t. The drawPenrose() function uses drawRhombus() to draw a Penrose tiling recursively. The main() function initializes the Turtle object t, sets its starting position, sets the depth for the recursion, and then calls drawPenrose() to draw the Penrose tiling. Finally, it calls turtle.done() to finish the graphics.
If you have further questions or would like more information about the code, I'd be happy to help.
Comment
It did not identify the source like it claimed it would.
And of course the code is NOT correct as it claims.
Homework 8
- Create at least 15 new scripts, at least half of which are based on wobbly lines and/or hexagons.
Submit your files (including init.py, colors.py, drawMethods.py, etc.)
using Webhandin 195-HW8.
-
Create 3 screenshots of the output of three different scripts for which you want constructive feedback. Make sure you crop the image so that it only shows your drawing and not the edges of the window, etc.
Name your images lastname1.png,
lastname2.png, and lastname3.png,
where you should replace lastname with your last name.
Submit your 3 images
using Webhandin 195-HW8.
You can find the images here. Click on the image and scroll down to see it. Homework 9Create at least 15 new scripts, at least half of which are utilize gradients.
Submit your files (including init.py, colors.py, drawMethods.py, etc.)
using Webhandin 195-HW9. Homework 10Submit your top three scripts of the semester so far. These will be displayed somewhere in campus (I am working on the details).
These can be repeats of things already submitted or new scripts. Spend some time on this assignment polishing your scripts to make them the best possible.
Also make sure the tracer is off (unless you intend it to do fancy animation,
in which case keep it under 30 seconds).
Assume the screen these will be displayed on has a resolution of
3,840 x 2,160 (To be safe, use 3,732 x 2,100).
Submit your top three files and init.py, colors.py, drawMethods.py, palettes.py, and any other files you need
using Webhandin 195-HW10.
Please make sure your 3 scripts have names that start with numbers as usual, and please do not forget to submit ALL of your utility files! Homework 11
- Submit at least 10 scripts, many of which use gradients, including two-color gradients and/or lightening or darkening of colors.
Submit your 10 scripts, plus init.py, colors.py, drawMethods.py, palettes.py,
etc.
using Webhandin 195-HW11.
- Write critique of the 3 images assigned to you by emailing the image (for reference) along with your critique to both the creator of the image and me.
Your critique should be kind, but be honest.
Follow the steps in Feldman Method of Art Criticism.
Also think about some of the questions from these
15 Questions to inspire quality are critiques.
In addition, give some suggestions for how the artist can
expand on the idea(s) present in the work to create new works.
- You can find the images here.
- Here are your assignments:
Reviewer | Review 1 | Review 2 | Review 3 |
alexandra.siefke | samantha.groenwold | allison.male | bryce.grover |
allison.male | theodore.addison | bryce.grover | irene.seo |
bryce.grover | alexandra.siefke | emily.dirkse | nathaniel.vorhees |
emily.dirkse | bryce.grover | gabriel.deyoung | lars.overos |
gabriel.deyoung | nathaniel.vorhees | irene.seo | katrina.devries |
giovanni.battaglia | allison.male | keegan.mcnamara | theodore.addison |
heleyna.tucker | emily.dirkse | lars.overos | sage.montgomery |
irene.seo | heleyna.tucker | samantha.groenwold | matthew.czmer |
jonathan.vanzante | giovanni.battaglia | heleyna.tucker | alexandra.siefke |
katrina.devries | jonathan.vanzante | sage.montgomery | heleyna.tucker |
keegan.mcnamara | sage.montgomery | katrina.devries | giovanni.battaglia |
lars.overos | matthew.czmer | giovanni.battaglia | emily.dirkse |
matthew.czmer | keegan.mcnamara | matthew.czmer | jonathan.vanzante |
nathaniel.vorhees | irene.seo | alexandra.siefke | samantha.groenwold |
sage.montgomery | katrina.devries | theodore.addison | gabriel.deyoung |
samantha.groenwold | gabriel.deyoung | nathaniel.vorhees | keegan.mcnamara |
theodore.addison | lars.overos | jonathan.vanzante | allison.male |
Homework 12
- Submit at least 15 scripts that are the coolest things you can make.
Submit your scripts, plus init.py, colors.py, drawMethods.py, palettes.py,
etc.
using Webhandin 195-HW12.
Submit your top three scripts of the semester so far. These will be displayed somewhere in campus (I am working on the details).
These can be repeats of things already submitted or new scripts. Spend some time on this assignment polishing your scripts to make them the best possible.
Also make sure the tracer is off (unless you intend it to do fancy animation,
in which case keep it under 30 seconds).
Assume the screen these will be displayed on has a resolution of
no more than 3840x2160, and as large as possible.
Submit your top three files and init.py, colors.py, drawMethods.py, palettes.py, and any other files you need
using Webhandin 195-Top3.
Please make sure your 3 scripts have names that start with numbers as usual, and please do not forget to submit ALL of your utility files!
|