Holberton >

Building a Curriculum: Specializations

Our trustee Ne-Yo and Carrie Ybay, the Holberton software engineer who is working with our professional advisors to develop our AR/VR curriculum.

Of course, every education must have a strong foundation, so make sure to read our first part in this series: Building a Curriculum: Foundations.

After Holberton students complete the Foundations program, a whole new series of paths open up for them. Known as “Specializations”, students can pick where they will take their focus for the second half of the curriculum. The four Specializations we offer are:

Specializations as a core of Holberton’s curriculum

Holberton School is working to further many causes: Increasing diversity and representation in tech, removing the barriers to high quality education, and developing a global workforce of top-tier software engineers. But for the enrolled students, we have a single goal: to make our students as employable as possible in the high demand field of software engineering and to equip them with all the tools they will need to stay on top of their field for their entire career. Holberton’s Specializations help us do that. Students take their first year Foundations program and build upon that with career-specific knowledge in highly sought after fields. Students are also free to pick the Specialization they’re most excited about. For example, students who love to dive deep will pick the Advanced Linux Programming, Algorithms, and Blockchain course, while others that want to create new experiences will opt to challenge themselves with Augmented Reality and Virtual Reality. Regardless of the Specialization selected, students will be immersed in the techniques and knowledge determined by senior-level engineers to be critical to succeed.

The Development of a Specialization

A Specialization is developed by three groups coming together:

  • Professional Advisors – Our Professional Advisor network is composed of experienced software engineers, CTOs and technical leadership, technological innovators, and thought leaders within the technical space. Our Professional Advisors bring their expertise, vision, and technical knowledge to Holberton’s curriculum development. They help us understand which technologies are going to be demanded in the future, what lessons and technical knowledge Holberton students should learn for these technologies, and help our Curriculum Team ensure that the information they are providing will help train the best software engineers possible. Professional Advisors, on certain topics, will also review the created instructional projects to ensure that the lessons accurately teach the skills that students need to learn.
  • Curriculum Team – Holberton’s Curriculum Team takes the Professional Advisors’ knowledge, input, and vision, and does the practical work for turning that into usable, accessible lessons for our students. The Curriculum Team specializes in the heavy lifting work of putting a lesson together: They develop the projects with support and knowledge from our Professional Advisors, create the test cases for our Checker to validate the students’ work, and build the actual projects that match our Processional Advisors’ experiences. The Curriculum Team is able to provide a lot of proprietary knowledge that would be inefficient for Professional Advisors to learn, but is critical for our educational model: We don’t need to force Professional Advisors to learn our particular code style, learn our lesson management tools, or anything else that is proprietary for Holberton. So while our Curriculum team are the ones actively putting our lessons together, they are doing this in step with some of the best, most talented software engineers around.
  • Students – When we develop a curriculum, select students will help us as volunteers to be the first through the new program. These select Holberton students take their Holberton experience and provide specific feedback on the beta curriculum. So before a Specialization is released to all of our students, some of our best students have already been part of this Specialization and provided feedback to tune the experience even more.

To create an entire 9 month Specialization requires a large amount of work and input from our Professional Advisors and our Curriculum Team. For example, the Full-Stack Web Development Specialization was built with 928 hours of contribution from our professional advisors and 1050 hours of work by the Curriculum Team. And by utilizing our Professional Advisors, we’re able to validate that our Specializations are teaching what students need to know. For example, our AR/VR curriculum has been developed with and approved by Unity, and one of our Machine Learning’s core advisors, Gregory Renard, is also on the Deep Learning & AI Technical Committee of NASA’s Frontier Development Lab.

Maintaining a Specialization

Technology moves fast, and our students need to learn the most up to date skills possible. Within our Curriculum Team, there is often a lead dedicated for each Specialization. Not only are they responsible for leveraging the Professional Advisors’ knowledge, but they’re also tasked with continually improving and iterating on the curriculum. Projects must be kept up to date, learning resources must be tuned and updated when necessary, and feedback from students, both current and graduated or employed, is taken into account. Our Curriculum Team manages all of this so that students can trust that they’re receiving an accurate, current education that is in step with the latest industry developments.

Which topics get a Specialization?

Specializations at Holberton are selected and developed based off of advice from professional mentors, requests from and discussions with CTOs, the vision of our leadership for future opportunities, and identifying key knowledge bases that will continue to be sources of well-paid employment for our students. A fantastic example of the later is our updated Full-Stack Web Development Specialization, releasing January 2020. Holberton’s curriculum is a true Full-Stack Software Engineering curriculum: Unlike bootcamps, our students are taught languages like C and critical professional skill sets like DevOps, but for students who want to focus on Web, the Foundations program only touches on some of the current web technologies. In conversation with students who wanted more web development knowledge, discussion with our mentors on the top technologies to teach for a full-stack web developer, and the knowledge that a true full-stack developer with full-stack web development experience would be extremely employable and well paid, a Specialization was developed for this topic. 


Who at Holberton helps make the Specializations?

Below, we’ve highlighted some of our staff and some of the professional advisors who have helped us develop each of our second year Specializations, as well as a preview of what skills our students would learn while pursuing one of these Specializations.

Augmented and Virtual Reality (AR/VR)

Holberton Staff: Carrie Ybay

Before she became a software engineer, Carrie was a UX and graphic designer, plus a passionate gamer, so her unique blend of expertise makes her the ideal Curriculum Team member to work on our AR/VR curriculum.

Example of a 3d scene development project.

Within the AR/VR curriculum, developed in partnership with Unity Technologies, students will learn languages like C#, skills like UX and UI for AR/VR experiences, digital asset management, title publishing, as well as exposure and experience into animation, textures and materials, and audio management.

Some of our professional advisors:

Machine Learning

Image result for alexa orrico

Holberton Staff: Alexa Orrico

Alexa is our Curriculum Team member who is driving our Machine Learning curriculum. Before she became a software engineer, she earned her Bachelor’s in Chemical Engineering with a minor in Biomedical Engineering. Within the curriculum, her experience working with large datasets and drawing order from that data has helped her bring the Machine Learning Specialization to life. 

Example of an image detection algorithm identifying objects in an image.

Within this new field, students who go through our Machine Learning Specialization learn to build everything from a facial recognition system all the way to their own chatbot, and even a reinforcement learning project that has students train and develop their own game-playing AI similar to AlphaGo.

Some of our professional advisors

  • Gregory Renard – Chief AI Officer at xBrain, Deep Learning & AI Technical Committee of NASA’s Frontier Development Lab
  • Deon Nicholas – Founder of Forethought 
  • Clement Renault – Co-founder of Shone
  • Naeem Gangat – Manager of Operational Excellence at European Institute of Technology

Low Level and Algorithms

Holberton Staff: Julien Barbier & Alexandre Gautier

Julien Barbier, our co-founder and CEO, is not only responsible for large portions of our Foundations curriculum, but with his expertise in Low Level language programming, he has contributed greatly to our Low Level and Algorithms Specialization. Not only a valedictorian from the European Institute of Technology and an experienced software engineer, his vision for combining project based and peer based learning, along with his direct work on the creation of the curriculum’s projects themselves, has helped Holberton develop a curriculum that is driving a worldwide tech education revolution.

Alexandre Gautier, the other Holberton staff on this Specialization, shares a special connection to Holberton School’s educational style: He received his software engineering education at the same European educational institution as Julien Barbier. With his knowledge and experience in project based education, and years of C and C++ experience, he is working with our professional advisors to develop an education that builds further on our Foundations program to prepare students to become capable programming generalists who can handle code all the way down to the assembly level.

Our Low Level and Algorithm Specialization dives deep into technologies like public/private keys and blockchain.

The Low Level, Algorithm, and Blockchain Specialization dives deeper into skills developed in the Foundations program, from developing a more advanced Shell project to directly interacting with the Linux kernel. Students are also challenged with advanced data structures, in-depth C programming, assembly, and the development of their own blockchain.

Professional Advisors:

Full Stack Web Development (updated version arriving January 2020)

Image result for guillauma salva

Holberton Staff: Led by Guillaume Salva with the support of Athena Deng and Hemant Heer

Guillaume, our CTO, has been featured on our blog before for his work on our student grading system Checker, but with his degree in electrical engineering and computer science (with a focus on security and distributed systems), and over 12 years of active development experience within mobile and full-stack disciplines makes him well suited to lead this development of this curriculum.

The vision of the Holberton’s Full-Stack Web Development Specialization is less on focusing on a specific technology or language, or a surface level education in many frameworks, but a focus on the specific techniques, practices, and skills that maximize productivity and adaptability. This Specialization incorporates topics like SEO, site accessibility, Personal/User data protection, asynchronous processes/jobs, management of both front end and back end needs, web technologies like React, and to build web experiences both with and from the designer’s point of view.

Professional Advisors:

But what about Career Track?

Career Track was developed for our more employment-focused students; this was a path to help our students get a job as quickly as possible after Foundations. This is a great option for students who need to secure income as quickly as possible, but when feasible, we encourage students to select and pursue a Specialization.

Specializations to improve employability

Holberton students get exposed to many technologies and professional skills throughout their Foundations program, but it is in Specializations they are given the chance to focus in career accelerating skills. Through going through our Specializations, where students can tap into the experience of leaders in the technical world and learn the skills these leaders believe will best set up students for success, Holberton students can hit the ground running in some of the hottest software engineering fields around.

Holberton was designed to be a two year program, and continues to be a two year program. As our graduates complete their Specialization, they will unlock a lifetime of learning as a Holberton student: Students who complete the program will have access to each of Holberton’s current and future Specialization curriculums to pursue at their own pace. With this access, our graduates will be able to continually learn new, valuable professional skills throughout their careers as software engineers.

By offering these Specializations, we are able to train top tier software engineers with valuable skills, and prepare them to successfully enter the workforce. And by doing this within a curriculum that has a blind admissions process and does not require any educational prerequisites other than a high school diploma or equivalent, we are able to help a broader, more diverse group of people enter and succeed in this innovative, high-paying career field while they define the future.


Building A Curriculum: Foundations

Holberton’s curriculum is a learning experience like no other. Not only do we teach our students how to code and the professional soft skills that help students maintain their career as software engineers, but we teach our students new ways of learning and of personal growth. Our students “learn how to learn”, and do so in a way that will help them professionally stand out for the rest of their careers.

Actual Cohort 6 students during their Foundations year. We’re currently at Cohort 10 and will welcome Cohort 11 in January 2020.

To teach this new way of learning and drive the continual growth that defines our students’ results, we’ve built our curriculum around two key educational methods:

  • Peer Learning
  • Project-Based Learning

In a previous blog post we shared how peer learning helps students learn and retain knowledge better, so for this piece, we’d like to share how our project-based learning curriculum works. With project-based learning, our students learn through practical, hands-on lessons within a continually evolving curriculum. Most importantly, though, our project-based learning teaches a core life skill, and one that will help all of our students maintain their careers as software engineers: We teach our students a new way of learning. A hallmark of a Holberton student is more than just amazing technical skill with the technologies of today. Our students, through the practice of our project-based learning and peer learning, not only can grasp and self teach new technologies and methods, but our students can also help their peers learn and professionally develop as well.

Our curriculum is separated into two halves: Foundations and Specializations. Foundations is the curriculum and the method that helps us get people with no prior coding experience into software engineering roles, and it is the very foundation of each student’s education at Holberton.

Foundations is separated into three trimesters, roughly separated into

  • Low-level and C
  • Higher-level languages
  • DevOps, SRE, and more

The development of each of those trimesters is specific to Holberton, each spearheaded by Julien Barbier (co-founder, CEO), Guillaume Salva (CTO), and Sylvain Kalache (co-founder) respectively. The development of these projects and the curriculum was based not only their individual technological capability and experience, but also by utilizing a broad network of professional advisors.

Julien Barbier, co-founder and CEO of Holberton talking with students at our San Francisco campus.

Professional advisors and building our curriculum

Our advisors participate in our curriculum development by helping us understand the industry’s current and future technological landscape, what technologies and skills were professionally viable, and most importantly, by highlighting the same skills and knowledge that helped them on their path to becoming Sr (or higher) level engineers.

By bringing the best of what our co-founders and CTO had to offer, and the input of our professional advisors, we were able to create a Full-Stack engineering curriculum that goes beyond what most bootcamps offer. We have a curriculum that not only trains in core employable technologies and skillsets, but sets our students up with the tools, methods, and the practice to continue their own professional and technological growth throughout their careers.

Guillaume Salva, CTO of Holberton, sharing his experience with developing the Holberton curriculum

Education without lectures

When introducing people to our curriculum, this tends to be the most shocking concept: How can someone learn a skill if there’s no one telling them directly, and explicitly, what they should know? Or, more directly, how can you teach without a teacher? Well, with project-based learning, we ditch the lecture-then-mimic pedagogy. Our curriculum, and the projects that compose its lessons, are how we teach. Through encouraging discovery, self-reliance, cooperation, and applying the coding lessons through practical projects, this curriculum consistently develops software engineers of amazing quality and capability.

“How?” is a very valid question at this point, so let’s take a look at a student’s day:

  • The day’s projects are ready for students when they wake up in the morning, as they became available at midnight their local time.
  • Before accessing the projects, students are presented with effectively a pop quiz they must complete before starting the day’s projects. These quizzes are on topics the students may or may not know, and if they do not know the answers, then they must go and find the answers. Think of this as athletes stretching before the game, and since they’re the “warm up” of the day, incorrect answers here do not count against the project’s grade.
  • Now that the projects are unlocked, students can get to work in reviewing the reference material, reviewing their coding challenges and conditions, and start their day hacking away at the code!
Peer learning goes hand in hand with our project based curriculum.

Within the curriculum itself, students are carefully introduced to software engineering topics of increasing complexity. These concepts layer upon each other building a broader and deeper understanding of the languages and development techniques. And throughout this, students use a variety of resources, including recommended material from Holberton, content they find on their own, and collaboration with their peers to develop their knowledge. Then, using our projects and Checker to test their knowledge, students can grade their day’s (or in some cases, multi-day) projects before final submission. Ambitious students, those seeking more challenges, and students who particularly enjoy a particular topic they are working on will also find that every project has challenging advanced tasks that also provide extra credit.

Throughout this Foundations curriculum, students are taught topics that build upon each other. The goal is to build a deep understanding of not only the languages taught but also the theory and practice that makes a good software engineer great. Topics are continually revisited throughout the curriculum (much to the chagrin of the students who would never like to see C again) to strategically reinforce theory, introduce more complex concepts at a time where students are more likely to understand and retain the knowledge, or to reinforce their use and value in technical interviews.

Rewarding critical thought

As the program has evolved and improved over the years, we’ve worked to both incorporate student feedback, tune projects, and anything else that will help our students become better engineers.

Student feedback

Throughout the curriculum, we ask students for feedback and allow students to anonymously report on their mood, feelings, and more. What’s the purpose of this kind of feedback? While we want our curriculum to challenge students, we also want to make sure the curriculum isn’t unnecessarily difficult. We also want to make sure the curriculum is designed to help the students feel interested through their entire journey at Holberton. So, we constantly take the students feedback, review against anonymous mood data, and see what improvements we can make. 

Checking for optimization

Our Checker evaluates millions of lines of code each month, and to help each generation of our students become better coders, we have to continually improve this tool. In the early versions of Checker, the system dutifully evaluated student projects for accuracy, execute code and check results, review readmes to ensure that students were properly documenting their projects, and similar. Since then, we’ve updated Checker to perform even more robust tests, including even looking at and scoring for code efficiency.

Matching Industry Updates

The tech industry constantly changes, and so does our curriculum. As new technologies and programming language versions become more established, we update our curriculum to match what students are likely to see once they start their professional careers. This is a constant process that ensures as the industry matures and grows, our curriculum does as well.

How this leads to a career

At Holberton School, the education you receive in the Foundations becomes the basis for your work in our specializations. After completing your first year, students can select from one of four specializations that we offer:

Foundations gives you all the necessary tools to continue your education at Holberton with our specializations, and the professional and interpersonal skills to hit the ground running in your new career. After your Foundations at Holberton, you’ll be experienced in languages like C and Python, have the personal toolkits and techniques to learn any other language you want, experience in critical skills like Test Driven Development, DevOps, and project management, and a solid, fundamental understanding of what it takes to drive your career in software engineering.

Laura, a student who had never coded before coming to Holberton school, celebrating her first role as a software engineer after being hired while still in her Foundations year.

Peer Learning, or “What do you mean ‘No Teachers’?”

“We don’t have formal classrooms or teachers — instead, our students collaborate, share their knowledge, and help each other.”

It’s right on our website, but do we really mean it? At face value, it’s a radical proposition: A school that trains top software engineers without teachers, without lectures, and without the classrooms that all of us grew up and loved (or, reasonably loathed). After all, what is a school without a traditional structure and someone else telling you how to learn?

Image result for lecture
Some may learn well in this, but we think we can do better.
Source: https://en.wikipedia.org/wiki/File:Lecture,_NSUEM.jpg

There, in that last sentence, is why we exist. Software engineering is a new field that lives on speed, flexibility, and iteration. It is a field that is constantly updating, and the best software engineers will have to be able to keep up with the times. And these best software engineers will not have the time to return to the classroom and be taught how to learn another language or technology. The best software engineers will be able to self-train, lead and learn from their peers, and keep up with the rapidly advancing and changing field they’re employed in. Beyond an in-depth knowledge of programming and development best practices, these lifelong skills are a key part of our curriculum, and why we teach our students through project-based and peer learning.

After all, If you do get a teacher in the workplace, it won’t be a lecturer but instead a peer or a mentor, and that’s why we teach our students the way we do.

Let’s dig into each of the pieces of our curriculum and share how they build upon each other to help drive a new generation of software engineers.

Project Based Learning

Traditionally, schools teach (usually with assigned reading and lectures), then test. Pop quiz: How much of this lecture-based knowledge did you retain? Project based learning is the concept that instead of being taught through lectures and tests, students are taught through actually doing the work. Proper project based learning isn’t just “here’s a problem, good luck”. A properly built project based learning curriculum carefully builds increasingly challenging tasks upon each other, with guidance on where or how to learn the skills, but leaving the final quest for discovery and application of knowledge to the students. Through this curated exploration, students are taught how to validate sources, test knowledge as they apply it, collaborate with peers to share their best learnings, and to develop and depend upon their own ability to learn instead of waiting for instructions from others.

The goal is not just to help students learn the knowledge that they will need to launch their careers, but also to maintain their careers through the ability to learn. In this way, time spent at Holberton actually mimics the work environment. Yes, Holberton students know how to code extremely well, but they also know how to sit down, use available resources, and to independently pioneer into new technologies. Companies that hire Holberton students are getting more than just a great developer; they are also getting a developer who can flexibly adapt to new languages and technologies in short periods of time.

Holberton students at our San Francisco campus.

This same ethos is built into our application process. Holberton’s whole application process requires no prior knowledge of programming, but instead a willingness and ability to learn. Through automation, our system does not take into account race, gender, age, or even ability to pay. Instead, what we are looking for are people who can learn something new and apply these new skills accurately. Before coming to Holberton our students were everything from professional chefs to musicians, paralegals to fresh high school graduates. What they all share is a willingness to learn. The whole application process is even designed to mimic our project based learning curriculum, and through completing Level 2 of our application process, students will code and launch a website from scratch using emacs, HTML, css, and javascript. So if you’re curious how our project based learning works, we welcome you to start an application today.

Peer Learning

Peer learning, or “learning by teaching” is an established method to improve retention and understanding of topics. When students teach other students, they show an increased retention of information and understanding of the core of the material. Through our curriculum, students are encouraged to share what they’ve learned through Peer Learning Days, where students will work cooperatively through problem(s) at a whiteboard. Ideally this process is entirely self-led, but our TAs and staff may step in to provide clarification, challenge students to “teach” back to the staff, or shape the conversation for maximum benefit. 

Peer learning in action

Students will also engage in group and pair projects, where they are placed together to tackle some of our more challenging tasks. Programmers often work as part of a team, and so our curriculum is specifically designed to mimic the work environments that students will find themselves in later on in their careers. Under these conditions, Holberton students learn when to be a team member, when to be a team leader, and how to step between these roles for the maximum benefit of the project they are working on.

Define Your Future

Holberton’s goal is to get people with no prior coding experience into new career that matches their ability. Our admissions process finds those who have the talent to learn without bias. Our curriculum removes the barrier of prior experience. And the use of Income Share Agreements removes the need to obtain credit for our education. We want to find people who have the untapped potential to succeed as software engineers, and train them not only in the core technologies they will use to get their first programming job, but help them develop the core soft and personal development skills that will turn their first job into a lifetime career. But, most critically, everything we do helps students realize their own potential and leverage their own personal strength to become great software engineers, which is why we invite everyone to Define Your Future.

Want to read more? Check out our other Introducing Holberton articles below:
Introducing Holberton #1: Checker & You