Holberton's latest updates about Coronavirus
Pictured are Holberton students experiencing PLD Pictured are Holberton students experiencing PLD Pictured are Holberton students experiencing PLD

Foundation of Computer Science & Software Engineering

Begin to build an understanding of how programming languages and Unix system work — "what is going on under the hood".

Apply

A Strong Foundation for a Solid Future

This foundational knowledge of how computers and programming languages work will allow you to optimize and debug anything later on in your professional career. You will also begin working with algorithms and data structures which are essential foundations for great Software Engineers - the type that the best companies hire.

In the first sprint of foundations, you’ll work in C and Unix programming, graphical programming, data structures, assembly language, and algorithms as well as reverse engineering and security protocols.

From there, you are introduced to higher-level languages, increasingly advanced algorithms, space and time complexity, database management, and front-end programming. Using the latest technologies, you will begin to create a complete web application project that will span the rest of the foundation sprints.

The final sprint of foundations emphasizes automation, scalability, and reliability, so that you are familiar with the infrastructure and best practices similar to those in tech powerhouses. Alongside a continuation in web development, you’ll also advance in algorithmic understanding, technical writing, debugging, and project management.

Keep Reading

Curriculum Foundations of Computer Science & Software Engineering

SPECIALIZATION
01




1st Trimester

  • Git and command line editors
  • Introduction to Bash
  • C - first statements
  • C - pointers
  • C - recursion
  • C - static library
  • C - memory allocation
  • C - preprocessor
  • C - variadic functions
  • C - bit manipulation
  • C - file I/O
  • Singly linked lists
  • Create your own printf
  • Create your own basic Shell






02




2nd Trimester

  • Python - first statements
  • Python - import and modules
  • Python - data structures
  • Python - exceptions
  • Python - classes
  • Python - inheritance
  • Python - file I/O
  • Python - JSON serialization/deserialization
  • HTML/CSS introduction
  • SQL - basic queries
  • SQL - join queries
  • C - dynamic libraries
  • C - makefiles
  • Doubly linked lists
  • Stack and Queues
  • Hash tables
  • Sorting algorithms
  • Binary trees
  • Bash - scripting
  • Unix processes and signals
  • Regex
  • Network introduction






03




3rd Trimester

  • Python - Object-relational mapping
  • Python - Web framework
  • Python - RESTful API
  • Python - web scraping
  • Javascript - first statements
  • Javascript - objects
  • Javascript - scopes and closures
  • Javascript - web scraping
  • Search algorithms
  • SSH
  • SSL certificate
  • Web server
  • Load balancer
  • Firewall
  • MySQL primary-replica
  • Server monitoring
  • Code deployment
  • Postmortem
  • Webstak debuggings
  • Portfolio project






Included in all Holberton Sprints:

Technical writing

Technical writing is an invaluable skill and an excellent way to articulate and share your knowledge.

Collaboration

Collaboration is key to successful business. You will learn project management, interpersonal communication, and team collaboration skills.

Mock Interviews

It is not enough for you to know the answers to the questions; you need to be able to clearly communicate your thought processes and understanding.

The Framework

The Framework provides the structure, order, and balance necessary to maintain a productive peer learning environment and will help you succeed throughout your career.

Whiteboarding

Whiteboarding is an essential skill in the tech industry, both for effective planning and for excelling in tech interviews.

Developed in collaboration with working professionals

Sebastien Tricaud

Director of Security Engineering at Devo

Guillaume Plessis

Senior Software Engineer at WeWork

Olivier Chatry

Chief Software Architect at FutureOn

Johann Kerbrat

Vice president of Engineering at Iron Fish


"Writing code is the easiest part of an engineer's job. The hardest and most important one is being able to articulate your ideas clearly, be it to your coworkers, boss, press, or users. That makes the difference between a thinker and a typist."
— Florent Crivello, Holberton Professional Advisor (Former Product Manager and Senior Software Engineer at Uber)

Find the right tuition for you:

At Holberton, we believe that people from every community and background should have the opportunity to become a software engineer. That is why we offer flexible tuition options to help make your new career more accessible. You can see the financial tools available per campus after selecting the particular city in question.

Choose your city to find out more

Check Out City

Choose your specialization

Machine Learning

Learn and explore the technologies behind modern-day breakthroughs in the fields of computer vision, natural language processing, recommender systems, autofocus driving and more.

Augmented Reality / Virtual Reality

Learn C# and develop interactive mixed reality projects in Unity3D, the world’s leading real-time game engine.

Low Level & Algorithms

Dive into the full capability of the C programming language, the Linux operating system, and uncover the mechanisms behind Blockchain technology by building your own cryptocurrency from scratch.

Full Stack Web Development

Advance your skills in front-end, back-end and React development to create, maintain, and improve web applications and APIs.

Front-end Web Development1

The work of front-end developers is what helps technology be usable to the average person, and companies with the best, most stable, and most usable sites are the most popular on the web.

Back-end Web Development2

Finding the perfect rental, sharing a photo from the cloud, and keeping people secure while using the web are all driven by back-end web developers.