Experience Tumblr Like Never Before
Hour of code was started to get kids engaged with programming and computer science. Even an hour of dragging and dropping code can open up a new interest and career for kids. This December I will be introducing 2nd Graders to the world of code.
1st we will talk about what they think code is and how it is used. This is a neat video were coders talk about what they have created and how computer science has impacted them.
2nd we will do my favorite group programming activity ever, programming a yeti to dance on MadeWithCode. Students love to take turns dragging and dropping blocks of code, customizing the yeti and choreographing a dance.
3rd we will travel to the computer lab where kids will have free range on coding Minecraft Characters, Flappy Bird Games and Disney movies. Websites I will suggest are...
MadeWithCode, Code.org and Disney
Will for sure include this into my elementary school hour of code lesson!
Today Code.org and Disney revealed a new Hour of Code tutorial featuring characters from the upcoming Disney animated film Moana. We are thrilled to be able to offer this activity to teachers across the globe as they prepare to do an Hour of Code with their classrooms between December 5-11 to celebrate Computer Science Education Week—and no experience with code is required to teach it.
We’ve partnered with Disney and Lucasfilm in the past on Hour of Code activities featuring Frozen and Star Wars™ characters—some of our most popular ever. We were particularly excited that both of these beloved tutorials featured strong female characters, which helped the Hour of Code introduce female students around the world to computer science.
The Hour of Code has now reached over 50 million girls, a milestone in female participation for computer science. We look forward to continuing that momentum with “Moana: Wayfinding with Code,” which features a strong female character and a male companion.
We also recently announced that we’re teaming up with Walt Disney Animation Studios and Lucasfilm to create Frozen and Star Wars-themed puzzles for our Computer Science Fundamentals curriculum on Code Studio. The puzzles will be developed and integrated into our curriculum over the next year.
We’ve found that kids are much more likely to try computer science if it contains topics they are interested in, like their favorite Disney stories and characters. Our work with Disney over the past two years has helped Hour of Code reach record numbers, inspiring millions of children of all ages to try coding and pursue an education in computer science.
The story of the “Moana: Wayfinding with Code” tutorial centers around Moana and Maui as they sail through unknown territory across the ocean. As students follow Moana and Maui’s travels, they learn basic coding commands that help steer the boat. Along the way, students are introduced to conditionals, sequences and loops while they master the art of navigation. When Moana and Maui are suddenly attacked by the Kakamora – coconut-clad warriors—they must use their coding skills to dodge their pirate projectiles and penetrate their defenses.
The “Moana: Wayfinding with Code” tutorial is available in more than 180 countries and 23 languages, including Samoan Polynesian. Educators can also find Hour of Code toolkits in English and Spanish on the tutorial’s website!
Thank you to Disney for helping us give children all over the world the opportunity to learn the basics of coding.
Computer Science Education Week (December 5-11, 2016) is almost here! Sign up your Hour of Code event here and check out all the new activities that you can filter on our site based on grade level, experience level, subject area, and more. Find the perfect activity for your class at https://code.org/learn.
Hadi Partovi, Code.org
LabVIEW is a graphical programming language introduced to most via FIRST Robotics, an intro to computer science class or because a past engineer used it in your workplace. Characterized by its code blocks logically stringed together with wires LabVIEW has been shrugged off and abandoned for "adult" non-graphical languages. I too thought my days of dragging and dropping would be limited to troubleshooting retired FIRST robots. After a number of internships featuring leading edge research and development projects controlled by LabVIEW I decided to reconsider my neglectful relationship with the language.
Brains of a NASA prototype deep space habitat's power system is controlled by a National Instrument's C-RIO programmed with LabVIEW. I started to realize LabVIEW was no joke. LabVIEW was used once again to prototype an Orion-like space craft display and process commands from sibling systems. Energy conversion systems for NASA's ISRU (In-Situ Resource Utilization) are controlled by sophisticated LabVIEW code following software engineering frameworks such as the "Actor Framework". During my NASA experiences I learned that LabVIEW was no joke and could be used for cutting edge research and development (R&D).
Top skills to learn in LabVIEW to become an effective R&Der include user interface design, control and data collection.
Interface Design
LabVIEW enables the ability to create graphical user interfaces (GUIs) of your controls as you drag and drop code. While you work on the backend "Block Diagram" focusing on logic LABVIEW creates a user interface you can personalize later for the user. The default GUIs may not be the prettiest but there are plenty of opportunities for customization. LabVIEW user interface tutorial. How to customize user controls.
Control
Using software engineering mantras or simple case structures your control design system can be complex or simple with LabVIEW. As you create a loop function by actually drawing a loop around code and deciding the order of code execution by drawing a wire between code blocks you will find it is quite intuitive. LabVIEW doesn't offer control unique from any other language, rather how you visualize the control. Series of videos to familiarize yourself with control structures in LabVIEW.
Data Collection
National Instruments has devices that work for plug and play data collection. Their CDaq device you plug sensors into and then recognized by LabVIEW. CDaq's code block in LabVIEW allows you to connect with a wide array of sensors, send sensor data to an Excel sheet, enter raw data into formulas, and more. Within an hour a data collection program could be thrown together for fast data collection. Video on LabVIEW data collection.
If you want do some R&D, to slap together a system to test out and work out kinks in a design LabVIEW is a quick tool to use. I am not affiliated or endorsed by National Instruments. This post is an advice piece, not an endorsement.
Along with returning to my studies I have been visiting classes to talk programming, space and backwards design.
Kindergarteners love hands on work and it's one of the best ways to teach a new concept. During "L" week I challenged students to design a Lunar Habitat. This is apparently really hard to describe to a Kindergartener. After showing pictures of a habitat and making ones out of construction paper the idea clicked after building habitats out of Legos, Bristle Blocks, Tinker Toys and Mega Blocks. The definition best used to describe the Lunar Habitat to Kindergarteners is- "A place where astronauts can live on the Moon without a spacesuit on. It provides resources (like water, air and power) that the moon doesn't have." We also made a Yeti dance on Google's Made With Code website, drew astronaut's EVA suits and ate astronaut ice cream.
Once again high schoolers have been assigned the dreaded toothpick bridge project. I have friends who are therapists and they say this project is a family buster. I visited freshman science classes from my old high schooler to talk about backwards design. I shared how backwards design can help them in their bridge project, real life applications of backwards design while chatting about my NASA projects and admitted what I wish I knew as a freshman. When talking about backwards design I described that the design stage of a project should take the most brain power and more time then expected. Once a design is made you need to think about how much time each stage of production will take, what materials you need and if you learned as much as you can about the project so unknowns are resolved.
Tips for high school freshman I have are...
1) Keep alternate forms of postsecondary education and options in mind like Community College, ROTC (Reserve Officers' Training Corps), Technical Colleges, Study Abroad, Americorps and even taking a year off between high school and college.
2) Take honors classes only if the topic interests you.
3) Find a paid internship to replace you generic summer job (even as a freshman). This way you will be paid to do something meaningful that you are interested in.
4) Network with folks in your community that have your dream job. Ask CEOs, managers and other company leaders if you can shadow them. Ask for a tour of a business that you are interested in.
Although I use lesson plans I write about in previous posts some of the best lessons come from getting off topic. Building the habitats out of materials and talking about freshman advice was totally unplanned but still valuable.
WAYS TO GET INVOLVED
Visit a local classroom to read a book, talk about your career, or ask teacher how you can help out!
Teach programming with drag and drop code: https://www.madewithcode.com/projects/animation
Check out AmeriCorps: http://www.nationalservice.gov/programs/americorps
Check out ROTC: http://www.goarmy.com/rotc.html
Find ways to give back to the community: https://www.volunteermatch.org/
When I return back to my hometown I will be visiting schools to share about my NASA experience and teach programming. I will be sharing my lesson plans here for a day of programming and a day of space related learning. Let’s start with programming. One of my first stops will be my Mom’s Kindergarten class so you will notice my lesson plan is catered for elementary students.
Morning: What is programming?
After your usual morning activities; “G-O-O-D M-O-R-N-I-N-G Good Morning Aye Aye Good Morning *clap* *clap”, drawing sticks and telling about your weekend, introduce students to the concept of programming. Ask students, “What do you think programming is?” Write down the answers on the white board. After answer along the lines of “Programming is telling a computer to do things - make a video game, control a robot, create an App, and more!” Next I would show them a short video with our current stars in technology.
Lets Start Coding
“Enough talk about programming let’s do it!” A great introduction to coding is a Made With Code project. The Yeti project is my favorite of these activities. Students take turns dragging and dropping blocks of code assigning attributes to the Yeti fur color and feet size. After assigning attributes the students can watch the Yeti dance. When I have had students write yeti code they enjoy changing the colors and dance many times!
Afternoon: Code Related Rotations
Skills needed to program are not only found in front of a screen but working in a team, time for activity rotations. (These will be the centers I will have but you all can have different ones.) At one center I will have my LEGO robot for the students to program. There will be objects that the robot can pick up or avoid. At the second center 3D printed puzzles will be available for students to solve. At the third center an activity with half a blank page and half a lined page. Students can draw a picture of what they think would be cool to program and write about it. Last center create a robot out of construction paper, foil, or other mediums.
Now You Try
Take a trip to the computer lab and let students try to program on their own. Hour of Code is a great resource where students can learn programming at various levels. Two activities I tested out an enjoyed was a Flappy Bird Game Creator and Star Wars Drone Game. Students can code on their own or work in a group to help each other figure things out.
Have fun teaching students about programming! In the future I hope to get a Sphero, 3D printer, and Arduino type kit. Maybe you all have other ideas for a programming lesson plan.
Hypocritically I have been posting pictures of all the neat swag collected at Grace Hopper Computing Conference (GHC) with just as much gusto as posting all that I have learned at the conference. GHC is so much more than swag - a unique conglomeration of ideas, tech unicorns and what is considered a rare commodity in industry, women. Here I share the coolest thing I learned about, how to make work welcoming to everyone, and final thoughts on GHC.
Robot Human Collaboration
Autonomous paints a picture of a robot working on its own driving, building products or even fetching coffee. Why should a robot be expected to complete a task on its own when we ask others for help all the time? With similar thinking Carnegie Mellon University has developed collaborative robots called CoBot complete tasks be asking humans and other robots for assistance. CoBot rolls around the halls of the computer science department, with the offices layout memorized. COBOT can escort a human to a professor's office pressing buttons on the elevator and letting COBOT know when its on the correct floor. A CoBot that is instructed to go to a professors' office upstairs can be alerted by another CoBot that the professor is currently out of office. Watch the CoBot's artificial intelligence work in action.
Make Work Welcoming
You may expect the nailing of 95 thesis by women of the tech industry explaining how work can be welcoming. Honestly making the work environment welcoming to everyone is pretty simple. There are probably more but here are the top three most focused on.
1) Celebrate Results And Not Hours - America is prideful of long hours and drinking lots of Starbucks. However, long hours doesn't necessarily efficient. Reward your employees and team mates for successes. be mindful that their hours fluctuate dues to personal matters and simply having a life outside of work.
2) Paid Parent Leave - Who doesn't want to spend time with their kid? This improvement is a no-brainer.
3) Mentorship - Talent can be retained in a company by providing mentorship all throughout your career. People oriented and extroverted individuals may seek mentors naturally as well as seek to mentor others. As team and project leaders encourage those who may not
Final Thoughts on Grace Hopper Conference
Visually I could not imagine the support and number of women in technology at this conference. There were 12,000 women including a collection of engineers, software designers, project managers, CEOs, CTOs, start up leaders, programmers, and much more. GHC's majority is easily the minority and industry so solutions to solve this disparity were found. One solution discussed at GHC that show immediate impact includes showing others how fun technology can be through mentorship, hosting coding camps, visiting past schools to talk to current students, and holding maker challenges. Physically sitting down with someone and spending time to share a piece of the world of technology with them means so much more than any tweet, post and plea of advocacy. GET ACTIVE!
Well that solves the pipeline problem but retaining those interested in tech in tech roles can be achieved by making the work environments welcoming as shown above. When receiving my swag bag day one at GHC I pulled out a smart phone accessory with the Go Daddy logo on it thinking, "What on Earth is that company doing in my Grace Hopper bag?". A question backed by series of not so appealing ads. This question answered after Go Daddy CEO apologized for the companies actions and showed data on how they are improving company culture, Maybe this demonstration was a little clunky but still an attempt to right wrong, expose companies short comings, and move forward. Having conversations, coming up with solutions and following through is what it is all about.
Conference content wise I personally wish I attended more technical related talks as opposed to soft skill and leadership related talks. I found myself getting my tech fix by visiting the career fair booths with coding challenges. Yes, I am an Amazon Code ninja who now understands the magic of a static variable, inheritance rules and function following. Also fellow coders and I solved Best Buy's parsing challenge as well as finding all of the wrong answers. I consider attending GHC again in the future and bringing some more Minnesotans along with me.
WAYS TO GET INVOLVED
Host an hour of code party
Join a FIRST Robotics Team
Host a made with code party
Attend Square coding camp
Build Rube Goldberg machines
Join NCWIT (National Center for Women in Information Technology) Aspirations in Computing Community
An overwhelming aspect of the Grace Hopper Conference is the career fair and hosted lunches. During which you get to exposed to many career, learning and conference opportunities. I couldn't possibly take advantage of all these opportunities so I will share them with you.
Hour of Code: Everyone
Learn a bit of programming for an hour or longer if you like! Simply projects to get you jump started with programming.
Bank of America Internships: Current Students
Hiring and looking for interns in cyber security, user interface design, software, IT and more.
NCWIT Aspirations in Computing Community: Women in College
Attend conferences, access to exclusive scholarships, exposure to internship opportunities, join a support group of over 2500 like minded women who share a similar passion for computing. A support network where you can connect with others 24/7. There is always someone posting or responding on the Facebook page!
Google & Microsoft Internships: Everyone
At the Grace Hopper Conference Google & Microsoft heavily stressed that they are hiring and recruiting more interns and full time hires. They both offer parental leave meaning both parents get paid leave for many weeks for a child!
Best Buy: Everyone
During the career fair Best Buy was hosting a coding challenge which caught my attention. They displayed medium level code in various languages and you had to determine what it outputs. After completign the challenge they described various engineering, analyst and IT.
Code Camp | Square: College & High School Women
Five day to week long tech immersive camp where you code, practice leadership and complete group engineering projects.
NASA Co-Op and Internship: Current Students
Of course I am going to list NASA opportunities I Co-Op at NASA! Everybody in every discipline can contribute to NASA's mission and humanities goals to advance space exploration. There are current education, fashion design, art, engineering, computer science, and biology majors and more!
These are the first nine opportunities that popped into my head and I will share more as the conference progresses.
Perfectionist's paradise code
P.S. I deleted 2 empty rows in the 3rd file to make everything perfect
This was a fun one to look at. Whoever made this I hope it blew off some steam for them
Making good use of my Computer Science Degree
Post #90: The pillars of object-oriented programming: Object, Class, Inheritance, Polymorphism, Abstraction and Encapsulation, 2023.
Object-oriented programming is a fundamental concept present in numerous programming languages such as C++, Java, JavaScript, and more. It becomes straightforward once you truly grasp it, and that's precisely what this post aims to help you achieve. So, stop your scrolling for a second and delve into this post for a thorough and clear explanation.
To grasp OOP, let's begin by explaining the name itself: "Object-Oriented." This term signifies that OOP revolves around entities known as "objects."
An object in OOP is any entity that possesses both state and behavior. Consider a dog as an example: it has states such as color, name, and breed, while its behaviors encompass actions like wagging the tail, barking, and eating.
The reason we introduce the concept of objects in programming is to effectively represent real-world entities, a task that cannot be accomplished with conventional variables or arrays.
Now, what about classes? A class is essentially the abstract form of an object. If we take the example of a "dog," the object "Mydog" is a concrete instance, while the class "dog" represents dogs in a more general sense. Think of a class as a blueprint or template from which you can create individual objects.
Now that we've established the fundamentals of objects and classes. OOP is built upon four key principles:
Inheritance: Inheritance occurs when one object inherits all the properties and behaviors of a parent object. It promotes code reusability and facilitates runtime polymorphism.
Polymorphism: Polymorphism entails performing a single task in multiple ways. For instance, it can involve presenting information differently to customers or implementing different shapes like triangles or rectangles.
Abstraction: Abstraction is about concealing internal details while exposing functionality. Consider a phone call; we don't need to understand the intricate inner workings.
Encapsulation: Encapsulation involves bundling code and data into a single unit. Just like a capsule contains various medicines . In a fully encapsulated class (e.g., a Java bean), all data members are private, ensuring data integrity and controlled access.
I remember finding these images that explained these concepts using the 'Squid Game' series, and they are just perfect. So, I'm sharing them here and giving all credit to their owner :
Polymorphism , Inheritance , Encapsulation