ALX SE Guide - November - 2022
ALX SE Guide - November - 2022
Software Engineering
Programme
The Fountain of Truth
Student Guide
Welcome to the ALX
SE Program Guide.
This is your one-stop shop for all things related
to your participation in this ALX SE Programme
Experience.
02
Introduction
to the ALX SE Programme
03
Welcome to the ALX Software
Engineering Program Guide.
In this document you would learn and discover everything you need
to know about your participation in the ALX Software Engineering
programme.
04
1. Introduction
2. Our Goal
8. Intranet 101
9. Project/Task
05
Technical Skills
Our Goal
Hands on experience in developing
Through this programme our major
software as well as establishing theoretical
goal is to evolve the next generation
foundations.
of software engineers which includes
you. This involves providing an agile
+
learning environment that is focused
on getting you started with the basics
of software development and
engaging you in a variety of technical
projects which would increase your
knowledge base and employability
Soft and Professional Skills
potential.
Equipping young leaders with just the right
This program is structured around two amount of work ready skills that could
key categories-- ensure they are connected to paid
opportunities faster.
06
Program Objectives
We are on a mission and through It is our hope that through this program
this software engineering programme candidates can discover a new career path
experience our objective is to; that could contribute to the development
of their immediate communities as they
1. Develop a growing pool of Software acquire the necessary developer skills in
Engineering talent their quest of building functional projects.
2. Create and manage a learning
environment that trains technology For us, this program would contribute to
enthusiast with little or no level of the growing pool of talent and play a part
experience at scale. in strengthening the population of SE’s in
Africa that can be connected to
3. Increase the employability potential paid-opportunities.
of participants in this programme.
07
How This Program Works
08
Our
Program Curriculum
In this part we take you on a deep-dive into this programme curriculum, what you can
expect as you interface with the technical topics and sessions.
09
Curriculum Overview
The software engineering curriculum is a peer-driven curriculum
designed by Holberton with the ultimate goal of teaching you to
“Own Your Own Learning” to ultimately develop the skill and the
muscle to be a better software engineers.
10
Your Programme Curriculum
FOUNDATIONS SPECIALIZATIONS
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5
- Git & command line editors - Python - first statements - Python - Object-relational - ES6 introduction / promise - ES6 introduction / promise
- Introduction to Bash - Python - import & modules mapping - ES6 classes / data - ES6 classes / data
- C - first statements - Python - data structures - Python - Web framework manipulation manipulation
- C - pointers - Python - exceptions - Python - RESTful API - TypeScript - TypeScript
- C - recursion - Python - classes - Python - web scraping - HTML / CSS advanced - Python
- C - static library - Python - inheritance - Javascript - first statements - Developer tools - async
- C - memory allocation - Python - file I/O - Javascript - objects - Responsive design - MySQL advanced
- C - preprocessor - Python - JSON - Javascript - scopes and - Webpack - NoSQL introduction
- C - variadic functions serialization / deserialization closures - React introduction / props - Redis introduction
- C - bit manipulation - HTML/CSS introduction - Javascript - web scraping - React component - API Pagination
- C - file I/O - SQL - basic queries - Search algorithms - React inline-styling - Caching algorithms
- Singly linked lists - SQL - join queries - SSH - React state / immutable - Unit & integration tests
- Create your own printf - C - dynamic libraries - SSL certificate - React Redux - action - i18n
- Create your own Shell - C - makefiles - Web server creator/normalizr - Personal data
- Doubly linked lists - Load balancer - React Redux - - User authentications
- Stack and Queues - Firewall reducer/selector - Node JS introduction
- Hash tables - MySQL primary-replica - React Redux - - Queuing system
- Sorting algorithms - Server monitoring connector/provider - GraphQL API
- Binary trees - Code deployment - Async file API
- Bash - scripting - Postmortem
- Unix processes and signals - Webstack debugging
- Regex - Portfolio project
- Network introduction
You would be required to complete learning contents and projects in all of these. All of these learning activities are scored and 11
graded– On completion of this learning requirements, you would be offered a transcript as proof of engagement
Read
The Framework
(Overview) Think
13
Programme Structure
FOUNDATIONS(9 Months) SPECIALIZATION (3 Months)
TECHNOLOGIES
TECHNOLOGIES TECHNOLOGIES TECHNOLOGIES
-C programming
-C programming - Python -C programming
-Graphic programming
-Graphic programming - Front-end -Graphic programming
-Unix programming
-Unix programming - Object Oriented -Unix programming
-Data Structures &
-Data Structures & programming -Data Structures &
algorithms
algorithms - Databases algorithms
-Reverse engineering &
-Reverse engineering & -Reverse engineering &
security
security security
These are foundation languages you need to launch your career in software technology, we have carefully mapped out these 14
technologies in terms of their level of complexity.
The Intranet
The Intranet is our learning, communication and engagement
platform used to provide learning resources, engage with students
and also support all key stakeholders who interface with this SE
programme.
www.alx-intranet.hbtn.io
Program
Intranet
15
Project/Task
This provides an overview of the nature of projects
you will take on while engaged in the programme.
Activity Description/Function
Peer Learning PLD’s start at 9 am and end at 3 pm unless stated otherwise. However, given the nature of
Days the programmes [remote], execution of PLD’s are left in the hands of the participants.
Live Coding Live coding sessions are a great way for participants to review and reinforce your
Sessions knowledge and concepts with the guide of mentors..
Evaluation Evaluation quizzes are taken monthly to test comprehension and understanding of
Quizzes concepts.
They are a good indication that the students need to work on reviewing concepts.
Mock Interviews Mock Interviews are one of the ways we kick-off work-readiness and talent preparations
before learners from a cohort graduate and begin to take on job interviews.
Campus slack This is your campus(country)-specific channel for engagement and interaction.
channel
Buddy System The buddy system is an opportunity for you to grow and develop your network. It’s a
chance to form a close-knit circle of deep friendships that works as a support system and 17
motivation for you as you navigate the program.
Our
PROGRAM MODALITIES
In this section we take a deep dive into all key modalities involved in this Programme
We leverage these modalities to not only properly engage with you but also support
you as you interface with this SE programme.
18
Component 1: Staying Active In
The Programme
A key participation metric for this programme is staying active on the
Intranet. This includes login in daily to digest learning resources,
completing assigned task and project and reviewing attached projects.
It is important that you hit a 80% mark during the Foundation stage of
your curriculum.
The following criteria are used to manually validate your participation and
to also identify if you have hit the mandatory 80% cutoff.
➔ You must be an active students on the intranet.
➔ You must have completed 80% of the projects in all the 3 sprints.
➔ In each sprint, You must have an average score of 30% on each
19
project per sprint.
Component 2: An Introduction To
Your Technical Mentor(Role)
We have assigned some of the best technology experts to guide you in this
programme. Their role is really simple;
➔ Focus on amplifying your technical expertise.
➔ Clear blockers and obstacles that you may face while in the programme.
➔ Support you towards programme success, by engaging with you in
specially designed facilitator sessions.
➔ Monitor your progress as you engage with this curriculum
➔ Guide and prepare you for potential career opportunities
Our technical mentors have been trained to deal with students needs on a
case by case basis.
21
Component 3:
Deferment/Withdrawal/Dismissal
What’s the difference between deferment, withdrawal, dismissal
Deferment: the student asks to be integrated in the first or second next cohort
and will restart its studies when he paused
Withdrawal: the student decides to withdraw and restart again
Dismissal: the student get dismissed from the Programme
Who can defer?
a. Participants who have completed probation in sprint 1 agreed by the Program &
Community team; b. Any student between sprints 2-4 whose reasons fall under
those agreed by the Program & Community team
Who can withdraw?
a. Participants who are yet to complete onboarding (first 2 weeks of the
program); b. Participants who are yet to complete probation (80% cut-off mark);
c. Any participant who has made it past probation but wishes to leave the
program
Who can be dismissed?
a. The student is dismissed from the program by the Program & Community team
or Technical Mentors as guided by the code of conduct; b. Student do not reach 22
the 80% threshold during the probation phase
Component 3: Deferment/Dismissal
Can you withdraw if you are during the Probation period?
Yes, but you cannot defer
Fill out this form (link) and you will be redirected to the right path
23
Our
LEARNING COMMUNITY
In this section we take a deep -dive into our community, from engagements, to our
support structure as well as our network. From this section you can access all tools.
24
The ALX SE Community
Our community is made up of every participant and learning stakeholder in this program. Our community
prides itself as a hub of aspiring technologists. As a community we leverage support from each and every
member and our watchword is paced growth.
What is a PLD
Peer Learning Days are one of the ways we can ensure that every
student in our community understands the available learning content and
resources shared.
PLDs are when you will collaboratively review prior projects with an
intranet-assigned group of cohort peers.
With your group, you will review these recent concepts and tasks by
defining your objectives and clarifying action items for success.
26
Campuses
What is a Campus?
You are paired with other student of approximately 30 participants or
more within the same country or region. This is a smaller subset of
participants that you can engage with and you can work closely
together, think of them as your cohort buddies.
26
Peer Support
How often do we check-in on students?
Every week
Standups are to be shared every week on your Campus channel and your
peers will do the same as well. Below is the weekly standup script;
This week I'm planning to : (include task you plan to achieve this week).
Appreciation : (include shouts out to individuals who helped you while stuck
last week).
Activity Description/Function
Live Learning The ALX Software Eng team holds Live Learning sessions lead by our
Sessions Technical Mentors. During these sessions, our mentors do a
deep-dive into a particular topic
Walk-in These are weekly spaces held by our Technical Mentors to bond,
sessions assist and engage with our participants
Technical We hold meetups led by our technical mentors and external speakers
Meetups where we focus on specific topics.
28
Thank you!
ALX Software Engineering Program
28