I am Nathan Chu, a student at Fox Chapel High School interested in science and technology. Right now, my hobbies include being on an FRC team (3260) and rowing. I learned to program in 2020 which was the start of my interest in computer science. I want to be able to teach things to others so that they may discover their own interests in STEM, whether in computers or not.
- What is something that you think will be invented in the near future, and how will it improve peoples' lives?
- Make a Rube Goldberg machine with only the materials you can find around the classroom.
- Take something very simple in the classroom, and ask students how they think it is made. For example, for a bottle of hand sanitizer, ask students how they think the pump works.
- Zooming out- find a picture of something STEM related and zoom in. Have students guess what it could be, and zoom out after each incorrect guess.
- Maybe when introducing students, have them talk about their STEM identity (e.g. "I'm Nathan and I enjoy engineering")
- Breaking down something complex. Come up with a topic of something advanced (a rocket for example), and have students discuss what systems work together and how they work together.
- Try to come up with the worst invention you could think of. The goal with this would be to build a culture of learning by encouraging good brainstorming.
- Iteration circle (to help with teaching engineering design process and encourage good brainstorming and collaboration) - students are put into groups and draw an invention on a piece of paper. After a few minutes the papers rotate and the next group cannot erase anything- they can only add to the design. The resulting designs are shown at the end.
- Video games (minecraft, roblox)
- Superheroes (Marvel)
- Lego
- Pokemon
Harry the Puffball (60 min)
0-5m Talk about classroom rules and growth mindset. Ask questions to engage students as needed. Make sure students understand it is okay to fail and that they should learn from failure.
5-15m Questions about the upside down house. Encourage all students to ask questions and make sure everyone has a chance to ask one.
15-25m Split students into groups and have them brainstorm. Encourage everyone to contribute to the process and give time warnings so that each group settles on a design toward the end.
25-40m Students use the engineering-design process to iterate on their designs.
40-50m We have a discussion on what approaches worked and didn't. Groups reflect on their own designs and on other groups' designs.
50-55m The designs are measured and students vote on which they like the best.
55-60m Clean up
For a culture of learning, I would want to ensure that every student feels comfortable with failure. This idea is part of having a growth mindset- something I would like to encourage for students. Failure can be very discouraging, and I feel like it will be a challenge to teach students to use their failures to improve in the next iteration of their project. I would also like to encourage students to brainstorm. I think it might be difficult to have all students feel comfortable participating in brainstorming, especially if they feel like their ideas are "bad."
To address these challenges, I have ideas for tools which can help to solve them and encourage a culture of learning:
To help students have a growth mindset and learn from failure, I could devote a section at the end of each class where students talk about things that didn't work. To make it fun for the students, my tool would be a ball that students could throw around. The ball would be covered in stickers, and when a student describes something that didn't work and how they fixed it, they would add a sticker to the ball. This shows students who are less comfortable with failure that everyone fails, and that they can learn from it.
To help with encouraging brainstorming, I could make an "ideas box" out of a recycled cardboard box. Each student would have to put an idea (or more than one) on a sticky note into the box, and they will be randomly placed on a table when all students are done so that the authors remain anonymous. This allows less comfortable students to participate in the brainstorming process, and hopefully learn that their ideas aren't "bad." Instructors would still have to play an active role in ensuring that any criticism is constructive.
I liked that the mint tea lesson was well explained and very easy to follow. I especially liked the note that an instructor would be making a cup of mint tea along with the students to better explain it. I think that this would be an effective method for me if I were learning how to make a cup of tea. However, I think the lesson could benefit from the students being put into groups. This makes it easier for the instructor to manage the classroom, especially when kids could burn themselves with the hot stove or boiling water. Assigning tasks to each student in the group could make the lesson more manageable to students who are making tea for the first time while still ensuring that each student plays an active role.
I will be teaching Java (the programming language) and targeting people who have little to no experience programming.
This quick 30 minute lesson covers output to the console via System.out.println, int and double variables, and the operators +, -, *, and /.
Further lessons could include manipulating strings, handling user input, and using arrays.
0:00 - 0:05
public class Main {
public static void main(String[] args) {
System.out.println("hello");
// this is a comment
}
}
Output:
hello
The first 5 minutes of the lesson will be spent explaining the basic structure of the code above, specifically the System.out.println("hello"); line, and what comments are.
Students should understand that the code inside main is run when the program runs, but do not need to understand other aspects (e.g. classes).
If students have access to computers they will be able to write a program which prints whatever they want.
0:05 - 0:10
5 minutes will be spent to cover basic arithmetic operators (+, -, *, /) and using them with variables of type int.
public class Main {
public static void main(String[] args) {
int variableName = 1;
// creates a variable, `variableName`, which stores the value 1
// we can update a variable as well
variableName = 2;
// the variable `variableName` now refers to the number 2
// we can add, subtract, multiply, and divide using +, -, *, and /
// parenthesis are used to group operations
// when using int, dividing rounds down
variableName = (3 + 4) / 5;
System.out.println("variableName is now:");
System.out.println(variableName);
}
}
The teacher can ask the class what variableName is and explain why it is 1 if needed (not 1.4).
0:10 - 0:20
In the next 10 minutes students will work on a project.
Given a user's age in months, print whether their age in years (round down).
Students will start with the following code:
public class Main {
public static void main(String[] args) {
int ageInMonths = 122;
// your code here
// expected output: 10
}
}
Answer:
public class Main {
public static void main(String[] args) {
int ageInMonths = 122;
int ageInYears = ageInMonths / 12;
System.out.println(ageInYears);
}
}
Once students reach this, move on to the next portion which will introduce if statements.
The program should print whether the user is an adult (≥ 18 years).
This will be done as a group, and eventually the following will be written
public class Main {
public static void main(String[] args) {
int ageInMonths = 122;
int ageInYears = ageInMonths / 12;
System.out.println(ageInYears);
if (ageInYears >= 18) {
// adult
System.out.println("Adult");
} else {
System.out.println("Not Adult");
}
}
}
0:20 - 0:30
It will be explained that int variables cannot store values that are not integers and doubles are commonly used to store numbers which may or may not be integers.
The teacher will explain the the following code in detail:
public class Main {
public static void main(String[] args) {
double variableName = (3.5 + 4.5) / 5.0;
System.out.println(variableName);
}
}
Output:
1.6
Then, given the formula 1.8c + 32 = f, students write a program to convert celsius to fahrenheit.
public class Main {
public static void main(String[] args) {
double celsius = 22;
// your code here
// expected output: 71.6
}
}
An example answer:
public class Main {
public static void main(String[] args) {
double celsius = 22;
double fahrenheit = 1.8 * celsius + 32.0;
System.out.println(fahrenheit);
}
}