Learn Software Engineering in Lagos, Nigeria or Online

Software Programming School in Surulere, Lagos
Duration: 2 Years (3 Times per Week)
Classroom Training: Monday, Tuesday and Thursday
Online Training: Flexible Days and Timing

Classroom Training: ₦2,700,000
Online Group Training: ₦5,000,000
One-on-One Online Training: ₦5,400,000
Home Training: Cost Depends on Your Location

Software Engineering Course Curriculum

Expand all (Click to view course outline in details) | Collapse all (Click to hide course outline detais)
1st Semester
Introduction to Software Engineering, Front-end Web Development), UI/UX Design

Module 1 - Introduction to Software Engineering

  • Logic Building
  • Software Engineering Overview
  • Software Development Life Cycle
  • Software Programming Environment

Module 2 - Front-end Web Development

  • Introduction to Web Design
  • HTML & HTML5
  • CSS & CSS3
  • Tailwind or Bootstrap or Material UI
  • Asset Management
  • Developer Tools
  • JavaScript
  • React JS
  • Intro to Web Architecture

Module 3 - UI/UX Design

  • Typography
  • Color Theory
  • Principles of Design
  • Responsive Design
  • Wireframing
  • Designing for Mobile – Android
  • Designing for Mobile – iOS
  • User Experience (UX) Design
  • Prototyping
  • Requirements Gathering & User Flows
  • User & Product Testing


2nd Semester
Cross-platform Mobile App Development, Data Analytics using Python Programming Language

Module 1 - Cross-Platform Mobile App Development

  • Redux
  • React Native
  • Building Real-life Mobile Apps

Module 2 - Data Analytics Using Python

  • Introduction to Python
  • Variables and Assignment Statements
  • Built-in Functions
  • User-Defined Functions
  • Conditional Logic
  • Loops
  • Lists
  • Strings
  • File Input/Output
  • Internet Data: API
  • Data Structures
  • Principles of Object Oriented Programming
  • Introduction to Data Analysis
  • Python for Data Analysis using NumPy
  • Python for Data Analysis using Pandas
  • Introduction to Data Visualization
  • Python for Data Visualization using Matplotlib
  • Power Bi or Tableau
  • SQL
  • Microsoft Excel
  • Working with CSV Files


3rd Semester
Back-end Web Development, Java SE Programming or C# Programming

Module 1 - Back-end Web Development

  • Object-Oriented Design
  • PHP or Node JS/Express
  • AJAX
  • phpMyAdmin
  • MySQL or Mongo DB
  • Version Control System
  • Debugging
  • Intro to Laravel Framework

Module 2 - Java SE Programming or C# Programming

You can choose either Java Programming or C# Programming.

Option A: Java Programming

  • Core Java (Java SE)

    • Introduction to Java
    • Variables
    • Strings
    • Mathematical Operators
    • Methods (Functions)
    • Boolean Logic & Else If Statement
    • Loops
    • Arrays
    • Object Oriented Programming (OOP)
    • Constructors (OOP)
    • Array Lists
    • Try Catch Functions
    • File Reading & Writing
    • Switch/Enumerations

Option B: C# Programming

  • Introduction to C#
  • C# Syntax
  • C# Output
  • C# Comments
  • C# Variables
  • C# Data Types
  • C# Type Casting
  • C# User Input
  • C# Operators
  • C# Math
  • C# Strings
  • C# Booleans
  • C# If...Else
  • C# Switch
  • C# While Loop
  • C# For Loop
  • C# Break/Continue
  • C# Arrays

C# Methods

  • C# Methods
  • C# Method Parameters
  • C# Method Overloading

C# Classes

  • C# OOP
  • C# Classes/Objects
  • C# Class Members
  • C# Constructors
  • C# Access Modifiers
  • C# Properties
  • C# Inheritance
  • C# Polymorphism
  • C# Abstraction
  • C# Interface
  • C# Enums
  • C# Files
  • C# Exceptions


4th Semester
Cybersecurity/Ethical Hacking, DevOps, Java EE Programming or .NET Core Programming

Module 1 - Cybersecurity/Ethical Hacking

  • Social Engineering

    • Phishing
      • Spear Phishing
      • SMShing
      • Vishing
      • Web Scraping
      • Email Harvesting Techniques
      • Spamming
    • Baiting
    • Pretexting
    • Scareware
    • Website Cloning
    • HTML5 Form and CSS3
    • PHP Form Processing
    • Doxing
  • Remote Access Tools (RATs)

  • Malware

    • Viruses
    • Worms
    • Trojans
    • Spyware
    • Ransomware
  • DDoS Attacks

  • Darknets

    • Tor Browser
  • Exploit Kits

    • MPack
    • XSS Attacks
  • Penetration Testing

    • Virtual Machines
    • Kali Linux

Modfule 2 - DevOps

  • Introduction to DevOps

    • DevOps Principles in details
    • DevOps Engineer Skills on the market
    • Knowing DevOps Delivery Pipeline
    • Market trend of DevOps
    • DevOps Technical Challenges
    • Tools we use in DevOps
  • DevOps on the Cloud

    • Essentials of Cloud computing
    • Cloud and virtualization architecture
    • Cloud deployment architecture
    • Cloud providers – An overview
    • Why we need DevOps on Cloud
    • Introducing to Amazon Web Services
  • Git - A Version Controlling Tool

    • Git – A CLI
    • Essentials of Git in industries
    • How to setup Git
      • Installing Git
      • First-Time Git Setup
      • Getting a Git Repository
    • Working with various commands in Git
    • Recording Changes to the Repository
      • How to check the Status of your Files
      • How to track New Files
      • Staging our modified files
      • Ignoring Files from GIT
      • Viewing Your Unstaged and Staged Changes
      • How to commit Your Changes
      • Skipping the Staging Area and commit
      • Removing Files from GIT
    • Viewing the Commit History
      • Limiting Log Output
      • Using a GUI to Visualize History
    • Undoing Things
      • Changing Your Last Commit
      • Unstaging a Staged File
      • Unmodifying a Modified File
    • Working with Remotes
      • Showing Your Remotes
      • Adding Remote Repositories
      • Fetching and Pulling from Your Remotes
      • Pushing to Your Remotes
      • Inspecting a Remote
      • Removing and Renaming Remotes
    • Branching and Merging in Git
      • What a Branch Is
      • Basic in Branching and Merging
      • Branch Management in GIT
      • Branching Workflows and its usage
      • Remote Branches – create and delete
      • Rebasing
    • Git workflows
    • Git cheat sheet
  • Jenkins

    • Essentials of Continuous Integration
    • An example scenario where CI is used
    • Know about Jenkins and its architecture in detail
    • Jenkins tool Management in detail
    • Know about User management in Jenkins
    • Authentication
      • Jenkins own database user creation
      • Options to enable integration with LDAP
    • Authorization
      • Matrix based authorization
      • Project based authorization
    • Overview of Maven
      • Maven project structure
      • Maven plugins
      • Project Object Model (POM) – fundamental unit of work in Maven project
      • Maven build lifecycle
      • Adding external dependencies to maven pom.xml
      • Maven build and test project
    • Creating jobs and automatic build settings
      • What is Jenkins Pipeline?
      • Why Pipeline?
      • Integration with GIT
      • How to enable project based authorization for a job
      • Source code management while creating jobs
      • Triggering automated build
      • Maven job setup
      • Know about post build options for jobs like notifications, trigger another build, publishing reports, etc.
    • Adding a slave node to Jenkins
    • Building Delivery Pipeline
    • Notification settings in Jenkins
    • Plugin management in Jenkins
  • Docker

    • Introduction to Docker
      • Real-world Shipping Transportation Challenges
      • Introducing Docker and its technology
      • Understanding of Docker images and containers
    • Working with container
      • How to Share and copy a container
      • Container Life Cycle
      • How to use Base Image and customize
      • Creation of Docker File
      • How to Publish Image on Docker Hub
    • Introduction to Docker Networking
      • Network Types in Docker technology
      • Docker Container Networking
      • Docker Compose – An introduction
    • Docker Swarm – An introduction
      • Use Docker Compose to create PHP, WordPress, MySQL
      • How to Start Containers on a Cluster with Docker Swarm
      • Creating and Scaling an Application in Docker Swarm
  • Kubernetes

    • Introduction to Kubernetes
    • Kubernetes Cluster Architecture - An overview
    • Understanding concepts of Pods, Replica sets, deployments and namespaces
    • Understanding the concepts of services and networking
    • Persistent volumes and persistent volume claims - an overview
    • Design of Pods
    • Understanding labels, selectors, jobs, and schedulers
  • Ansible

    • Introducing Ansible - A configuration management tool
      • Basics / What Will Be Installed
      • Understanding Ansible architecture
      • Control Machine Requirements
      • Managed Node Requirements
    • Inventory
      • Hosts and Groups
      • Host Variables
      • Group Variables
    • Learn various Ansible Modules
    • How to use adhoc commands
      • Parallelism and Shell Commands
      • File Transfer
      • Managing Packages
      • Users and Groups
      • Deploying From Source Control
      • Managing Services
    • Introduction to YAML script
    • Playbook
      • About Playbooks
      • Playbook Language Example – YAML
      • How to Write Playbooks
      • Tasks in Playbooks
      • Understanding about various tasks in playbook
      • Introduction to Handlers and variables
      • Learn about using handlers, variables in the playbook
      • Become (Privilege Escalation)
    • Roles
      • Role Directory Structure
      • Using Roles
      • Role Duplication and Execution
      • Role Default Variables
      • Role Dependencies
      • Role Search Path
      • Ansible Galaxy
    • Including and Importing
      • Includes vs. Imports
      • Importing Playbooks
      • Including and Importing Task Files
      • Including and Importing Roles

Module 3 - Java EE Programming or .NET Core Programming

If you chose Java SE Programming in the 3rd Semester, you have to continue with Java EE in this semester. Alternatively, if you studied C# Programming in the 3rd Semester, continue with .NET Core Programming.

Option A: Java EE Programming

  • Java EE

    • JSP and Servlets
    • Java Server Faces (JSF)
    • Hibernate Framework
    • Spring Framework
      • Spring Bean
      • Spring Boot Web App Configuration
      • Spring MVC Form Handling
      • Spring Boot Thymeleaf Hello World
      • Run Spring Boot Application From Command Line
      • Spring Boot Architecture Diagram And Components
      • Spring Security Form Login Using Database
      • Spring Dependency Injection Tutorial
      • Spring Boot With Mysql Database
      • Spring Security Hibernate Annotation Example
      • Spring Boot Configuration Properties
      • Spring Callback Methods
      • Spring Security Remember Me
      • Setter Based Dependency Injection
      • Spring Security Login
      • Spring IoC Container Types
      • Eclipse Maven Spring MVC Project
      • Spring Spel Method Invocation Example
      • Spring Bean Scopes
      • Spring Boot + Spring MVC + Maven + JSP

Option B: .NET Core Programming

.NET Core

  • Introduction to ASP.NET Core
  • .NET Core
  • ASP.NET Core
  • Install .NET Core
  • Create ASP.NET Core App
  • Project Structure
    • wwwroot
    • Program.cs
    • Startup.cs
  • Command-line Interface
  • Dependency Injection
    • Built-in IoC Container
  • Middleware
    • Add Custom Middleware
    • Configure Default File
  • Environment Variable
  • Exception Handling
  • Serving Static Files
    • Serving Static Files
      From Other Folder
  • Logging in .NET Core
  • Logging in ASP.NET Core
  • .NET Core Application Types
  • Code Sharing
  • Target Multiple Frameworks


Who Software Programming Course Is For:

Our all-inclusive Diploma in Software Engineering course is for those who want to learn how to build real-life, modern software applications using any of the top-of-the-class programming languages.


For you to study software engineerng, basic computer knowledge is required as a prerequisite. The Diploma in Software Engineering course assumes the aspiring student already has a fundamental knowledge of computer usage, but it does not require any specific programming skill.

Why You Should Learn Software Engineering:

Software development is a vast field and one that is creative, demanding and extremely rewarding. A career as a software developer gives you the opportunity to learn about the business as well as technology. As follows are the reasons why you should learn to become a software developer:
  • Problem-solving
    There’s nothing more satisfying than problem-solving that has been around for a while, and no one else has knowledge of how to solve. As a software developer, you constantly provide solutions for the real-life problems of other people. You can concentrate on the occasional quick-fix solutions, as well as strategic solutions.
  • Creativity
    There are several ways in which software programmers can be creative. As a programmer, you need to be able to put yourself in the shoes of software users. In order to deliver a solution, there's need for you to create new systems and functionality, and you get to play around and learn new technologies.
  • Project-Based
    Generally, as a software engineer you will be working on a wide range of projects, both large and small. Each new project that you engage in brings to the table a whole new set of challenges, and lends you the opportunity to learn about new technologies, different systems as well as new parts of the field.
  • Continuous Learning
    Information technology is extremely fast-moving. So, software developers need to learn new programming languages and technologies, and adapt to the ever-changing environment. Alongside learning about technology, software developers often learn about the business niche they are developing software for.
  • Collaboration
    The stereotype of a computer software programmer sitting alone all day in a room, coding all day, is actually very far from reality. In addition to technical skills, you need to be a great team player and communicator. You can collaborate with your peers and colleagues to share knowledge and expand your understanding of good development practices, as well as how software applications work. As a software engineer, you will spend a lot of time collaborating with colleagues from a wide range of departments.

If a career in IT and programming is of interest to you, we strongly recommend that you visit training centre today, to find out more about our all-inclusive Diploma in Software Engineering.

Software Engineering Job Opportunities:

Learning software engineering opens up a wide range of opportunities for you. There are endless employment opportunities that await you in the labour market, after completing your training at FlamyTech Computer School.

And the Job Opportunities include, but not limited to:
  • Software Developer
  • Software Engineer
  • Software Programmer
  • Software Programmer/Analyst

A Diploma Will Be Given Upon Course Completion

After successfully completing your Software Engineering course at FlamyTech Computer School, the Management of this institute will award a Diploma in Software Engineering to you. Please, note that FlamyTech is duly-registered in Nigeria with RC: 1195702. So, never worry, because the software engineering diploma we award is recognized.

Related Programming Courses:
Diploma in Java Programming
Diploma in Cross-platform Mobile App Development
Diploma in Android App Development
Diploma in Data Analytics
Diploma in Cybersecurity
Diploma in Python Programming
Diploma in Python Web Development
Diploma in Oracle Database
Diploma in Back-end Web Development
Diploma in Front-end Web Development
Diploma in Full Stack Web Development
Diploma in C Programming
Diploma in C++ Programming

Register Now For Computer Training

Or are your confused about which course would better serve your specific needs? Don't worry; FlamyTech is right here to help you! Just get in touch with us now through the "Contact Us Now" button below, to get recommendation:
Contact FlamyTech Computer School