🐍
[PY] Intro to Computational Media 2.0
CS4All Resources
  • Curriculum Overview
  • How to Use this Curriculum
  • 📬Leave Us Feedback
  • Curriculum Extras
    • 🔮Curriculum Extras Overview
    • Imposter Syndrome (pt. 1)
      • Imposter Syndrome (pt. 2)
    • Timers in Processing.py
    • Time Functions: Crazy Clock Mini Project
    • Pathfinding Algorithms and Facial Scanning
    • Playing with Pixels
  • Unit 1: Draw & Draw With Functions
    • 🔮Unit 1 Overview
    • U1LA1.1: Processing.py Introduction & Deconstruction
    • U1LA1.2 Line Functions and Parameters
    • U1LA1.3: Rectangles, Ellipses, and Layering
    • U1LA1.4: Other Shapes & Styling
    • 🗃️U1LA1 Mini Project: Taijitu Symbol
    • U1LA2.1: Intro to Color with RGB and HSB
    • 🤓EXTRA: Color & Data Storage
    • 🤓EXTRA: Color Palette Practice
    • ✨U1LA3.1: Introducing Variables
    • ✨U1LA3.2: Creating Custom Variables
    • ✨U1LA4.1: What is Abstraction?
    • ✨U1LA4.2: Intro to Functions and Function Calls
    • U1LA4.3: Draw with Functions
    • U1LA4.4: Using the Random Function
    • 🗃️U1LA4 Mini Project: Custom Emoji
    • U1LA5.1: Your Custom Function Library
    • 🎨Unit 1 Final Project: Abstract Album Art
  • Unit 2: Respond and Draw On Canvas
    • 🔮Unit 2 Overview
    • ✨U2LA1.1: Conditionals and If Statements
    • ✨U2LA1.2: Conditionals and if, elif, and else statements
    • ✨U2LA1.3: Logical Operators And/Or
    • 🗃️U2LA1 Mini Project: Make a Traffic Light
    • U2LA2.1: Draw with Mouse
    • U2LA2.2: The Map Function
    • ✨U2LA3.1: Data Type Scavenger Hunt
    • ✨U2LA3.2: Functions that Return Values
    • 🤓U2LA3.3: Functions with Purpose
    • U2LA4.1: Collision Functions and Libraries
    • U2LA4.2: Mouse Clicks and Shapes as Buttons
    • 🗃️U2LA2 Mini Project: Light Switch Game
    • U2LA5.1: Key Presses and Nested Conditionals
    • 🎨Unit 2 Final Project: Interactive Drawing App
  • Unit 3: Loops, Arrays, Media
    • 🔮Unit 3 Overview
    • U3LA1.1: While Loops
    • U3LA1.2: For Loops Pt. 1
    • U3LA1.3: Nested For Loops (For Loops Pt 2)
    • 🗃️U3LA1 Mini Project: Wallpaper Design
    • U3LA2.1: Introduction to Lists
    • U3LA2.2: Random Values from Lists
    • 🗃️U3LA2 Mini Project 1: Fortune Teller
    • U3LA2.3: Loops and Lists
    • U3LA2.4: Updating and Deleting from Lists
    • 🗃️🤓 U3LA2 Mini Project 2: CodeWars List Challenges
    • U3LA3.1: Loading Images
    • 🗃️U3LA3 Mini Project: Vision Board
    • 🎨Unit 3 Final Project: Random Meme Generator
  • Unit 4: Motion, Objects, Transformation
    • 🔮Unit 4 Overview
    • U4LA1.1: Intro to Motion with Flipbooks
    • U4LA1.2: Move in All Directions and Make it Bounce
    • U4LA2.1: Introduction to Classes and Objects
    • U4LA2.2: Reading and Updating Object Properties
    • U4LA2.3: Methods Off Canvas
    • U4LA2.4: Objects on Canvas
    • 🗃️U4LA2 Mini Project: Build a Tamagotchi
    • U4LA3.1: Creating Many Objects
    • 🤓🗃 Optional U4LA3 Mini Project: Rebuild with Objects
    • U4LA4.1: Translation Battleship
    • U4LA4.2: Rotations
    • 🤓U4LA5.1: Sine and Oscillating Motion
    • 🤓U4LA5.2: Cosine and Circular Motion
    • 🎨Unit 4 Final Project: Animated Greeting Card or PSA
  • Unit 5: Final Project
    • 🔮Unit 5 Overview
    • 🎨Course Final Project Guide
Powered by GitBook
On this page
  • Prompt
  • Output
  • Culturally Responsive Best Practice
  • Extensions
  1. Unit 1: Draw & Draw With Functions

U1LA1 Mini Project: Taijitu Symbol

How can code be used as a creative and expressive medium?

PreviousU1LA1.4: Other Shapes & StylingNextU1LA2.1: Intro to Color with RGB and HSB

Last updated 11 months ago

Prompt

Taijitu is a symbol representing the religious and philosophical tradition of Taoism (also called Daoism). The term means a ‘diagram of the supreme ultimate,’ and it refers to the famous Chinese concept of yin and yang, of opposites existing in complete harmony.

The Taijitu symbol consists of two (one black and one white) swirling ‘teardrop’ shapes that fit within each other to form a perfect circle. Each figure contains a part of the other so that there is a black dot in the white half of the circle and a white dot in the black portion. These seemingly opposing, but complementary halves make a whole and thus, are incomplete without each other.

The dark or shaded side represents Yin, and the white or sunny side represents Yang. Yin is associated with femininity, earth, water, moon and nighttime and is considered passive, cold, soft, yielding and wet. Meanwhile, Yang is associated with masculinity, sin, fire, sky, and daytime and is considered aggressive, hot, hard and dry. The white symbolizes delusion and black represents enlightenment.

Directions: Your task is to recreate the Taijitu symbol using code in Processing.py.

Requirements:

  1. Use shapes that we covered in this unit

  2. Add comments to the different shapes

  3. Use fill and stroke the change the colors of the shape

  4. Center it in the middle of the canvas.

Writing Prompt:

  • Look around the room you are in and see how many yin/yang relationships you can see. List them.

  • Research pros and cons of the language you are coding in; how does this relate to the idea of opposites existing in harmony?

Output

Culturally Responsive Best Practice

This project not only assesses students' ability to understand how to sequence functions in a program to get interesting results on screen, but it does so through a symbol that has a rich meaning and background. This can be a great moment for students to learn about other cultures, but there are also ways to make it more relevant to your student population and even tie it into other courses! Most sophomores in my class are quick to connect this to what they have learned about Daoism in their World History 1 course freshman year - consider looping your social studies teachers in on this project to help support learning.

Additionally, this is a project that could be completed in small groups/whole class to make room for exploration that is more culturally driven. After the challenge and practice of recreating a Taijitu symbol, you could ask students to think of any important symbols to them or in their culture and then recreate those in code. (They could also be asked to imagine/brainstorm things that are important to them/their culture and create a symbolic representation that involves overlapping shapes!) This is also a great extension activity for students who move quickly through the course.

Extensions

Directions: Create your own meaningful symbol. Like the Taijitu, it should have meaning and represent something.

Writing Prompt:

  • Explain the meaning to your symbol.

  • Why did you choose to create this symbol?

  • If you can add colors how would it play a role in your symbol?

Project adapted from:

created by CS4All Pathfinder

🗃️
Ted Ed video on Yin Yang
Susan Evan’s 1-day p5.js workshop
Exemplar Solution
Taijitu Or Yin-Yang Symbol
p5.js Generated Taijitu Symbol on grey background