0% found this document useful (0 votes)
411 views30 pages

Alx Se Guide - 2022

This document provides an overview of the ALX Software Engineering programme. It introduces the programme's goal of developing the next generation of software engineers. The programme aims to provide both technical skills training through hands-on software development projects, as well as soft skills development. It outlines the programme objectives, curriculum, and framework to guide students' learning. The curriculum covers foundational programming topics as well as specializations, and involves completing learning content and projects in each area. The framework emphasizes reading, thinking, questioning, and explaining to support collaborative learning.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
411 views30 pages

Alx Se Guide - 2022

This document provides an overview of the ALX Software Engineering programme. It introduces the programme's goal of developing the next generation of software engineers. The programme aims to provide both technical skills training through hands-on software development projects, as well as soft skills development. It outlines the programme objectives, curriculum, and framework to guide students' learning. The curriculum covers foundational programming topics as well as specializations, and involves completing learning content and projects in each area. The framework emphasizes reading, thinking, questioning, and explaining to support collaborative learning.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

ALX

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 the overall 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
experience.

This is your personal map to understanding everything about this


program, Unsure about the first step to take on your first day, the
answer is probably in here. If you are wondering how to do
something, the process document is probably linked somewhere in
here.

We have carefully designed this document to break down your


journey in this program in terms of approach, principles,
methodology, requirements, and design.

04
1. Introduction

2. Our Goal

3. The Program Objectives


Table 4. How This Program Works

of Contents 5. Your Learning Curriculum

6. The Programme Framework

7. The Programme Structure

8. Intranet 101

9. Project/Task

10. Engagement Activities: Students

11. Programme Modalities

12. Your Learning Community

05
Technical Skills

Our Goal Hands on experience in developing


software as well as establishing theoretical
Through this program the ALX has foundations.
one major goal; to evolve the next
generation of software engineers

+
which includes you. This would
involve enabling an agile learning
environment that is focused on
getting you started with the basics
of software development and
engaging you in a variety of Soft and Professional Skills
technical projects which could Equipping these young leaders with just the
increase you knowledge base and right amount of work ready skills that could
employability potential. ensure they are connected to paid
opportunities faster.
This program is structured around
two key categories-- 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 in turn could contribute to the
development of their immediate
1. Develop a new pipeline of Software communities as they acquire the
Engineering talent necessary developer skills while building
2. Create and maintain a learning functional projects.
environment that trains technology
enthusiast with little or no level For us, this program would contribute to
experience at scale. the overall talent pipeline and afford us
quality candidates that have the right skills
3. Increase the employability potential to be connected to paid-opportunities.
of these program participants.

07
How This Program Works

LEARNING THE BASICS PROJECT BASED COMMUNITY FOCUSED


Young Leaders get to Young Leaders work on All out Young Leaders are part
kickstart their SE journeys projects alongside peers of a strong community of
by engaging with foundation (PLD’s) to build impact-driven doers and
programming resources programming muscles builders

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 Their Own Learning” and ultimately develop the skill and the
muscle to be a better software engineers.

The content, delivery, methodology, ordering, and occasional


vagueness of the curriculum is by design.

Holberton has a deep commitment to providing high-quality


education; we do not just want to help students understand
something in a given project - we want them to have the tools to
continue to learn for life.

Its core components are:


➔ Foundations
➔ Specializations

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

We built out this framework to represent a Think more &


learning methodology that fosters a safe, Whiteboard
collaborative space for you to critically Ask
think as well as grow in your career while Why
offering encouragement and development Ask a
across the our learning community. Peer
Ask more
We believe that this framework is the result Peers
of a balance between self-development
Ask a
and collaboration- one that supports the
Student
concept of Owning Your Learning but
Tutor
subscribes to the truth that we, indeed, go
farther when we go together. Ask a
Technical
Mentor
12
Our
LEARNING APPROACH
In this part you would understand better the learning approach that we have mapped
out for you. These includes technology languages, learning platforms as well learning
resources and engagement exercises that could foster learning.

13
Programme Structure
FOUNDATIONS(9 Months) SPECIALIZATION (3 Months)

Low Level High Level DevOps Specialization

Create a complete web


Understand programming Create a complete web Create a complete web
service from databases,
languages and Unix service from databases, service from databases,
back-end and an amazing
system work or “what is back-end and an amazing back-end and an amazing
front-end website with
going on under the hood”. front-end website with front-end website with
the latest technologies.
the latest technologies. the latest technologies.

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 communication and engagement platform used to
properly engage with students and also support all key stakeholders
who interface with this SE program.

Program
Intranet

15
Project/Task
This provides an overview of the nature of projects
you will take on while engaged in the programme.

You would be required to complete all of these


projects on time and support other students with They are solo projects
reviews when necessary. that often times,
though not exclusive
In this first week we have mapped out mandatory Standard shorter in duration.
assignments for you to take on– Let’s get started! Projects

They are group and team


projects that are longer in These are blogs. As
duration. These facilitate not projects you’ll
only technical growth in expected to write a
Group/Team
regards to repository blog of your experience Blog
Projects
management, but also learning particular Projects
emotional intelligence and concepts
conflict resolution 16
How We Engage With You As A
Student.
We have designed dedicated activities are designed to foster learning by
connecting with your community for support while equipping you key
work-ready skills; Collaboration, communication across teams.

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.

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 channel This is your campus(country)-specific channel for engagement and interaction, it is your
team and is made up of 15-20 participants all in the same squad.
17
Our
PROGRAM MODALITIES
In this section we take a deep dive into key all 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.

The intranet is designed to automatically validate active participants who


have an average score of 80% in their foundations and assign
specialization tracks to them.

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 program.
➔ 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

How Can I Access A Technical Mentor

Step 1: Meet your technical mentors


By completing the resources provided in the onboarding package, we have gone
ahead to identify all technical mentors available to you in this program.

Step 2: Reason for engagement.


Due to the growing size of our learning community we have build a standardized
process for engaging with technical mentors. The first step to this engagement is 20
utilizing the slack #Ask-Mentor channel.
Component 2: An Introduction To
Your Technical Mentor(Role)
How Can I Access A Technical Mentor
Step 3: Mentor Feedback & Response time
Our standard response and feedback response time is between 6-18 hours. This is
due to the size of our learning community and the intricacy involved in mentors
response and feedback. Our technical mentors have been trained to deal with
students needs on a case by case basis.

21
Component 3: Deferment/Dismissal
What does it mean to Defer?
Deferment is when a participant takes a break from the programme to resume
at a later date with a different cohort.

Can Learners defer to Another cohort?


Yes.

How can learners Defer to other cohorts?

Step 1
Communicate: The first step is that you must communicate your reason for
deferment to a technical mentor; once this has been communicated to a
technical mentor.

Step 2
Re-assign: The technical mentor will begin the process of deferment and
communicate the new cohort to the learner. Reasons for deferment include
sickness, bereavement, laptop stolen, war in country, or because of their
inability to catch up with the current pace of the programme.
22
Component 3: Deferment/Dismissal
How many times are students allowed to defer from a cohort?

A student can defer from the programme upto a maximum of 3 times within
their year in the programme. However the second and the third deferment is
handled on a case by case basis.

What happens when a student defers the second time?


A few factors will be put into consideration, before the deferment process
begins, which are;
➔ How you are doing in the projects: are you on the right track.
➔ Reason for deferment.

In this case, the option to opt back into the program is solely given back to the
participant.

What is the process of deferment?


➔ You are required to send an email to [email protected]
➔ You are then required to book a session with a technical mentor.
➔ Finally you are required to wait for a decision on your deferment request.

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 participants 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.

Support Structure Slack Support Network Asking For Help


How we will support students The support you received on our Details on where and how
throughout the programme; Peer slack community, all the relevant students ask for help.
Support, Squads, Check-In, Live channels, and what to expect
Sessions. from them. 25
Peer Support
Our first approach towards peer support is through a concept called PLD’s

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.

We leverage this method to ensure that you on the right part to collectively
growing in technical, soft, and professional skills.

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.

What our expectations are from Campuses?

➔ Sharing of Weekly Standups

➔ Team engagement to solve blockers

➔ Live Weekly Check-in Call including a practice peer coaching breakout


session

26
Peer Support
How often do we check-in on students?
Every week

How do we check-in/keep in touch with students?


Students are expected to keep in touch through weekly standups

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;

Last week I accomplished : (include task you worked on last week).

This week I'm planning to : (include task you plan to achieve this week).

Blockers : (include things you need help resolving).

Appreciation : (include shouts out to individuals who helped you while stuck
last week).

Channel: Campys channel

When: Weekly on Monday 27


Live Sessions
Live sessions are one of the ways we keep you engaged as well as foster your,
we hold several live sessions on a routine basis;

Activity Description/Function

Monthly Campus Young leaders are expected to attend and engage in squad monthly check-in
Check-in sessions

Live Office Hour The ALI Software Eng team hold Live Office Hour (LOH) sessions with Technical
Sessions Mentor in attendance. The LOH session gives YL’s an opportunity for them to ask
both programme-related and technical questions.

Community We hold monthly Community hangout sessions with all participants. This are live
Hangout session where we get to share Programme updates, welcome new participants,
and give Shout outs and Spotlights.

Technical We hold meetups led by our technical mentors and external speakers where we
Meetups focus on specific topics.

28
Thank you!
ALX Software Engineering Program

28

You might also like