My CSCI 104 Journey

CSCI 104 at USC was simultaneously the most challenging and most rewarding class I’ve ever taken. At times, it made me feel like a powerful, capable programmer who could solve any problem. At others, it made me question my abilities as an engineer. In the end, I realized that I learned more in that class than any other. The learning curve was steep (nearly vertical), but I made it through and gained invaluable skills along the way.

When entering the class, I hadn’t taken CSCI 103, the typical prerequisite class for 104, so I took the challenge exam to waive the requirement using my knowledge from a summer class. After passing, I thought I’d be well equipped to handle CSCI 104. I was not.

I quickly noticed the gaping holes in my understanding and the depth my summer course had neglected to go into. I didn’t know what a linked list was and had barely even seen the phrase “memory allocation.” Pointers were a mystery to me and I had virtually no understanding of how multiple files link to execute a program.

Unfortunately, our first programming assignment was to implement functions for an unrolled linked list by dynamically allocating memory for each node. I had to learn fast how all of those things worked. I spent hours in office hours talking to CPs and TAs, trying to clarify my understanding. I spent every free minute Zooming with classmates, writing test cases, and debugging. By the end of the 2 weeks (where in the first one, I had pored over and submitted a tedious runtime analysis assignment), I was absolutely exhausted. I soon realized that this was going to be the quick pace and extreme time commitment of the class. 

Despite this, I was determined to master it. I had talked to previous 104 students who always advised me to start the assignments early. I’d start them the day they were released, writing out pseudocode and working through the written portion of the assignment. I built my schedule around attending office hours and waiting in the online queue for my turn to talk with a CP. I’d come with questions, diagrams, explanations, and misunderstandings, spending valuable time with them to work through each assignment.

The class was beyond frustrating at times. The infamous AVL tree assignment took me upwards of 40 hours, most of them frustrating debugging sessions where I drew tree after tree with rotations and pointers and arrows all over. My stress level peaked during the two weeks of this assignment. Even though I had started early, I still felt behind, anxious when I scrolled through other students’ complex questions about the final part of the assignment, and honestly didn’t know if I’d be able to finish it. Since each part was dependent on the previous one, I couldn’t even begin part 3 until the day before the deadline. It was a struggle until the very end but I finally was able to find my bugs and turn it in on time. Weeks later, I learned that my code had passed all the tests.

Screen Shot 2021-05-25 at 1.54.35 PM.png

In this class, I learned about C++. I learned about recursion and graph induction. I learned about binary search trees and amortized runtime analysis. But the most important thing was that I learned about discipline. I learned how to ask questions in a constructive and meaningful way. I learned how to manage time effectively and strategically approach problems. I learned how to use my resources and make connections with people. I learned how to be a good computer scientist. 

I will never forget the incredible friends I spent hours testing code with on Zoom. I will never forget the panicked GroupMe messages before and after our midterms or the day before our assignment due dates. I will never forget the dedicated CPs who helped me survive through this class, patiently introducing me to concepts and helping me strategize through my problems. It was a roller coaster of a semester, but I enjoyed the process and can’t wait to continue developing my skills.

Above: covers of the three 20+ page reference sheets I put together for each exam. Each contained an extensive overview of each topic covered in lecture along with handwritten examples and helpful visuals.

GirlCon DIGITAL 2020

Instead of hosting the usual 250 attendees for 15+ breakout sessions in Chicago, this year, the GirlCon team welcomed over 730 attendees to engage in more than 30 sessions. We gathered girls from over 30 different countries, and every single one brought passion and excitement.

GirlCon Digital 2020 finally came to life last week and was nothing short of spectacular. While the conference did not look like we’d imagined after 6 months of Zoom calls with speakers, late night team meetings, frantic emails, and color-coordinated spreadsheets, we could not be more grateful that we were able to make the conference virtual and invite so many girls to share in GirlCon’s inspiration. 

It was truly an honor to plan and host this conference. I enjoyed every minute of the connection and inspiration that each session and keynote speaker sparked. Thank you to everyone who participated this year. The empowerment, networking, and interest that have all taken place this week would not have been possible without you.

I can’t wait to see the magic of GirlCon Chicago continue to empower young women to pursue their goals in technology. See our website for more information about this year’s conference (girlconchicago.com), and check out our social media pages (@girlconchicago on Instagram, Facebook, and Twitter) for updates.

IMG_0617 2.JPG

The Power of a Mentor

It only takes one message-- one simple act of reaching out-- to start a conversation and establish the start of a relationship. My mentor, Cheryl O’Donoghue, reached out to me with a simple “hello” after she had been inspired by a few of my accomplishments. She wrote in an email to me, “Let me know when we can chat!”

This little message galvanized a mentorship that has opened up tons of opportunities for both Cheryl and me throughout the past year. I am grateful for everything she has taught me and enabled me to achieve. The power of a mentor is essential in paving the way for advancing in one’s field and forming connections.

I am thrilled to share the news that Cheryl’s newest book, How to Be an Emotionally Intelligent Leader, has been released! Twenty emotionally intelligent leaders (including myself) are featured. See this press release for more information. The PDF of my chapter can be accessed here.

Ariana Goldstein_V2_Book Launch.jpg

Fight On!

I began my college applications last summer. Dozens of essays, countless interviews, and hours of agonizing discussions later, I have finally committed to the University of Southern California. I will be studying Computer Engineering and Computer Science in the Viterbi School of Engineering as a Presidential Scholar in the fall. I am thrilled about this opportunity and can’t wait to get on campus and experience it. USC Class of 2024!

IMG_3248_Original.JPG

Code-A-Thon 2019

After months of developing HTML guides, organizing board members, coordinating outreach, and orchestrating logistics, I saw GirlsCode’s annual Code-A-Thon finally come to life on Sunday, November 24th. Over the past few months, along with the GirlsCode board members and Programming Pros, I planned what turned out to be a successful event that spread computer science to the community and ignited a passion within the next generation of coders.

The event was held at the Highland Park Public Library and welcomed people of all ages and genders, no matter their experience level, to engage in computer science and hear from a speaker in the field. We created four different stations for attendees to choose from: Scratch, HTML, Encryption, and Binary Bracelets. At the Scratch station, Programming Pros guided participants through the design and functionality of their own original games. There were guides ranging from beginner games (such as building an ice cream sundae) to advanced games (such as constructing an Etch-A-Sketch game). At the HTML station, coders with a bit more experience learned how to create and style web pages. The Encryption and Binary Bracelet stations offered “unplugged” activities that could be completed without computers. Participants could learn about the way computers secretly exchange information through encryption, and then they could understand the way computers think with binary by making bracelets with black and white beads. 

After an hour and a half of exploration, participants grabbed snacks and gathered to hear from Stephanie Diao, a computer science major studying at Northwestern University. Lexi (my co-president) and I asked about her experiences in a Q&A format, and we opened it up to the audience to ask as well. 

Everyone was welcome to take home a GirlsCode sticker and had plenty of code to showcase to their families. It was incredible to walk around and see the excited smiles of all participants, young and old, as they added fun characters to their Scratch games or strung beads onto their Binary Bracelets. I can tell that we truly made a difference in their lives. We enabled them to become immersed in the STEM field and work with mentors and role models. I know that this event helps GirlsCode in its mission to close the gender gap in technology and advance innovation in the field, and I look forward to planning similar initiatives throughout the rest of my time with the organization. 

See these pictures and video compilation for a closer look at the event!

GirlsCode + #MarchForSisterhood

Last week on the Day of the Girl (October 11th), the first-ever, all-digital march occurred. Created by the women at Girls Who Code, this #MarchForSisterhood movement encouraged girls from all over the world to stand up for what matters to them, empowering them to make a difference in their communities and across the globe. It invited girls from all different backgrounds and beliefs to participate by using the #MarchForSisterhood hashtag, posting videos of themselves marching, and spreading awareness about their passions.

When I heard about this movement, I thought that its mission aligned perfectly with the purpose of GirlsCode. Both focus on inspiring girls and showing them that they can achieve anything they put their minds to. Because of this, during our all-member meeting, I led our members to participate in the march by filming videos and making signs with #MarchForSisterhood in the center. The ability to participate in a movement larger than our immediate community was incredibly valuable and empowering for GirlsCode members and emphasized that women can change the world.

Watch this video I created to see the amazing contributions of GirlsCode members and to learn more about the movement:


An aMAZEing Three Weeks

During the past 3 weeks, I attended the Creating Hardware and Software for Embedded Systems course at Stanford University. When I arrived on campus and walked into class on the first day, I was worried that my lack of experience with hardware would hinder my progress because I have never done robotics or manipulated motors, especially in combination with software. I had no experience with microcontrollers or wiring or, really, anything that had to do with computer engineering. I barely understood what an embedded system actually was. 

My Embedded Systems classmates, professor, and teaching assistants

My Embedded Systems classmates, professor, and teaching assistants

However, with guidance and inspiration from my professor and teaching assistants, I was able to develop a fully functional project that relies heavily on physical wires and motors while also incorporating code I wrote myself. By the end of the program, I learned how to wire an Arduino with sensors and lights, fabricate a functional and precise prototype using a laser cutter, and combine hardware and software with a Raspberry Pi. I loved having the opportunity to get a crash course in the physical components that produce embedded systems. Not only did I thoroughly enjoy the in-class content, but I also met an incredibly diverse group of people who, despite our common interest in engineering, enabled me to learn about different backgrounds and lifestyles.

I have become a more inquisitive, open-minded, and knowledgeable student throughout the past 3 weeks. This course encouraged me to work independently and use my resources, asking for help when I couldn’t figure something out. I became much more resilient when addressing and overcoming failure. Also, since I worked with a partner for my final project, I also became a more effective collaborator and learned a lot from her. Along with this collaboration, I learned how to live in a community with people from all different cultures, backgrounds, and experiences. I loved hearing about the variety of languages people speak (both verbally and with regards to coding!), the range of schools people study at, and the huge collection of hobbies people enjoy. I loved getting to know all kinds of personalities and interests. This made me more attentive, perceptive, and spontaneous.

Besides the non-concrete skills and relationships I developed, I also learned many engineering concepts. I learned how to program in C++, work with Arduino hardware, handle motors, utilize and connect wires to a breadboard, use sensors as input for a system, and fabricate prototypes using a laser cutter and soldering. The individual exploration through all of this hardware and software was helpful, but it was equally enriching to discover other people’s projects and hear about their ideas. All of the students in the Embedded Systems class are incredibly intelligent and innovative. I loved having the opportunity to see the wide range of ideas come to life through dedication and perseverance.

See the photos below to learn more about some smaller projects and my final project, a tilt-controlled maze. With another girl in my class, I laser-cut and constructed a maze, connected motors and soldered wires to a piece of hardware called a Circuit Playground, and programmed using C++ to create a functional maze that can be connected with another to race. See this link for our presentation and a video.

Learn to Code, Change the World

The mantra above is precisely the reason why I applied for a job at the CoderSchool. The organization’s motivation is a desire to expose kids to coding, teach them to program, and enable them to change the world through technology. It focuses on an individualized, engaging, and multi-faceted approach to coaching and encourages kids to get involved in code as much as possible. I couldn’t agree more with these motivations.

My passion for closing the gender gap in technology is exemplified largely in my efforts to involve the younger generation in coding. When students learn to program at a young age, they are more likely to continue to develop their skills and pursue a career in the STEM field. I love my role at the CoderSchool because it allows me to inspire kids of all genders and ages, giving me the opportunity to empower them to change the world. This being said, I have mainly worked with boys so far, but I plan to continue to be a role model for the girls who do have a passion for computer science and will encourage more females to get involved in the organization.

As a Code Coach, I develop lesson plans and projects for campers and students, conduct one-on-one sessions with kids where I teach them to code, and help coordinate schedules for classes and camps. The position has helped me become more patient, responsible, adaptable, diligent, and creative. Each day brings a new challenge and an opportunity to learn new things. I look forward to seeing the CoderSchool develop further in the future and getting more involved in its initiatives.

public.jpeg

What Sparked My Interest in Electrical Engineering

This past week, I attended a female-focused electrical engineering camp at the University of Illinois. Before day 1, I had no experience with the circuits or energy or, really, anything that had to do with electrical engineering. By the end, I learned how to fabricate photovoltaic cells in a class-100 cleanroom, created and wired a circuit using interconnected components and complex logic gate relationships, and explored the applications of nanotechnology by investigating research labs. Not only did I thoroughly enjoy the in-class content, but I also met an incredibly diverse group of people who, despite our common interest in engineering, enabled me to learn about different backgrounds and lifestyles.

Together, my 20 fellow members of the GLEE (Girls Learning Electrical Engineering) camp went through a rigorous course that involved lectures, projects, lab tours, hands-on activities, and work outside of class. I loved interacting with the various professors and students who led sessions and taught different topics. They enriched my experience and provided amazing role models for me to aspire to as I enter the college process and eventually my career.

One of my main takeaways from this camp was the idea that women are underrepresented in STEM, and programs such as GLEE are necessary to encourage and enable them to pursue their interest in the field. My female peers as well as the accomplished role models motivated me to continue my STEM path and I will take the lessons I learned with me in the future. This was an amazing opportunity that I hope many other girls will get the chance to experience.

#RaiseYourHand

After countless email blasts, social media posts, conference calls, emails, meetings, and lots of hard work, I saw GirlCon 2019 finally come to life on Saturday, June 15th. The second annual Chicago-based conference was held at Google’s Chicago office and welcomed over 250 high school girls and 30 industry professionals to a day filled with inspiration and collaboration. Attendees learned how technology is embedded in every career field, hearing from empowering keynote speakers and engaging with fellow attendees during breakout sessions.

I attended the incredible event’s inaugural conference last year (see my earliest blog post), and I was so inspired by its message that I applied to be on the planning team. I became a member of the close-knit CORE team of 6 girls that coordinated the venue, logistics, social media, speakers, food, sponsorship, and many more key components that made the event possible. Along with the national, ambassador, and design teams, we put together a truly inspiring event.

My main roles on the CORE team included outreach through social media and email, coordination of workshop leaders, keynote speakers, and sponsors, and planning of logistics such as the schedule and venue. I worked closely with the rest of the team to exchange ideas and plan the special day. We created and spread a hashtag this year, #RaiseYourHand, to encourage girls to share their voice and enter the conversation about getting females involved with STEM. We strive to continue this movement far beyond the event, showing girls that they have amazing potential and can achieve anything they aspire to accomplish.

See the photos and video below for an inside look at GirlCon 2019:

36 Hours of Discovery, Creativity, and Inspiration

Over spring break, I spent 36 hours in a row coding a full-fledged website, meeting other girls passionate about technology, and learning new languages and skills. This amazing experience was at my first hackathon, TechTogether Boston, Boston’s largest all-female & femme non-binary hackathon. The event brought together an incredible community of girls with diverse backgrounds and unique interests to produce a truly empowering weekend. I was able to form a team with a few girls from across the US and together, we developed a functioning website, attended workshops where we heard from inspiring leaders, and experienced all the engaging activities the hackathon had to offer.

The website that we coded using HTML, CSS, and JavaScript exemplifies a more approachable, accessible, and affordable way to address mental health. We were inspired by the lack of resources available for people struggling both in our immediate communities and all over the world. The website contains resources for situations ranging from urgent matters day-to-day frustrations, offering a one-on-one online chat or relaxation techniques to the user. We named the website “Vent” as a representation of the way that users express their emotions and achieve the necessary help and relief they seek through the program.

This weekend was not only inspiring to me because of our polished final product. I was able to learn how HTML, CSS, and JavaScript interact to create a complete website, participate in a surprisingly competitive and very strategic cup-stacking challenge, work alongside accomplished mentors, and hear from many motivated women who are enthusiastic about STEM. This experience further strengthened my passion for STEM and drove me to become more involved in closing the gender gap in technology. Events that lift up women and encourage them to succeed like this hackathon are essential, and I hope that I can contribute to this effort as much as possible. Learn more about our project at this link.


Why GirlsCode Matters

It is no secret that technology is becoming increasingly embedded in society and necessary for innovation. However, only 50% of the population is getting the chance to be involved. Women make up more than half of the US workforce, but they make up less than 25% of jobs in technology. This shocking statistic exists for a variety of reasons. Lack of exposure to STEM (science, technology, engineering, and math) in school, limited access to computers or Internet, and discrimination in the workplace or university are a few of these. Appalled by the gender gap in technology, I joined with a few other girls last year to tackle another fundamental problem that contributes to the gap: a lack of opportunities to engage in computer science in school.

Together, we founded GirlsCode, the first club at my high school dedicated to women in computer science. We host weekly meetings where members learn to code, hold fundraisers that support girls in STEM, and plan events such as our recent Code-a-Thon that involve our entire community. We have over 150 members in our club, and we’re proud to say that the majority of them are female.

Our first semester at HPHS saw tremendous success. We are looking forward to more code, empowerment, and excitement for the rest of the year and beyond. Here are some highlights from 2018:

Communication Without Barriers

Each year, members of Congress from across the country encourage students in their districts to learn to code by administering the Congressional App Challenge. This contest invites students nationwide to produce apps that address problems locally, nationally, and globally. As soon as I heard about this opportunity, I was inspired and eagerly began developing an idea. I wanted this solution to be motivated by my own experiences and solve a problem in my life, so I focused on combatting the difficulty of learning another language.

At the showcase with Congressman Brad Schneider

At school, I take Chinese as my foreign language. The writing and speaking of Chinese are quite precise and difficult to perfect because of the complex characters and distinct tonal pronunciation, features that contrast significantly with many other languages such as Spanish. Throughout my three years of immersion in the language, I have noticed that consistent studying, as well as effective conversation practice, are essential to mastery.

With these objectives in mind, I developed an app called Language Lab using the coding language Javascript. By allowing users to meaningfully engage in another language, my app connects and unites people from around the world. Its features include Learn (which allows users to master the basic mechanics, grammar, and vocabulary of a new language), Practice (which notifies users to improve their skills with a variety of interactive exercises), and Chat (which enables users to connect with native speakers across the world and learn about their culture). The rare ability to connect personally with someone whom you have never met face to face-- while still learning meaningfully about their language and way of life-- motivated me to create this app, and I believe that its impact extends far beyond vocabulary flashcards. It can break the language barrier between cultures.

Last weekend, I was honored for my submission by Congressman Brad Schneider. The experience has inspired me to continue developing my passion for computer science.

Check out my submission on YouTube to see a walkthrough of the app.

GirlCon's Inspiring Impact

A few weekends ago, I attended an event hosted at Northwestern called GirlCon (see girlconchicago.com for more information). This conference, open to middle and high school aged girls, revolved around technology’s involvement in every career field. It aimed to encourage female empowerment. Throughout the day, girls attended breakout sessions that focused on specific topics, such as cybersecurity or art, and were led by influential professionals from numerous companies. The opening ceremony, lunch break, and closing assembly each featured an inspiring keynote speaker. The conference brought together a community of motivated girls as well as an accomplished group of amazing role models, providing the perfect opportunity for attendees to ask for advice and secure connections. The directors of this program, Kyla Guru and Molly Graton, stated that their goal was to make everyone feel empowered to reach their potential. After experiencing the conference, I must say that they achieved it.

See this video I’ve put together for a closer look.

A compilation of videos from an inspirational STEM conference at Northwestern on June 16, 2018