My Aunt is the principal of a school in Bosnia and Hercegovina. The school is for Chinese children who's parents want them to learn a more western education, rather than Chinese. Every summer, they do a summer camp for the kids who stay in Bosnia and this summer includes a few different classes. The classes I'm teaching are Intro to Programming and Intro to Ethical Hacking. Each class of mine only has 6 students. I was planning on just passing teaching as my MP, but I figured I wouldn't want to pass a class with only 6 students.
First of all, these students only know Beginner English. When going through my presentations I was concerned that they would be lost with all the definitions and commands. That's why I created a Vocabulary sheet and a Command sheet for each student. ![[Pasted image 20250617101733.png]] This is what it looked like at the end. The students did really love not having to fully memorize every single command and instead being able to learn more about how the commands can be used.
The second problem I had was that my students really didn't like to speak up and answer questions. What was the answer? Force them! But the way I did it was through a quiz game. They had to split up into teams and choose students to answer questions. When I noticed that it was just one person answering everything, I had to adjust my lesson plans in order to make it so that they all were participating.
I also wasn't sure how much they understood, especially because it was just one of them answering. Because of that, I had to incorporate more activities with programming in class (rather than outside of class) so that I could track progress. If a student is more behind, I would have them complete an extra assignment that helps reinforce what they learned in class.
During camp, I was also both a Keyholder and Head of IT. This included every projector, router, school laptop and devices in the teacher's apartments (WHICH WAS CRAZY BUT WHATEVER). This meant, that with classes, I was repeatedly working 12-14 hour on-call days 7 days a week with about 10 hours of explicit work daily. One of the biggest ways that I helped to lower my workload was through looking at some of the simplest but most common issues and writing up how to fix them. The biggest issue that the teachers saw was how to setup their displays to mirror their screens. Because of this, I wrote up a paper on how to change their display to duplicate rather than extend. Because I had an hour of teaching a day, two of prep a day, and 7 more with helping out with student life, attending team meetings, helping other classes and doing IT, this was a good way to help the teachers fix some of their own problems.
When these children were taught in China, they weren't taught critical thinking AT ALL. They were literally just sat down in front of a textbook and learned how to memorize it. Now that they had to learn skills to build off of, I had to teach them how to figure things out for themselves. What was the best way to teach them? The deep end! One class, I told them to figure out my password into my webapp. They at first were confused that I wasn't just going to tell them exactly how to look it up, but when I told them to use google, look at lists online, or use GPT, they got into groups and tackled it.
The best way for these students to learn was to have them actually do stuff. In China, the teachers literally just lecture and only care about telling the students as much as possible, not making sure they know it. I decided to focus on helping them know how to use the commands on their cheat sheet and showing them how they could be helpful. I also decided not to get too too advanced with commands, since I didn't want to scare them away from programming.
This really surprised me tbh. They really learned the best when they talked it out with each other. They did the best during Programming when they all worked together to make an application together. They also really learned a lot about what works in a phishing attack when using it against their teachers and other students.
When i saw that they weren't talkative, I bought a full bag of candy to give to people who answer questions. This worked really well to get them to answer.
Originally, I had brought my server to host all services that the students would be attacking (web server + DVWA). However, their infra is CRAZY complicated for no reason. Therefore, I thought it would be easiest to pull up azure and learn how to make servers in the cloud.
Spooled up a DVWA server, a Kali jumpbox to use for SSH and three different web services. Those web services are on my github under GrantHaw/VAISPhishingCampaign, GrantHaw/VAISBruteForce and GrantHaw/pubsite. Pubsite is still currently up under ghaw.net. Troubleshooting the workflow via github actions by itself was def a 10 hour investment by itself.
Azure webservices work really well once they start working When creating a VM, like 20 different things are created as well (RG, IP, NIC, HD, ETC...) and need to be individually managed separate of the VM (which i lowkey love) Web Dev with Next.js