BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//American Young Coder - ECPv6.10.1.1//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:American Young Coder
X-ORIGINAL-URL:https://www.ayclogic.com
X-WR-CALDESC:Events for American Young Coder
REFRESH-INTERVAL;VALUE=DURATION:PT1H
X-Robots-Tag:noindex
X-PUBLISHED-TTL:PT1H
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:20230312T100000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:20231105T090000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230404T170000
DTEND;TZID=America/Los_Angeles:20230404T180000
DTSTAMP:20260507T031117
CREATED:20230405T010040Z
LAST-MODIFIED:20230405T010040Z
UID:18806-1680627600-1680631200@www.ayclogic.com
SUMMARY:5:00 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nReviewed dictionary basics\nBegan phone book with dictionary program\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR4_phonebook_hw\, please submit by next Monday.\nHomework: After creating the new file mentioned above\, copy what we did in class and finish the phone book dictionary described here:\nhttps://www.ayclogic.com/phone-book-system/
URL:https://www.ayclogic.com/event/500-pm-python-object-oriented-programming-sebastian/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230404T183000
DTEND;TZID=America/Los_Angeles:20230404T193000
DTSTAMP:20260507T031117
CREATED:20230405T023033Z
LAST-MODIFIED:20230405T023033Z
UID:18810-1680633000-1680636600@www.ayclogic.com
SUMMARY:6:30 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nFinished School System project\nBegan Library System project\nGot really good at creating new classes and constructors\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR4_librarysystem_hw\, please submit by next Monday.\nHomework:\na) Implement list_all_old_books() function\, which will use the book_dictionary attribute to print out the following: \nprint(f”Title: {book.title} – Book Author: {book.author} – Year Published: {book.publish_year} – id: {book.id}”) \nThis means you need the book object from the book_dictionary attribute\, is the book object stored in the keys or values? That will determine how you will loop. \nb) Add 2 more test books to the add_test_books() function we made in class.
URL:https://www.ayclogic.com/event/630-pm-python-object-oriented-programming-sebastian-12/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230405T180000
DTEND;TZID=America/Los_Angeles:20230405T200000
DTSTAMP:20260507T031117
CREATED:20230406T030521Z
LAST-MODIFIED:20230406T030521Z
UID:18832-1680717600-1680724800@www.ayclogic.com
SUMMARY:6 PM to 8 PM - Python OOP - Gamas
DESCRIPTION:Homework\n\nSimilar to dragon.py\, create troll.py\, water_golem.py.\nInside troll.py\n\nCreate Troll class that inherits from Monster class.\noverride magic_damage method so\n\nwhen Troll got hit by earth magic\, it will say “Troll is immune to Earth magic. No damage is done.”\nwhen Troll got hit by fire magic\, it will do half damage.\n\n\n\n\nInside water_golem.py\n\nCreate WaterGolem class that inherits from Monster class\noverride magic_damage method so\n\nwhen WaterGolem got hit by water magic\, it will say “Water golem is immune to water magic. No damage is done.”\nwhen WaterGolem got hit by fire magic\, it will do double damage.\n\n\n\n\nModify monster.py\n\nAdd a new method sword_damage(self\, attack_point). Inside the method do reduce the monster.health with attack_point.\nChange the main.sword_attack method to call this monster.sword_damage(player_attack).
URL:https://www.ayclogic.com/event/6-pm-to-8-pm-python-oop-gamas/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230411T170000
DTEND;TZID=America/Los_Angeles:20230411T180000
DTSTAMP:20260507T031117
CREATED:20230412T024452Z
LAST-MODIFIED:20230412T024452Z
UID:18894-1681232400-1681236000@www.ayclogic.com
SUMMARY:5:00 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nStarted and quickly finished GroceryShoppingCart (great job!)\n Brief introduction to OOP\, sneak peak of the following:\nClasses\, Attributes\, Methods\, Constructors\, and Objects\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR11_robux_hw\, please submit by next Monday.\nHomework: Recall your old RobuxShoppingCart assignment:\n \nmenu = """\nWhat do you want to do: \n1. Buy hat 100 Robux\n2. Buy hair 150 Robux\n3. VIP Server 500 Robux\n4. Add more Robux\n5. Exit\nEnter your selection: """\n\nshopping_cart = []\nrobux = 300\n\ndef handle_transaction(price\, item_name):\n    global robux\n    if robux < price:\n        print(f"You only have {robux} robux remaining. Therefore you cannot purchase {item_name} for {price} robux.")\n    else:\n        robux -= price\n        print(f"You purchased a {item_name}. You have {robux} robux remaining.")\n        shopping_cart.append(item_name)\n\nprint(f"Welcome to Robux Bank\, you have {robux} robux in the beginning.")\n\nwhile True:\n    selection = input(menu)\n    if selection == "5":\n        break\n    elif selection not in("1"\,"2"\,"3"\,"4"\,"5"):\n        print("invalid selection")\n    elif selection == "1":\n        handle_transaction(100\, "Hat")\n    elif selection == "2":\n        handle_transaction(150\, "Hair")\n    elif selection == "3":\n        handle_transaction(500\, "VIP Server")\n    elif selection == "4":\n        credit_card_number = input("Enter your Credit Card number: ")\n        if credit_card_number == "ABCD1234":\n            robux += 200\n            print(f"Thank you for purchasing 200 Robux. You now have {robux} robux remaining.")\n        else:\n            print("You have entered an invalid credit card number")\n\n\nprint("\nYou have purchased the following items:")\ncount = 1\nfor item in shopping_cart:\n    print(f"{count}. {item.title()}")\n    count += 1\n\nprint(f"Your remaining Robux balance is {robux} Robux.")\nTry your best to recreate this with two dictionaries: \n– input_name\n– selection_price \nThese should map the selection to the name (hat\, hair\, VIP server\, add more robux)\, and map the selection to the price (100\, 150\, 500\, 200).
URL:https://www.ayclogic.com/event/500-pm-python-object-oriented-programming-sebastian-2/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230411T183000
DTEND;TZID=America/Los_Angeles:20230411T193000
DTSTAMP:20260507T031117
CREATED:20230412T023634Z
LAST-MODIFIED:20230412T023634Z
UID:18892-1681237800-1681241400@www.ayclogic.com
SUMMARY:6:30 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nFinished library system project\nBegan shopping cart OOP\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR11_supermarket_hw\, please submit by next Monday.\nHomework: The following code exists in our old grocery_shopping_cart file that we want to replace:\n \n\nif selection == "99":\n    break\nelif selection in items_inventory.keys():\n    print(f"You have purchased {items_inventory[selection]} for ${items_price[selection]}")\n        total_cost += items_price[selection]\n    shopping_cart.append(items_inventory[selection])\nelse:\n    print("Invalid selection\, please try again.")\nHow can we add this to our while loop inside our ShoppingCartApplication class? Remember\, all you need to use is:\n– self.menu_items dictionary attribute to get item names and prices\n– self.menu attribute to help see what each price and name means
URL:https://www.ayclogic.com/event/630-pm-python-object-oriented-programming-sebastian-13/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230412T180000
DTEND;TZID=America/Los_Angeles:20230412T200000
DTSTAMP:20260507T031117
CREATED:20230413T032846Z
LAST-MODIFIED:20230413T033441Z
UID:18910-1681322400-1681329600@www.ayclogic.com
SUMMARY:6 to 8 PM - Python OOP - Gamas
DESCRIPTION:Today We Did\n\nWe completed Monster Inheritance project.\nWe discussed Practice Final.\n\nHomework\n\nDo practice final already sent in the class to your email. It should come from ayclogic@gmail.com. Please let me know ASAP if you don’t get it. The practice test is a big project\, it will take around 2 hours to do. But this is super important practice for your final test. Please try your best to do everything.\nWe will have a 2hour final test on 04/26.
URL:https://www.ayclogic.com/event/6-to-8-pm-python-oop-gamas/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230418T170000
DTEND;TZID=America/Los_Angeles:20230418T180000
DTSTAMP:20260507T031117
CREATED:20230419T012205Z
LAST-MODIFIED:20230425T234834Z
UID:19004-1681837200-1681840800@www.ayclogic.com
SUMMARY:5:00 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nLarge introduction to object oriented programming\nLearned about classes\, constructors\, attributes\, methods\, and objects\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR18_oop_hw\, please submit by next Monday.\nHomework:a) Read through pages 158 to 161b) Given the code that we created which creates a “Pet” class:\n– Create a method “fetch” which takes no parameters\, and increments hunger_level by 1 (your dog gets hungry when it plays fetch!) \n– Add an attribute called “social_level”\, and add it as a parameter to the constructor. This way\, whoever creates their pet can set how social it is. \n– Add a method called “introduce” which takes one parameter\, another pet! This method has a bit of logic so I’m going to break it down further: \nFirst\, check the social level of your pet (this would be the attribute you just created). Second\, check the social level of the pet which is being passed into the introduce function (this part is tricky\, try your best to figure it out). Here is how the logic would look: \nIf both social levels are greater than or equal to 5\, then print “<name attribute> the <animal_type attribute> is now best friends with <parameter name> the <parameter animal_type>!” \nIf both social levels are smaller than 5\, print “<name attribute> the <animal_type attribute> upset with <parameter name> the <parameter animal_type>\, rawr!” \nHere’s the code where we left off: \n\nclass Pet:\n    def __init__(self\, name\, age\, animal_type):\n        self.name = name\n        self.age = age\n        self.animal_type = animal_type\n        self.hunger_level = 0\n\n    def feed(self):\n        self.hunger_level -= 1\n        print(f"{self.name} has been fed\, hunger level is {self.hunger_level}")\n\n\ndog = Pet("Fido"\, 3\, "dog")\n\nNow\, test this out by making a new pet object the way we made a dog\, remember to pass in the new parameter to the constructor\, and test out the introduce function.
URL:https://www.ayclogic.com/event/500-pm-python-object-oriented-programming-sebastian-3/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230418T183000
DTEND;TZID=America/Los_Angeles:20230418T193000
DTSTAMP:20260507T031117
CREATED:20230419T023156Z
LAST-MODIFIED:20230419T023156Z
UID:19011-1681842600-1681846200@www.ayclogic.com
SUMMARY:6:30 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nFinished Supermarket class\nBegan inheritance (child inherits all attributes and methods from parent)\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR18_inheritance_hw\, please submit by next Monday.\nHomework:\n– Copy code from page 168 to 170\n– 9-6 and 9-7 from page 173
URL:https://www.ayclogic.com/event/630-pm-python-object-oriented-programming-sebastian-14/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230419T180000
DTEND;TZID=America/Los_Angeles:20230419T200000
DTSTAMP:20260507T031117
CREATED:20230420T032348Z
LAST-MODIFIED:20230420T032653Z
UID:19022-1681927200-1681934400@www.ayclogic.com
SUMMARY:6 to 8 PM - Python OOP - Gamas
DESCRIPTION:Today We Did\n\nWe reviewed Practice Test (DriverSystem) solution. The solution can be found in https://drive.google.com/drive/u/0/folders/1ZYxxajAgLJw8_LDVzpxMMw4QkB6Gant4\n\nHomework\n\nNext week (04/26) is the 2 hours final test.\n\nThe final test is open book and you need to use Pycharm to test your codes.\n\n\nStudy Monster Inheritance\, Driver System.\nIf you want to practice for the final test\, try redoing either DriverSystem or Monster Inheritance from scratch without looking at the solution.
URL:https://www.ayclogic.com/event/6-to-8-pm-python-oop-gamas-2/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230425T170000
DTEND;TZID=America/Los_Angeles:20230425T180000
DTSTAMP:20260507T031117
CREATED:20230426T010953Z
LAST-MODIFIED:20230426T023329Z
UID:19257-1682442000-1682445600@www.ayclogic.com
SUMMARY:5:00 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nReviewed object oriented programming by making Dog class\nDeeply understood what “self” means\, and when to use “self” instead of an object name\nBegan GrocerySystemV2\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR25_grocery_system_hw\, please submit by next Monday.\nHomework:a) Finish creating the “inventory” dictionary\, which maps every selection number to a GroceryItem object for every item (Milk\, Eggs\, Orange Juice and their prices)\nb) Begin the while loop (store user input into selection variable\, break if selection is 4)\, and try to think of an efficient way to check if the selection made by the user is a valid selection. \nHint: Make use of your “inventory” dictionary\, which has all valid selections in it. How can you check if the selection is one of those valid selections? \nIf the selection is invalid\, print a similar error message as GrocerySystemV1. If it is valid\, print(“Valid”) for now\, and we’ll pick back up from there in class next time.
URL:https://www.ayclogic.com/event/630-pm-python-object-oriented-programming-sebastian-15/
CATEGORIES:OOP Python,Python Class
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20230425T183000
DTEND;TZID=America/Los_Angeles:20230425T193000
DTSTAMP:20260507T031117
CREATED:20230426T024016Z
LAST-MODIFIED:20230426T024016Z
UID:19263-1682447400-1682451000@www.ayclogic.com
SUMMARY:6:30 PM – Python Object Oriented Programming – Sebastian
DESCRIPTION:Today We Did\n\nReviewed OOP\, dictionaries\, and inheritance\nBegan creating Monster inheritance program\nIn case you need anything\, feel free to email me at sebastian@ayclogic.com\n\nHomework\n\nName your homework APR25_inheritance_hw\, please submit by next Monday.\nHomework: Finish the WaterGolem & Dragon classes:\nDragon: Create receive_magic_attack method taking damage & magic_type parameters. If the magic_type is “fire”\, then print “Dragon is immune to fire attack. Therefore\, the dragon suffer no damage”. Otherwise\, call the receive_magic_attack method from the Monster parent class. \nWaterGolem: Create the receive_magic_attack method taking damage & magic_type parameters. \nIf the magic type is fire\, print “Water Golem is immune to fire attack. Therefore\, the Water Golem suffer no damage”. \nIf the magic type is water\, print “Water Golem is resistance to water attack. Therefore\, your attack is halved.”\, and subtract half of the damage parameter from the watergolem’s health. \nOtherwise\, call the parent’s “receive_magic_attack” method and pass in the damage & magic_type parameters. 
URL:https://www.ayclogic.com/event/630-pm-python-object-oriented-programming-sebastian-16/
CATEGORIES:OOP Python,Python Class
END:VEVENT
END:VCALENDAR