Objective
The foundation course is designed to provide a solid introduction to the world of Software Engineering by exposing participants to core concepts, knowledge and skills required to succeed as Software Engineers. In addition, students learn how to build web applications using HTML/CSS/JavaScript, the PHP server-side language [§], and the MySQL/MariaDB relational database management system. The course is concluded with students deploying a fully functional PHP web application to a cloud-based Linux server. Upon completing this course, students should be able to comfortably start/grow their careers as a Junior Developer specializing in building database-driven PHP web applications.
[§] Please note that the server-side language of choice can be switched from PHP to Python or NodeJS under a modified course. Kindly contact us for more information about this option.
Duration
This course runs for a total duration of 66 hours (65 paid hours + 1 FREE hour) which roughly equates to 5 months or less depending on how many sessions student attends per week.
Prerequisites
To participate in this course, students need to be comfortable with operating a computer system, as well as how to source for information on the Internet and organize such on a computer system.
Certification
Participants who complete this course will be awarded the Software Engineering Foundation: Junior Developer (PHP) certificate.
Cost
The cost of this course is N260,000 (Two-Hundred and Sixty-Thousand Naira) only.
As part of iSTEMLabsAfrica’s commitment to youth empowerment in Nigeria, we have partnered with the Skills and Entrepreneurship Development (S.A.E.D) department of the National Youth Service Corps (N.Y.S.C) scheme such that, any actively serving Youth Corper(s) who register(s) to participate in this course will only pay a fee of N10,000 (Ten Thousand Naira)
Course Content
- 1hr - iSTEMLabsAfrica Digital Awareness Health Check (FREE)
- 3hrs - Linux O/S Part I
- Introduction to the Terminal/Shell
- Navigating in Linux and common commands
- Working with Files and Folders
- File Permissions, Redirection and Piping
- 3hrs - Linux O/S Part II
- Using Text Editors
- Understanding Environment Variables
- Working with Secure SHell (SSH)
- 1hr - Project A: The student’s knowledge of Linux is tested.
- 3hrs - Version Control with Git
- Git Everyday commands
- Git Scenarios
- Git in the cloud: Github.com and Bitbucket.org
- 3hrs - Introduction to Shell Scripting with Bash
- 1hr - Project B: The student’s ability to write simple shell scripts and use Git to manage code versions is tested
- 3hrs - Essential HTML/CSS
- 3hrs - Introduction to JavaScript
- 1hr - Project C: The student’s ability to build a simple, well-styled, and event-driven web page is tested.
- 6hrs - Introduction to the PHP Language I
- Syntax, Data Types, Variables
- Statements (Conditional, Boolean Logic, Loops)
- Working with Arrays
- 1hr - Project D: The student’s ability to build simple PHP scripts is tested.
- 6hrs - Introduction to the PHP Language II
- Working with Functions
- Working with 3rd-Pary Libraries + Dependency Management
- Introduction to Unit Testing
- 1hr - Project E: The student’s ability to write well-tested code is evaluated.
- 6hrs - Introduction to the PHP Language III: Object Oriented Programming (OOP)
- Classes
- Interfaces
- Exceptions
- 1hr - Project F: The student’s ability to refactor code to OOP-style is evaluated.
- 6hrs - Building Web Applications in PHP (sans framework)
- Overview of Web Servers and Understanding HTTP
- Model-View-Controller (MVC) design pattern
- Integrating PHP with HTML/CSS/JavaScript
- 1hr - Project G: The student’s ability to build a frontend and complimentary backend is tested.
- 6hrs - Introduction to Relational Database Management Systems (RDBMS)
- RDBMS Data Modelling Crash Course
- Working with MySQL/MariaDB
- PHP + MySQL/MariaDB
- 1hr - Project H: The student’s ability to build a database-backed PHP web application is tested
- 3hrs - Overview of common PHP Web Frameworks
- 3hrs - Deploying Code
- Introduction to DevOps
- Using Shell Scripts for deployment
- Deployment Next Steps
- 1hr - Project I: Deployment to a live server
- 3hrs - Capstone Project
- 3hrs - Graduation Ceremony/Hackathon Event/Remote Job Workshop