Tumgik
adadevacademy · 5 years
Text
Meet our New Director of Education: Bethany Lindsey!
Tumblr media
Bethany Lindsey, Director of Education (she/her) 
Share a little bit about your background and previous experience in education.
Education is my career. I have worked in schools as a teacher, volunteer, or admin since I graduated from college. Most recently, I was working as the Program Director at Galvanize's Seattle office. I truly believe that education is the best way to create positive change in the world. 
What part of Ada’s mission resonates with you most?
Ada's mission really resonates with me on so many levels. I have always been passionate about social justice issues, and Ada puts my administrative skills together with my values. 
What are you most excited about as you take on the role of Director of Education?
I love being a part of a student's transformation process. My favorite thing is seeing the student go from a very nervous/excited person on Day 1, to an unsure student in the middle of the course, to a confident graduate with a new job. The Director of Education position allows me to be a part of that process, and help craft a part of that journey.
How do you see your role in helping the Ada program grow and move forward?
In my household, we joke that I am a tornado of organization. I like to come into a new situation, consult with stakeholders, and streamline processes and create order.  
When not at Ada, what are some of your favorite pastimes?
I love to read, run, and spend quality time with my kids and husband. 
1 note · View note
adadevacademy · 5 years
Text
Teaching Inheritance, Revisited
By Dan Roberts, Lead Instructor, Interim Director of Education
In a previous post we discussed the problem of teaching inheritance in object-oriented programming. Ada's curriculum relies heavily on inheritance, so we asked three questions:
What about teaching inheritance is hard?
How is inheritance used in the real world?
Given those constraints, how can we teach inheritance more effectively?
We identified that inheritance solves a complex problem, and that the way inheritance is typically taught doesn't correspond well with how inheritance is used, particularly by engineers early in their career. Recognizing this discrepancy, Ada rolled out an updated version of our inheritance curriculum this cohort focusing on realistic applications.
Results
Anecdotally, all four classroom instructors found the revised curriculum to be highly effective. Students seemed to have a much stronger grasp on inheritance than in previous cohorts, and the beginning of our Ruby on Rails unit was as smooth as it's ever been.
However, we don't have empirical support for this result. Part of this is a problem with experiment design, namely that we didn't do any. If we were thinking ahead we would have designed an assessment to measure students' knowledge of the theory and application of inheritance at a specific point in the curriculum, and given the same assessment to each cohort. We also would have run the experiment in a controlled fashion, making this the only large change to our curriculum between cohorts.
What we have instead is a random smattering of weekly quizzes and assessments that touch on inheritance only tangentially, many of which changed substantially between C10 and C11. We also made several medium-to-large changes to our curriculum for C11, any one of which could have influenced the results.
I did spend an afternoon massaging assessment data, trying to eliminate questions that were or irrelevant or that changed from cohort to cohort. Even so, I was not able to find a statistically significant difference in performance between the two groups of students.
I also looked at project feedback from the first two individual Rails projects, to try and confirm the theory that this new approach to inheritance would ease the transition into working with a framework. We give each student an overall "grade" of red, yellow or green for each project; I converted these into numbers 1-3 and ran a quick regression. Again the results were inconclusive - no statistically significant difference between the scores for the two cohorts.
This lack of results could have a number of explanations. It could be that the inheritance changes worked, but other changes we made to the curriculum cancelled out the gains. It could be that in the absence of an explicit points-based grading system for projects instructors allow their expectations to adjust to the current class, snapping results to an implicit curve. Or it could be the new curriculum truly wasn't any more effective than the old one.
So we find ourselves at an impasse. On the one side we have our teachers' intuition, that students understood and retained inheritance more effectively with the adjusted curriculum. On the other side we have a lack of concrete data. It feels like we're onto something worthwhile here, but we don't have any way to prove it, to ourselves or to anyone else.
Moving Forward
In future cohorts we'll continue using the new version of our inheritance curriculum. Instructors found the new curriculum easier to teach, and we're reasonably certain it didn't have a negative effect on students, so there's no reason to revert.
While the lack of positive results is disappointing, to some extent I believe this is a sign of the maturity of Ada's curriculum. Most of the obvious, highly beneficial work has already been done, and future changes are not guaranteed to be improvements. If we want to continue to innovate and discover better ways to teach our students, we have to be deliberate and intentional in our work.
Specifically, before embarking on significant changes to our curriculum or teaching practices, we need to ask ourselves the following questions:
What problem are we addressing, and why?
What will we change, and why?
How will we know whether the change worked?
What else might affect the results?
This matches my intuition about software development. Early in a product's life cycle the positive impact of work is easy to see: implementing missing features and fixing obvious bugs are clear wins. Once a product is mature big changes become more risky, and scientific development practices such as A/B testing and performance benchmarking must be used in order to ensure forward progress.
In both cases, working on the more mature version essentially follows the scientific method:
Observation (something about the curriculum / product isn't working)
Hypothesis (what is the root cause of the problem)
Prediction (if we change X, then Y will be better)
Controlled experiment (measure Y before and after, control for confounding variables)
The challenge facing our instructional team over the next year or two is pivot our development practices from the fast-paced, fly-by-the-seat-of-your-pants approach that has gotten us this far, to a more measured style that will help move us forward. The trick will be to do so without abandoning the fire, passion and excitement that we currently bring to our work. Building out process and practices will largely fall on our newly hired Director of Education, but everyone on the team will have a part to play. I am confident that we are up to the task.
1 note · View note
adadevacademy · 5 years
Text
Meet Our New Program Manager Gabriela!
By: Gabriela Pinto (she/her), Program Manager - Philanthropy & Communications 
Tumblr media
I am excited to join the Ada family as our newest Program Manager of Philanthropy and Communications! 
Working closely with our Director of Strategic Partnerships and Development, Alexandra, I look forward to strengthening community support for our Adies, expanding our fundraising channels to create a foundation for growth in our programs and cultivating and sharing the amazing stories from our current and past students. 
Before landing at Ada, I spent the majority of my professional and personal time working and volunteering with nonprofit organizations in my second home of Houston, TX. Just like Ada, these orgs focused on empowering individuals and giving them the tools needed to change their lives, and this new opportunity to champion our mission and grow donor support for Ada and its’ programs is an exciting challenge I look forward to tackling! 
Beyond raving about Ada’s mission to anyone who will listen, my favorite pastimes include reading non-fiction novels, traveling with my sisters and always cooking way too much food for the amount of people I invite to dinner. 
2 notes · View notes
adadevacademy · 5 years
Text
Unpacking the Ada Loan Fund: Why it Matters & How it Works
We get lots of questions from alums and donors about how the Ada Loan Fund works.  We know it’s a bit confusing so we wanted to put together the following guide to bring clarity.  Access to low-cost, unsecured loans is hard for many students, so this is where Ada steps in to help fill the gaps so students can cover living expenses while they attend Ada.  We recognize that some students could receive loans from conventional banks which have more market driven interest rates (9-14%), but removing barriers for ALL participants was the goal we set out to achieve.  The Fund was designed to provide financial support and assistance to Adies during their program participation.  Since inception,144 Ada students have taken out loans totaling over $1.8M! 
Who is Craft3?  Our loan partner, Craft3, is a nonprofit which specializes in loans and financing for individuals in WA and OR.  They created a unique program tailored to Ada’s needs.  Some of the initial loans for Cohort 3 through 8 were funded by major donors or were managed completely by Craft3 (where the principal and financial risk belonged to Craft3). Since the principal for these early loans was covered by others, Ada raised a loan loss reserve fund of $100K to help secure these loans against default. Since Cohort 9, Ada has had to bear the responsibility for the Fund’s principal and Craft3 has served as the management partner helping track and collect payments. 
How does the Loan Fund work now? 
For the past 4 cohorts, Ada has raised $200-250K every 6 months to cover the loan needs for the incoming cohort. In each new cohort, 15-20 students request and receive loans for up to $15K. The loan term is 5 years with a 1 year deferral, beginning after Adies complete their internships.
Where does the money go? 
With the current loan structure, all loan payments, including principal and interest, go back into the revolving loan fund to be re-loaned to new students. In March 2019, this repayment cycle began with Cohort 9.  While in repayment, Adies can take the full 4 years after they graduate or pay the loans off more quickly to help us refresh the pool for new loans.   Contributions made as part of our fundraising efforts throughout the year also get designated and tracked specifically for the Loan Fund.  Ada covers all of the expenses for loan administration out of our operating funds, so every dollar raised and repaid gets reloaned.
When do we get to fully “revolving”? 
Since the current Loan Fund started in 2018, we have a few more years before 100% of the funds loaned out are fully available to be loaned again.  Each year, as Adies repay their loans and generous donors help us make more funds available, the amount that needs to be raised decreases.  As a result, Cohort 9 repayments are now funding Cohort 12 loans!  If the Ada program or the demand for loans grow with the increased cost of living, the amount required for the Loan Fund will also grow, to ensure that needs are met for all students who apply. Currently, we are gathering information for our strategic planning process, and with that, we are working to define our target student as well as decide on a new campus for Ada. Once we have a solid plan, we will share the decisions made as well as talk about how that will impact the Loan Fund need.  
What do the Adies who have received loans tell us?  
We know that your gifts and support help change the lives of Adies while in the program and make their participation possible.  Here’s what a few recent Loan Fund recipients have told the Ada team:
“The loan allowed me to live in Seattle.” 
“You are giving to such an AMAZING cause!” 
“Without the Loan Fund I wouldn’t be here!” 
“There’s people like me who are transitioning from domestic violence...the loan provides me the opportunity to come to Ada safely.”
Why Give?  
The Ada Loan Fund is a great way for our Ada alums to pay it forward, and make a big impact. Every dollar you give or repay gets loaned to Adies who are helping change the face of tech in our community.   Because of the high placement rate of Ada students post graduation, we’ve only had one loan default (less than 1%), which is amazing compared with the average student education loan default rate of over 10%.  
We know that transparency is important to the Adie community and we are happy to help share more stories and posts that help you see inside our work and help clarify our program goals and outcomes.  
Have a question about the Loan Fund loans in particular? [email protected] 
Have an idea for a future blog post?  Send us a note: [email protected].   
2 notes · View notes
adadevacademy · 5 years
Text
Meet Our New Instructor Jared!
By Jared Maddox (he/him), Instructor 
Hi! I'm Jared Maddox, my pronouns are he/him and I'm very excited to join as an Instructor here at Ada!
Before graduating from The University of Texas I got to join part-time staff at Lanier High School as a Tutor. By the time a graduated and moved to Seattle, I knew I loved teaching. I volunteered with Treehouse as a Tutor to satisfy my itch to teach while I worked at Amazon Music as a Software Engineer, building music support for Alexa. After a couple years at Amazon, I moved on to work at Remitly working on a backend software team there, where I got to work with several Adies (shout out to Nicoleta, Kate, and Semret!). I've enjoyed my time engineering but when I knew I was ready to grow in new ways, I realized Ada sounded like the perfect fit. I'm so thankful to be on the Ada team and look forward to welcoming Cohort 12 soon!
I just got a new apartment in Ravenna that I'm excited to move into shortly. When I'm not there or at work, I'll probably be watching a show at the Neptune, drinking coffee at Storyville (or 4th Ave, which is quickly becoming a new favorite!), or somewhere practicing meditation and yoga.
Tumblr media
0 notes
adadevacademy · 5 years
Text
Meet Our New Instructor Becca!
By Becca Elenzil (she/her), Instructor 
Greetings! I’m Becca and I’m super excited to join Ada as a classroom instructor.
I’ve worked as a middle and high school math and computer science teacher for the last five years, most recently at the Bush School in Seattle. At Bush I taught a number of different courses, primarily in Python, including Fundamentals of CS, Game Design, Data Structures & Algorithms, and Data Science. I also taught creative coding electives including Apps for Good using code.org's App Lab and Programming for the Visual Arts using the JavaScript library p5.js.
I first learned to code while studying mechanical engineering at the University of Michigan. I went on to earn my Ph.D. in Bioengineering at UC Berkeley where I studied the neuroscience and psychology of human motor control.
I live in Madison Valley with my partner Orion and our 2.5 and 6 years old kiddos, Viva and Magnolia. We can usually be found exploring all of Seattle’s best playgrounds by foot, bike, and scooter!
Tumblr media
0 notes
adadevacademy · 5 years
Text
Instructional Team Update
by Dan Roberts, Lead Instructor, Interim Director of Education
Hello Ada community! 
I've spent some time reading through your responses to the strategic planning survey we sent out a few weeks back. Something that stood out to me from the written comments is that we haven't done a particularly good job of communicating what the instructional team looks like these days. So with the "T" in SECRETS in mind, I figured I would write a little update on who's here and what we're working on.
Staff Movement
As you might have heard, Charles and Shruti both left the instructional team this spring. Shruti relocated to Boston and Charles has been traveling internationally. Both of them remain Ada fans and supporters, and you may even see Charles volunteering at Ada this summer to support capstones.
In the past Ada has scrambled to cover when an instructor leaves, but this time I would say we did alright. We brought Kaida Masaki on as a new instructional assistant in February, and she's done a fantastic job spinning up on our curriculum and tooling, and working on admissions for C12.
Heroic as always, in addition to his normal classroom responsibilities Chris covered the tail end of CS Fundamentals for C11. He will be transitioning to teaching CS Fundamentals full-time starting in C12 - be sure to congratulate him if you see him. We're quite excited about the ideas he has about where to take the curriculum, particularly around making sure everyone is prepared for interviews.
Devin too has been working hard - since she joined the team almost a year ago we've seen her grow wonderfully into the role of instructor. Now that she's overcome the challenge of the first year teaching she's started to make substantial contributions to curriculum and process, which is exciting to see.
One of the things we've been working on during this time is building out a hiring process for instructors that is efficient and repeatable. It's not as robust as I'd like it to be - we've struggled to find candidates of color, and the lead time for a hire is still too long. Even so, I would say Ada is much better equipped to hire an instructor now than it was in, say, December of 2017.
As evidence of that improvement, we had not one but two new instructors start on July 8th. Becca Elenzil is a high school computer science teacher with a Ph.D. in Bioengineering, and Jared Maddox is a full-stack software engineer with experience working with Ada students and alums. We're excited about each of them individually, but especially about the way their skill sets complement each other. Both will be classroom instructors for C12, Jared teaching the Branches classroom with Dee, and Becca teaching Leaves with Devin. You'll see proper introductions from each of them in the next week or so.
Leadership
"Wait a second Dan" you might say, "your name isn't on that list of teachers!" Good observation. I will be taking some time away from Ada during C12 to relax and travel, with the goal of returning to Ada in the spring of 2020. Let's talk about what that means for the team's leadership.
First, the Director of Education role. The DoE is the manager of the instructional team, and handles staffing, career growth, and coordination with the other parts of the org. I've been bungling through this in addition to my regular Lead Instructor job in an informal capacity since June of last year, and formally since the end of October.
This hiring process for DoE stalled out over the winter amidst the other changes that were going on, but since Christine Martin came on as our Interim Executive Director this spring we've made solid progress. TSNE HR will have my head if I give too many details, but I am confident that we will have the right person hired as Ada's Director of Education before the end of the summer.
Second, the Lead Instructor position. You can think of the lead instructor as equivalent to a technical lead on an engineering team - they're still teaching in the classroom, but they also establish best practices, coordinate instructor work, and serve as the final owner of the classroom experience. I am delighted to inform you that Dee will be taking on this role in August for the start of C12. Dee has been teaching with Ada for almost 2 years now, and they have done an excellent job of picking up the slack I've left while focusing on DoE work. They were a natural choice for the job.
Tumblr media
Special Projects
I said I would be traveling "with the goal of returning to Ada in the spring of 2020." What exactly does that mean, and what might I be working on? A lot of that depends on the outcome of the strategic planning process, which we'll be wrapping toward the end of the summer, as well as the ideas the yet-to-be-hired Director of Education will have about where to take the instructional team. But there are a few opportunities that stand out as likely bets, which we're working to lay the groundwork for now.
One project I'm particularly excited about is rolling out a continuing education program for Ada alums. The idea of a post-Ada curriculum is something we've had our eye on for a while now, and it was one of the ideas that got the most enthusiastic response in the strategic planning survey (right up there with a pre-Ada program, which we're also currently investigating). We see this as a relatively low-cost, low-risk way to better support our community and further our mission, helping our alums to move up the career ladder and into senior and leadership roles. We also hope we can make it a space where alums can retreat from the male-dominated world of engineering, reconnect with each other and provide the mutual support and caring that Ada is known for.
There were definitely some concerns along with the enthusiasm in the survey and we want to make sure we get this one right, with an eye toward equity and supporting the members of our community who need it most. We have already asked for some community input on this project, and we'll be sending out a survey to alums in the next week or so to get a broader perspective. If you have thoughts on what we should offer, how much it should cost or how the courses should be structured that will be your opportunity to share them. If you have more nuanced ideas that don't necessarily fit in a survey response, send me an email (dan at adadev dot org) and let's go get coffee.
Final Thoughts
We had a pretty rocky time in 2018, both on the instructional team and at Ada in general, but in 2019 it feels like things have stabilized. There's an energy, a forward motion, an optimism that is refreshing and sorely needed. We have some exciting new hires and a plan to grow the program in a way that is responsible and sustainable. It may sound a little corny (or like I've drank a little too much Kool Aid), but I feel better about Ada's prospects right now than I have at any time since I started. It's almost enough to make me regret taking this time off.
Almost.
0 notes
adadevacademy · 5 years
Text
Welcome Miriam Cortes!
We’re excited to welcome two new Alums as Advisory Board Members!  We caught up with Miriam Cortes from Cohort 6 to get an inside look on how Ada impacted she and her vision for board involvement.  
Tumblr media
Miriam Cortes, C6 Ada Alum [she/her]
Software Development Engineer, Zillow
HOW DID YOU FEEL WHEN YOU WERE ADMITTED INTO ADA?  
I was in disbelief! I was about to teach a class and it just felt unreal, like listening to someone talking when you're underwater.  You can kind of hear what they're saying but inside you're just going "huh??" I texted my parents, called a friend who had encouraged it and then started the class. I wanted to tell someone in person and I knew I was acting weird as I started the lesson so I told my students that I had just received some really great news (some of them had taken previous classes with me)...I kinda wanted to hug someone but that would’ve been super awkward!
HOW HAS THIS PROGRAM IMPACTED YOUR LIFE?
Because of Ada I've had more financial and job security than I ever had as a teacher. I feel mentally challenged every day yet supported by this great group of amazing people who only try to set me up for success and that feels amazing.
WHAT VALUE DOES ADA PROVIDE FOR THE WORLD?
I love that Ada proves that you don't need the stereotypical background in order to be successful as a software developer. I always thought you had to be playing with computers all your life to fit into a dev role, but it's not the case. Ada's spreading the word and opening doors for the non-stereotypical dev to be able to walk through.
WHAT DO YOU HOPE TO CONTRIBUTE AS AN ADVISORY BOARD MEMBER?
I want to make sure that as Ada grows we're not forgetting the students, interns and alums that work hard every day to keep making Ada's name great. It would be easy to think once we graduate that we're done with all things Ada, but we're still representatives of the org and our experiences should continue to shape where Ada will go in the future.
WHAT IS ONE OF YOUR FAVORITE THINGS ABOUT THE ADA EXPERIENCE/COMMUNITY?
How supportive it is. The Ada experience is stressful AF but I don't think I ever felt like I was going to break because I knew I could always reach out to people in my cohort or the Ada staff for extra support. 
WHAT IS YOUR TOP ADA MEMORY?
It's not one specific memory, but I will always love remembering annoying everyone with my ukulele playing, trying to film Ada videos while not being an awkward human, and laugh-attacks with people who became great friends.
0 notes
adadevacademy · 5 years
Text
Welcome Liz Rush!
We’re excited to welcome two new Alums as Advisory Board Members!  We caught up with Liz Rush from Cohort 1 to get an inside look on how Ada impacted her and her vision for board involvement.  
Tumblr media
Liz Rush, C1 Ada Alum [she/her]
Anti-Trafficking Technology Director, Seattle Against Slavery
How did you feel when you were admitted into Ada?  
I didn’t love my job so I felt a ton of relief that I’d get to go do an accelerated program like Ada. We only had around 20 days between getting our acceptance letters and the first day of class. Since I lived in Portland at the time, I mostly felt like, “Oh crap, I have to figure out moving and finding an apartment in Seattle now too!”
How has this program impacted your life?
Ada has opened so many different paths for me in the tech world. After graduating from Ada, I tried jobs at big companies, pre-seed startups, and consulting across all kinds of tech stacks and industries. Ada taught me how to learn technical skills above all else, so one of the best things I’ve gained through Ada is the confidence that I can adapt to any challenge.
What value does Ada provide for the world?
Ada is a wonderful program because it creates a whole network of skilled engineers who also care about addressing inequity in the tech industry. Rather than being just a coding course for individuals to enhance their careers, Ada places much more emphasis on the community aspects--learning and growing together and bringing that community out into the professional world to create a supportive network inside the industry.
I consider myself to be a really successful example of what an Ada graduate can do—from working as an individual contributor software engineer, to running my own software business, and finally to being in a tech leadership role. These experiences have helped me articulate all the various ways Ada has prepared me for my career. Along the way, I’ve learned to be timely and follow through on commitments I’ve made to others, communicate directly and effectively, and also how to take in multiple perspectives in order to move forward with the task at hand.
What do you hope to contribute as an Advisory Board member?
I hope to contribute my perspective and experience as an Ada graduate—especially as one who has seen multiple EDs come and go and the evolving nature of the community and organization. Giving back has always been important to me since Ada gave me so much. On the board, I hope to contribute to Ada’s strategic planning and developing long term stability for the organization. Since I was in the first cohort, I’ve seen Ada grow from being a “figure it out as you go” program to being an organization that can create long term plans and make bigger and bigger impacts. I’m excited to give back and help Ada grow!
What is one of your favorite things about the Ada experience/community?
I love that the Ada community places such an emphasis on taking care of one another and helping one another through sharing our experiences and knowledge. It’s so powerful to see such a large network connect and support each other across each cohort. It seems like with every graduating class, they get better and better at the tech skills and the network is always there helping them understand and negotiate their first job offers or submitting referrals to job openings at companies that already employ Ada grads.
1 note · View note
adadevacademy · 5 years
Text
We’d love to let you in on the Ada SECRETS!
As the Ada team plans for the year ahead, we made the decision to start fresh with a clean build. We wanted to invest the time to more clearly define who we are as a team, what we expect of one another and what our Adies and community partners can expect from us.
The entire Ada staff worked together to come up with the foundation for what has become our “Ada SECRETS”
Tumblr media
A small cross functional team from student services and our education team, along with some leadership support worked to refine the information we gathered from the team. Our final draft went back to the full Ada Team for approval. It’s important to us that we all agree that these are the values we want to hold ourselves and one another accountable for. It’s not lost on us that one of the most important of our secrets is transparency!  
Tumblr media
You’ll begin to see the Ada Secrets on the walls and in our areas of our work. We think they do a great job of helping share what to expect from your interaction with Ada and are excited to share them with all of you.   
Consider yourself in on the secret(s)!
Tumblr media
Service-Oriented - We prioritize service to past, present, and future Adies.
Equitable - We understand and acknowledge that the world is full of inequalities. We approach and measure our work with a focus on equity and social justice.
Caring - We care for one another. We cultivate a compassionate community where people feel safe to bring their authentic selves to Ada.
Receptive - We encourage questions and feedback as a sign of interest. We work together to refine ideas and build something great. We assume best intent.
Effective - We experiment and iterate for continuous improvement. We understand that failure demonstrates conscientious effort and is an opportunity for growth. We hold each other accountable to a high standard of excellence.
Transparent - We recognize that direct, honest communication is the best way to help each other.
Supportive - We build collective fire and strength by giving and receiving help.
Tumblr media
1 note · View note
adadevacademy · 6 years
Text
Interview with Rachel Klein, Ada’s new advisory board member
Tumblr media
Welcome to the Ada Developers Community! Tell us what drew you to serve on the Ada advisory board?
I am passionate about providing education for young people, especially underrepresented students. My first job out of college was in software development, but while I liked the work and was good at it, it didn’t feel like I fit in or belonged, and I certainly wasn’t supported by my managers. I was able to use my computer programmer skills — data management and applications building — and transfer those in my career. Serving on Ada’s advisory board means I’ll be able to focus on providing gender diverse people and women more opportunities to access high-wage, high-demand jobs and stay in the field.
How do you see your board role help move us forward?
I’m on several other boards and I’ve worked with many non-profits. I can lend my experience providing high-level support to the Executive Director and assisting with Ada’s financial stability. Most importantly, I will be actively listening to Ada’s community and staff.
By partnering with Ada’s other board members and the Ada community, we can stay focused and ensure there is enough funding and support for the staff and community. I’m excited to make that happen for Ada.
Please share with the community aspects of your background that tie into the Ada community.
I deeply empathize with people outside the majority demographic in tech. Not feeling welcome early in my career, despite being really good at the work, I feel I can relate to Ada’s community. I’ve worked with progressive non-profits and I love learning and talking about racial awareness and justice as well as gender awareness and justice.
I’ve also been an Interim Executive Director, a Board President, and I’ve hired Executive Directors, so I have compassion for Ada’s state as the organization grows. My leadership perspective can help move the organization forward.
What are your primary objectives during your Ada board term?
My first objective is to connect. I want to understand Ada’s communities on a much deeper level. I want to get to know the board, alums, and staff and understand where these different constituencies want Ada to go, what they want it to be. I want to be supportive in the way an advisory board member should be supportive. Only by this connection can the board form a clear picture of the ideal Executive Director we need. This is such a critical step and I take it very seriously.
What gender-diverse person or woman in STEM inspires you, and why?
I will be honest that there is a surprising lack of women who come to mind. No doubt when I hear about the accomplishments of Ada Lovelace, Mae Jemison, and so many more fabulous women, I am inspired! But I am equally inspired by all of the women and the discoveries that I don't know, and who I may never know about, but whose work influences my every day. Welling up inside of me as I think about this is the same passion for justice that I felt when I first watched Hidden Figures - and 20 Feet from Stardom (I’m a music lover) - and I learned about the massive contributions to our world made by women who never, or certainly not in a timely manner, got the credit they deserved.
Where would you like to see Ada in a year or so?
I would like to see Ada embracing a new Executive Director. I hope that person will be empathetic, organized, and simultaneously visionary and responsive. I hope that the board and new Executive Director can provide clarity and answer questions from the Ada community. This will help with the overall objective of Ada meeting the need and overwhelming desire of gender diverse people and women get into the tech field.
Do you have an initial message to the Ada community you’d like to share?
I’m excited to be here, learn more, and help this organization be awesome!
Connect with Rachel directly on LinkedIn at
https://www.linkedin.com/in/rachelklein/
0 notes
adadevacademy · 6 years
Text
Ada Welcomes New Board Member, Dr. Lisa Chin
Ada Developers Academy Interview featuring new advisory board member  Dr. Lisa Chin
Tumblr media
Welcome to the Ada Developers Community! What was it about Ada that drew you to the board?
I am pleased to say that I have known about Ada from even before the program launched.  Scott Case, one of Ada’s founders, reached out for guidance and advice when I was serving as the  Founding Executive Director at Year Up Puget Sound. We talked about career training and professional development programs for under-represented people in our community. We shared a common vision of building programs and successful career pathways for community members who were overlooked or otherwise not invested in.
Ada’s focus on developing competency and skillsets is extraordinary. The community is vibrant and engaging. and I’m thrilled to bring my full skillsets in service to Ada’s mission.
How do you see your role on the board helping to move Ada forward?
I am excited to bring my experience as a nonprofit CEO and a leader in technology training to Ada. I believe my on-the-ground insights from Year Up and my board work at Bellevue College, along with my belief in what gender diverse people and women can do is a great fit for Ada’s board
Please share with the community aspects of your background that tie into the Ada community.
My personal journey - from education, technical, and immigrant experiences have become tools I use to help build access and successful pathways for people who are not historically represented in technology.
With a Ph.D. in Education, I can provide my perspective on Ada’s structure at a foundational level.  Prior to my work in nonprofits, I also served as a technical program lead at Amazon.
I support a number of education and access-focused organizations. Like Ada, these organizations are focused on serving and supporting people who have been traditionally shut out from opportunities. Under-represented people often need a different avenue to access the American dream.
What are your primary objectives during your Ada board term?
My objective is to partner with my board colleagues to support the Executive Director and the staff and provide strategic guidance that helps ensure that Ada is successful. Ada’s success is judged by the successes of its students we serve. My hope is that one day, there is no need for Ada because everyone will have the access they need to be able to pursue their American dream.
What gender diverse person or woman in STEM inspires you, and why?
The amazing women from the book Hidden Figures: The Story of the African-American Women Who Helped Win the Space Race (2016) are inspiring — so much grit and passion! There are more stories still yet to be told.  As more women, people of color and gender diverse folks join the tech community, we are creating new stories each day. They are using their voices, their opinions, and their creativity be at the forefront.  Ada is designed to stand alongside these folks.  They need time and encouragement regardless of whether or not they reach celebrity status in their careers. They have a right to pursue their dreams. They need to know and see that they are good enough.
Where would you like to see Ada in a year or so?
I would love to see Ada be able to accommodate more students. The demand for our work far exceeds the space we have for current cohorts, so I want to see the floodgates open, with a much larger group of gender diverse people and women being served and taking those software engineer roles. That means we need to scale the operations to take on more students.
Do you have an initial message to the Ada community you’d like to share?
I can’t say enough how much I love this program and how excited I am to get started.  I share Ada’s goals to help gender diverse people and women become more prominent as software developers, and see themselves as the incredible people they are.
Connect with Lisa directly on LinkedIn at https://www.linkedin.com/in/drlhchin/
0 notes
adadevacademy · 6 years
Text
Teaching Inheritance
by Dan Roberts, Lead Instructor
Not one of them is like another. Don't ask us why. Go ask your mother. -- Dr. Seuss
Think back to when you were learning your first object-oriented programming language. If you learned to program in the last 15 years, there's a good chance that was your first language, period. You probably started off with simple concepts like conditionals and loops, moved on to methods, and then to classes. And then at some point your instructor (or mentor or tutorial video) introduced a concept called inheritance.
Tumblr media
If you're like me, your first exposure to inheritance was a bit of a mess. Maybe you couldn't quite get a handle on the syntax. Or maybe you were able to make it work on the class project and pass the exam, but couldn't quite figure out where you would ever use this in the real world. And then once that introductory course was over, you probably packed inheritance back up into your mental toolbox and didn't use it again for a long time.
The fact is, inheritance is complicated. It's hard to use correctly, even for experienced engineers - it took me several years in industry before I felt like I had a good handle on the subject. Yet inheritance is a tool with first-class support in most modern languages, and which is taught to many novice programmers almost immediately.
In this blog post I'll dive into why teaching inheritance is hard, some of the problems with current methods, and what Ada Developers Academy is doing to try and address this problem.
Do We Need Inheritance?
The first question we should ask is, "do we really need to teach inheritance?" This might seem like a silly question - everyone teaches inheritance, it's a key part of object-oriented programming! However time is a scarce resource in a program like Ada's, and everything we do teach means there's something else we don't teach. We've found more often than you might expect that we can drop something that "everyone" does, and end up with a leaner curriculum that is more valuable to both our students and their employers.
But as it turns out, we do need to teach inheritance. This is due to the way we leverage frameworks like Ruby on Rails and ReactJS later in the course. Both Rails and React use inheritance at a fundamental level, and our curriculum wouldn't make sense without it. Moreover, inheritance is an important technique for building real-world software, and our graduates use it on a regular basis in the wild.
Whether inheritance should be taught to novices who don't have an immediate need for it, for example in the first year of a 4-year university program in CS, is a different question. It's also not a problem I'm being paid to solve / write a blog post about. We know that the curriculum we cover at Ada does need inheritance, so we can confidently move forward with our analysis.
What it Means to Teach Inheritance
I have heard using inheritance when writing software compared to using a lathe as a craftsperson. Both solve a certain class of problem extremely well, and neither is particularly useful if you don't have that problem. Both lathes and inheritance take a fair bit of training to use well, and both are liable to make a big mess if used incorrectly. Every machine shop has a lathe, and most modern programming languages support inheritance.
The lathe metaphor allows us to break down the problem a little more. Thinking about it this way, we can see that any curriculum on inheritance needs to address two types of questions.
How do you use inheritance? What specific syntax do you need, and how does that change the way information flows through your program? What rules do you need to keep in mind as you work (e.g. Liskov substitution, the open-closed principle)? These questions are more mechanical, and the answers are often language-specific.
When should you use inheritance? How do you identify that a problem is likely to be neatly solved by inheritance, or that inheritance is a poor choice? What are the tradeoffs involved in deciding whether or not to use inheritance? These questions are more theoretical, and the answers are likely to apply no matter what language or framework you use.
Thinking about these questions leads us to two main issues that make teaching inheritance difficult:
The syntax and semantics of inheritance are tricky
Problems that are well-suited to inheritance are complex
Let's dive into each of these a little deeper.
Programming with Inheritance is Tricky
One of the main reasons teaching inheritance is hard is because inheritance itself is hard. At a high level inheritance is easy to explain: one class gets all the code from another class, and can override pieces and add its own bits. As so often happens, the devil is in the details.
For example, with Ruby the following questions arise:
Are static methods inherited? Can they be overridden?
How are instance variables, class variables, and class-instance variables handled?
Can constants be overridden? If not, what should you do instead?
How does inheritance interact with nested classes?
What has precedence, methods from the parent class or from a mixin?
And that's for Ruby, which is supposed to be beginner friendly! Other languages have their own wildcards:
Python: multiple inheritance
JavaScript: prototypical inheritance model, multiple types of functions
Java: static typing and explicit polymorphism, interfaces, templating
C++: all the Java problems plus memory management and object slicing (shudder)
Whatever language you choose, there's going to be a lot of rules to remember. How do you encode all these, especially for a novice? How do you decide what to include up-front, what to put in the appendix, what to omit entirely? How do you introduce specific details while still keeping the discussion general enough to translate to other languages? This is an important part of the problem - all your theoretical knowledge of how inheritance is used and what kinds of problems it solves won't do you any good if you can't apply it in code.
Fortunately, this part of the problem of teaching inheritance is well-understood. There are many excellent texts that round up the complicated syntax and semantics of inheritance into digestible, intuitive chunks. Any alternative treatment of inheritance needs to acknowledge this challenge and build upon this existing work.
Problems that Need Inheritance are Complex
The other reason that teaching inheritance is hard is because problems that benefit from inheritance tend to be complex. At a minimum, a problem to be solved with inheritance needs:
Two or more domain objects that are similar enough they need to share code, but not so similar that they could be combined into one class
Enough other things going on that it's worth encapsulating the domain objects as classes in the first place
That's a non-trivial amount of complexity, especially for a classroom full of beginners. How can you reasonably build a school project that establishes this complexity, but still fits within the tight time limits of the course? This is where existing curriculums tend to break down.
One tool that springs to mind to address this challenge is scaffolding, possibly by implementing some portion of a project in advance. This allows an instructor to reduce the complexity of the work required of the student, without reducing the complexity of the problem space as a whole. Deciding exactly what and how much to scaffold requires us to do a little more research, so we'll come back to this problem later.
How is Inheritance Used?
Since Ada is a workforce development program, one of the most valuable things we can do is ask "what's going on in industry?" Specifically,
How is inheritance used in the real world?
How is inheritance most likely to be used by a junior engineer in their first year or so on the job?
Understanding how inheritance is used can give us some direction on how it should be taught. Let's look at a few examples.
Rails
In Rails, almost every class you write will inherit from something. The two most common are
ActiveRecord::Base for models
ActionController::Base for controllers
Tumblr media
You also see inheritance used for everything from database migrations to configuration management - its the Rails Way™. If you want to do something, you inherit from a class somewhere in the Rails framework. These superclasses are generally quite abstract, and each covers some functionality specific to the domain of an MVC framework.
Another important idiom is the template method pattern, as made famous in the Gang of Four book. A great example of this is with database migrations, where you define an class that inherits from ActiveRecord::Migration and implement the change method, and Rails takes care of the rest. Controller actions also mimic the template method pattern, particularly if your application uses the builtin tools for RESTful routing.
For the most part, Rails does not have you define your own superclasses. The exception to this is ApplicationRecord and ApplicationController, which sit in the hierarchy between concrete models or controllers and the abstract Rails implementation - these are generated automatically by Rails, but are open for you to modify.
React
React isn't quite as broad in its use of inheritance as Rails. However, every component class inherits from React.Component.
In React we again see the template method pattern pop up. Whether you're implementing render or componentDidMount, React knows the algorithm and you fill in the details.
React also does not encourage defining your own superclasses. In fact, their official documentation is rather explicit that inheritance between components should be avoided.
Other Frameworks
Rails and React are the two industry-grade frameworks I'm most familiar with, but I've dabbled in some others, namely Android (Java) and Unity (C#).
Android follows a similar pattern: everything you write inherits from some builtin class, template methods abound, and developers are discouraged from building their own inheritance relationships.
Unity matches the pattern as well, but they seem to be more lenient about extending your own classes, at least as far as I can tell from the Unity documentation on inheritance.
Industry Experience
This matches my experience of how engineering work tends to be done. Design work, in this case identifying the abstraction and building the superclass, is done by the team as a whole or by someone with an impressive sounding job title like "principal consulting systems architect". Implementing the details in a subclass is the job of an individual engineer.
Concretely, as I was spinning up at Isilon I spent a lot of time working on C++ and Python classes that filled in the details of an existing pattern, and not a lot of time inventing new patterns. Template methods were something I used frequently without having a name for them, and which I later wished I had learned about in college.
Summary
Setting Use case Write subclasses Write superclasses Abstract classes Template methods Rails Web servers ✅ ❌ ✅ ✅ React Single-page applications ✅ ❌ ✅ ✅ Android Mobile apps ✅ ❌ ✅ ✅ Unity Video games ✅ ✅ ✅ ✅ First year in industry Any or none of the above ✅ ❓ ✅ ✅
There are a few clear takeaways from this quick survey:
Inheritance solves a complex problem. Programs that benefit from inheritance tend to be fairly large
Writing a subclass is much more common than writing a superclass
Often the superclass is provided for you by whatever framework you're using
Superclasses tend to be abstract, both semantically (embodying a high-level concept) and functionally (never instantiated)
The template method pattern is extremely important
Existing Work
We've built an understanding of what a new engineer needs from an introduction to inheritance. How well does existing computer science curriculum match up with this?
Building Java Programs
We'll use a case study to demonstrate: the excellent Building Java Programs: A Back to Basics Approach by Stuart Reges and Marty Stepp. This text is used by many introductory CS courses, including the University of Washington, as well as by AP CS classrooms supported by the TEALS program. My first exposure to the book was while teaching with TEALS back in 2014.
Building Java Programs does an great job introducing the vocabulary and syntax of inheritance.
The first example is different types of employees in an HR system. This is simple enough to demonstrate syntax while still somewhat plausible - not an easy balance to strike.
The text includes a discussion of where inheritance is not appropriate, and the difference between is-a and has-a relationships.
The chapter introduces interfaces, abstract classes and abstract methods, and the ability to override a method. However, it makes no mention of the template method pattern.
The chapter finishes with a more complex example dealing with different types of stocks and assets.
This is substantial enough that inheritance is an appropriate technique.
In this example, the pieces at the top of the hierarchy are abstract (an interface and an abstract class), matching the pattern identified above.
The book does not provide any context for how this code will be used. I would argue this is a major oversight. Writing code in a vacuum is fine for experienced engineers, but in my experience novices benefit from concrete examples of how code will be used from the "outside". With inheritance in particular, this would demonstrate how polymorphism is useful.
There is no mention of the idea of extending a class implemented by a framework.
In general Building Java Programs is excellent, and I have a tremendous amount of respect for Reges and Stepp. It certainly did a good job of preparing my students for the AP CS exam. However, it does not introduce inheritance as it is used in the real world, particularly by novice engineers. As far as I can tell this is typical of introductory CS courses - certainly my undergraduate education at Purdue followed a similar pattern.
Design Textbooks
There is another type of text that addresses inheritance: books on software design. Famous resources like Practical Object-Oriented Design: An Agile Primer Using Ruby (POODR) by Sandi Metz, or Design Patterns (the "Gang of Four" book) by Gamma, Helm, Johnson and Vlissides address software design more generally, employing inheritance as one tool among many.
However, these books are targeted at experienced engineers trying to up their game, not at novices learning their chosen language for the first time. Moreover they discuss design from a ground-up perspective, whereas an engineer beginning their career is likely to build on the shoulders of giants, extending existing designs rather than inventing new ones.
An ideal curriculum would bridge the gap between these two approaches, introducing both syntax and common inheritance idioms, and getting new engineers used to the work of extending an existing class.
Ada's Approach to Inheritance
The instructional team at Ada has been unhappy with our approach to inheritance for a while now, but we haven't quite known what to do about it. Now that we've done some research and formalized our engineering and pedagogical intuition, here's the approach we've come up with:
Simple examples and accessible metaphors are fine for introducing syntax and semantics, though as Reges and Stepp demonstrate they don't have to be completely unrealistic.
Common idioms like abstract classes and the template method pattern should be introduced as soon as the basic syntax is understood.
Students' first serious inheritance project should involve extending an existing superclass.
This matches the way inheritance is used in the real world, and makes the benefits (not having to re-write a bunch of code) immediately clear.
Instructors would provide the following scaffolding:
Superclass implementation
Driver code demonstrating polymorphism
Another subclass, to model the inheritance mechanism
Possibly a test suite or test stubs
If time permits, a second inheritance project would focus on design, and have students build both the superclass and subclasses, as well as driver code.
At Ada, the first inheritance project takes the form of OO Ride Share. Students are asked to load information about drivers, passengers and trips from CSV files; we provide a CsvRecord superclass and Passenger and Trip subclasses pre-built. We feel this problem is complex enough to justify inheritance but simple enough to spin up on quickly. It also mimics the way ActiveRecord is used in Rails, which will hopefully lead to more comfort and deeper understanding once we get into our Rails unit.
The second project is still in the planning phase, but the idea is a command-line app that integrates with the Slack API. After an in-class design activity students will implement a Recipient superclass that handles most of the API interaction, and User and Channel subclasses that fill in the details. They will also build a command loop that interacts with the user, demonstrating the power of polymorphism. We don't have the project write-up finished yet, but there is a prototype of the end product.
We've spent a lot of time thinking about this fresh approach to teaching inheritance, and I'm excited to see the results. Watch this space for an update in a couple months as we conclude our Intro to Ruby unit and move into Rails.
2 notes · View notes
adadevacademy · 6 years
Text
Meet Kaida!
By Kaida Masaki (she/her), Instructional Assistant
Tumblr media
Hi! I'm Kaida and I am a new instructional assistant here at Ada for Cohort 11! Before coming to Ada I worked most recently at Computing Kids teaching children to program after school. Before that I was at Socrata for about 3 years working on various parts of their Open Data stack.   I'm a Seattle native and went to UW for Computer Science.  I live with my wife and our two rabbits in West Seattle. In my free time I enjoy curling up with a good book or playing tabletop games, especially Magic: the Gathering.
0 notes
adadevacademy · 6 years
Text
Interview with our Interim Executive Director, Christine Martin
Tumblr media Tumblr media Tumblr media
1 note · View note
adadevacademy · 6 years
Text
Cohort 11 Craft3 Applications Window Closed
The Craft3 loan applications window for Ada Cohort 11 has closed. Craft3 will no longer be accepting loan applications for this cohort. If you have questions regarding attendance or funding, please reach out to us directly at [email protected].
0 notes
adadevacademy · 6 years
Text
Cohort 11 Craft3 Applications Window Opens Monday
Cohort 11 Craft3 Loan Applications Window
Craft3 will begin accepting loan applications for Ada Cohort 11, starting December 17, 2018. The funds, which are provided by Ada, are limited and not yet sufficient to fund all loans for every person in the Cohort. To address this in an equitable way, Craft3 will make reasonable efforts to review loan applications in the order in which they are received. 
Eligible applications that are not processed before the available funds have been committed, will be added to a waitlist. If Ada is able to raise additional funds for this loan program, pending applications will be evaluated based on their order in the waitlist and the amount of the additional funds. Questions should be directed to the Ada program team at [email protected].
1 note · View note