About
Welcome to JAVA 101!
JAVA 101 is a beginner Java coding course primarily directed toward middle schoolers with no prior background knowledge of any programming language.
I know what teachers will teach you and expect you to understand in class, and as such all of the content I provide in class will give your student a head start and a strong foundation in JAVA. Background knowledge of any programming language is not required in this course.
About Me
Andrew Chen graduated from Monta Vista High School (MVHS) in 2024 and is a freshman Computer Science major at Northeastern University. JAVA 101 is an original course I've created and hosted at Genius Academy. I've enjoyed spreading my passion for Java and computer science during every class, and have been pleased to see students develop a strong interest in computer science from my course.
Check out the section below my teaching credentials to see some of my hobbies!
Teaching Credentials
I completed an introductory course specifically focused on Java during my sophomore year of high school and took AP Computer Science A in my junior year of high school.
Here is a list of my knowledge in various programming languages and the computer science field:
Proficiency in JAVA Programming Language, basic knowledge of Python
Intermediate proficiency in Web Development/Design (HTML, PHP and Javascript)
Proficiency in common webhosting and web-building applications (Wix, HostGator, Squarespace, Google Domains/Google Sites/Google Analytics) and Linux Apache/Windows XAMPP localhosts
Proficiency in Linux OS (Bash Scripting, terminal commands, maintenance)
Working knowledge of the following Linux distributions: Debian, Ubuntu, Kali
Proficiency in Raspberry Pi OS and hardware/peripheral components
Intermediate proficiency in cybersecurity concepts/pen testing tools
Additionally, I have been an active member of the Monta Vista High School Speech and Debate Club since my freshman year of high school. The speech skills I have developed have enhanced the effectiveness of my lectures by making me an engaging and informative teacher.
I've competed in 26 national and state-level speech tournaments over 4 years. Here are some awards I have received:
Quarterfinalist at John Lewis SVUDL Invitational (11/17/23)
4th Place Finalist at Santa Clara University (3/18/23)
6th Place Finalist at Palm Classic (2/12/22)
4th Place Quarterfinalist at Annual Stanford Invitational Tournament (2/6/21)
I love teaching computer science because it lets me spread my passion for the topic, and allows young students to enjoy coding early. I've spent significant time creating the highest quality curriculum for this course: In November, I received a Gold Presidential Service Award for volunteering 302.4 hours.
The below table describes my experience teaching JAVA 101:
Tutoring Experience
Outside of JAVA 101, I have experience teaching STEM subjects as a tutor. I have been certified by the College Board and Schoolhouse.world, an online volunteer tutoring program, to tutor other students in the following subjects due to my strong performance on the SAT, AP Exams, or a diagnostic skills assessment:
SAT Math and SAT Reading/Writing (SAT College Entrance Exam)
AP Computer Science (AP CSA Exam)
Pre-Algebra, Algebra 1, Algebra 2
AP Physics
Reading and Writing (AP English Language & Composition Exam)
AP Biology (AP Bio Exam)
More information about my tutoring contributions and certifications can be found here <insert Schoolhouse account profile link showing tutoring stats and numerical quantities>
I am a tutor for Schoolhouse's SAT Prep community and SAT Bootcamp. In the latter program, I prepared 3 students for the digital-format SAT Test (dSAT) by tutoring 75 minute sessions twice a week for four weeks. (Date range of bootcamp: 2/9/24 - 3/7/24). I tutored for a total of 656 minutes as I often went overtime to ensure that students got the help they needed and fully grasped the concepts they struggled with. My students at Schoolhouse have described me as "super helpful", friendly, interactive, patient, fun, and providing good explanations to math concepts. I've even been told directly during a session that I make math fun to learn, which is fantastic!
Places I've Taught Java:
Genius Academy
Cupertino Library (for private tutoring)
My Hobbies
During my free time, I enjoy gardening, cooking, hiking, playing chess, and coding (I really mean it! Aside from exploring different computer science concepts through creating projects and improving my skills, I genuinely enjoy the process of making things that pique my interest 😊). The below section has pictures of some plants I've grown, some food I've cooked, and screenshots of some Java programs I've coded for fun.
This is a baby loquat tree I tended to for several months. I planted its seed after eating some fruit at a family gathering.
Here's what it looked like about 2.5 years after the first photo.
Here's what it looks like now! (Transplanted into the ground)
Left: 'Chocolate' hybrid mint, Center: Horseradish, Right: Blue Lake Pole Bean
Fun Fact: I did not intentionally grow the bean plant on the right. I grew beans in a nearby area about 2 years ago, and one of the seeds happened to sprout there! I tended to the plant after I realized it was the old crop I used to grow.
Sunflowers I grew during the summer of 2022. They grew as tall as my house's roof!
Brilliant-pink ice plant flowers in my backyard. This is an unedited image, nature is great!
The below three Java programs are ones that I have recently worked on during my free time for fun!
Abacus.java
This program graphically represents the addition and subtraction of numbers using the Japanese abacus. When I was six, I learned how to use this exact type of abacus to perform arithmetic calculations and do mental math quickly. I used my knowledge as inspiration for making this program, and I found it very fun to make! It was exciting translating the abacus algorithm from the classroom to this program and using the columns of the abacus themselves to calculate, just like with a real abacus.
Chengine.java
Chengine.java, a chess engine that automates winning the game by checkmate with a queen and king. Despite its lack of pieces, this was a particularly challenging program organizationally. There were so many edge cases to consider, and the game's many conditions that led to a draw were difficult to implement. However, I thoroughly enjoyed the process of coding this project.
AndrCam.java
This was one of my favorite projects! AndrCam is a USB camera surveillance/security system created using Java Swing GUI Components, Java awt, and SSH commands. Because many projects used "OpenCV" as the camera module for this type of program, I decided to use Linux's 'fswebcam' command to take pictures instead and transfer them over SSH so that your security footage would be securely available no matter where you were. AndrCam has useful functionalities such as alerting the user when motion is detected, multiple camera support, and logging of dates, times, and locations where motion occurred.
By the Numbers
<Add numerical achievements here: volunteering hours, awards/accomplishments, etc.> -> All info is in the above text box, relocate it to this section