Summit Middle School classes for Andrew Busch
Andrew Busch - Summit
  • Home
  • Algebra 1
    • Alg 1B - Last Week
    • Alg1B 14 HW - Intro to Functions
    • Alg 1B 11 - Rational Expressions
    • Alg 1B 12 - Radical Expressions
    • Alg 1B 10 v2.0 - Quadratic Functions >
      • 10b Graphing with Pennies - Desmos Tutorial
      • 10i Snowboard Quadratic - Alg1B
      • 10 Quadratics Project
    • Alg 1B 10 Book - Factoring Quadratics
    • Alg 1B 9 - Exponential Functions
    • Alg 1B 8.5 - Representing Data
    • Alg 1B 13 - Inequalities
    • Alg 1B 8 - Best Fit Lines and Linear Regression
    • Alg 1B 7 - Linearity
  • Geometry
    • Geom Last Week
    • Geom 12 - Probability
    • Geom 11 - Circumference, Area, Volume
    • Geom 10-Circles
    • Geom 9 - Right Triangles and Trigonometry
    • Geom 8 - Similarity
    • Geom 7 - Quadrilaterals and Other Polygons
    • Geom 6 - Relationships Within Triangles
    • Geom 5 - Congruent Trianlges
    • Geom 4 - Transformations
    • Geometry 3.5 - Constructions
    • Geom 3 - Parallel and Perpendicular Lines
    • Geom 2 - Reasoning and Proofs
    • Geom 1 - Basics of Geometry
  • Programming
    • Directions for Sharing Programs with Me
    • Hour of Code
    • Intro to Python >
      • Installing and Using Portable Python
      • Introduction to Programming
      • Interactive Storyteller
      • Sophisticated Calculator
      • Getting Started with Games
      • Word Length Frequency
      • Substitution Cipher
      • Simple Game of Paddleball
      • Animating Many Objects
      • Accelerator
      • Applying Trigonometry
      • GIFs
      • Programmatic Art
      • Battleship
      • Pong
      • CodeCademy.com Suggested Work
      • Python Resources
    • Advanced Python >
      • Python Installation
      • Review of Intro to Programming
      • Objects and Classes >
        • More on Classes: Functions, Methods, Inheritance
        • Quadrilaterals
      • tkinter >
        • Paddle Ball
        • Light Bike
        • Frogger
        • Snake Game
        • Breakout
      • Reading and Writing Files
      • Directories and Importing Modules
      • Raspberry Pi
      • API's
      • Python Puzzles
  • Clubs
  • Graphing Calculator
  • PARCC Practice

Quadrilaterals

Directions:
  1. Put 5 quadrilaterals into hierarchical relationship with each other using classes.
  2. Pick 5 to 8 attributes to talk about for your quadrilaterals. For example, if you pick "number of sides", each of your 5 types of quadrilaterals should be able to print its number of sides.
  3. When I look at your code, I should only see a definition of a variable in a new class if the variable changed value. For example, number_of_sides should never need to be written after you define your Quadrilateral class.
  4. At the end of your program, write a print statement for each of your types of quadrilaterals. This means you will print all 5 quadrilaterals. You should print: the name/classification of the quadrilateral and each of your chosen attributes (from step 2).
Organize the following types of quadrilaterals into a hierarchical class structure based on angle measures, congruent sides, etc. Particularly, I want you to use inheritance of class properties when creating children classes. 
Types of Quadrilaterals:
  • Quadrilateral
  • Trapezoid
  • Isosceles Trapezoid
  • Parallelogram
  • Kite
  • Rectangle
  • Rhombus
  • Square
First, I suggest starting by making sure you know how each of the types relate to the others. A family tree would be helpful in this case.
Picture
URL for Quadrilateral Heirarchy: ​http://www.sawyoo.com/postpic/2012/02/quadrilateral-family-tree_516390.jpg

​Next, create a class called quadrilaterals. Be sure to give it an __init__ function with "self" as an argument

Properties of quadrilaterals.
- Type of Quadrilateral (Classification)
​    (For example, a rhombus is a parallelogram and a kite and a quadrilateral)

- 4 sides.
- Opposite angles
    -Congruent?
- Opposite sides
    -Congruent?
    -Parallel?
- Adjacent angles
    -Congruent?
    -Supplementary?
- Adjacent sides
    -Congruent?
​    -Perpendicular?
- Diagonals
    -congruent?
    -bisect each other?
    -perpendicular?
 







​
If you've not taken Geometry yet: 
​Properties of Quadrilaterals are listed at this website.
​And at this website.
​
You could start like this and then show me how you would only need to change the class variables
class Quadrilateral(object):
    #Properties of generic quadrilaterals
    Classification = "Quadrilateral"   #this will change once you get into specific Quadrilaterals.
    Num_Sides = "4"
    ...etc.
   
    #every class needs one of these.
    #We won't use it just yet since these classes are all about changing variables via inheritance.
    def __init__(self):
        pass

#printing the properties of quadrilaterals
print("Properties of: \n Quadrilaterals")
print (Quadrilateral.Classification)
print (Quadrilateral.Num_Sides)
...etc.

#I'm sick of writing "Quadrilateral" all the way out. Shortcut!
Quad = Quadrilateral
print (Quad.Adjacent_Angles)
print(Quad.Adjacent_Sides)
​print(Quad.Diagonals)

Powered by Create your own unique website with customizable templates.