Backend Development and Databases

Backend Development and Databases

Foundations of Software Development
Course Description

This course explores principles of software development, architectural patterns, testing, algorithms, data structures, and time complexity. Throughout the course, we will closely examine systematic thinking and problem-solving to generate optimized code, especially when dealing with large datasets.

Objectives of this course

Students build a foundation for creating optimized and well-designed systems. Additionally, it addresses technical solutions to common challenges in job interviews.
This course and its examples are done in Python. Experience in JavaScript is also welcomed

Course Details
Course Code sop-webfd-104
Course Duration 15 weeks
Cost USD 120
Commitment 12-15 hrs./week
Tools Needed A stable internet connection for streaming videos is needed. (a Device [Phone, Tablet, or PC])
Prerequisite Course Python Fundamentals – SOP-WEBFB-101
Weighted grade distribution - Passing Grade: 80% of total grades
- Assignments: 60% total grades
- Quizzes: 20% total grades
- Final Exam: 20% total grades
Batches
Batch Start Date End Date
I September 1 2025 January 11, 2026
II January 12, 2026 May 3, 2026
III May 4, 2026 August 16, 2026
IV August 17, 2026 November 29, 2026
V November 30, 2026 April 25, 2027
Course Outline
Part 1
Week Topics Assessment
Week 1 - Introduction, Arrays, and Algorithm
- Bubble Sort, Implementation, and Time Complexity
Assignment 1
Due at the end of week 3
Week 2 - Selection Sort, Implementation, and Time complexity
- Insertion Sort, Implementation, and Time complexity
Week 3 - Quick Sort, Implementation, and Time Complexity
- Counting Sort, Implementation, and Time Complexity
Assignment 2
Due at the end of week 5
Week 4 - Radix Sort, Implementation, and Time Complexity
- Merge Sort, Implementation, and Time Complexity
Week 5 - Linear Search and Time Complexity
- Binary Search and Time Complexity
Assignment 3
Due at the end of week 7
Quiz 1: Due at the end of Week 7
Week 6 - Linked Lists, Types, and Operations
Week 7 - Stacks and Queues Assignment 4
- Due at the end of Week 9
Part 2
Week Topics Assessment
Week 8 - Hash Tables
- Hash Sets
- Hash Maps
Week 9 - Tree Data Structure
- Binary Trees and Preorder Traversals
- In-order and post-order traversals
Assignment 5
Due at the end of Week 11
Quiz 2: Due at the end of Week 12
Week 10 - Array Implementation of Binay Trees
- Binary Search trees
Week 11 - Graph Data Structure, Implementation, and Traversal Assignment 6
Due at the end of Week 14
Week 12 - The Shortest Path Problem
Week 13 - The minimum spanning Tree Problem
Week 14 - The Maximum Flow Problem Final Exam
Due at the end of Week 15
Week 15 - SDLC model and Phases
- Design Principles (Modularity, reusability, scalability)
- Architectural Patterns (Layered Architecture, Microservices, event-driven architecture)
- Software Testing
- Build tools
- Coding Style
- Version Control
- API Testing
SQL Fundamentals Section
Course Description

This course introduces the fundamentals of SQL (Structured Query Language) and relational databases. Students will learn how to create, read, update, and delete data in a relational database using SQL. The course covers basic SQL commands, data types, and database design principles.

Objectives of this course

This course is designed to provide students with a solid foundation in SQL and relational databases. Students will learn how to write SQL queries, create and modify database tables, and perform basic data analysis using SQL. By the end of this course, students will have a solid understanding of SQL and be able to apply their knowledge to real-world problems.

Course Details
Course Code sop-webfb-103
Course Duration 10 weeks
Cost USD 50
Commitment 10 – 12 hrs./week
Tools Needed A PC with a Modern Operating System to install MySQL workbench or XAMPP Server to use PhpMyAdmin
Prerequisite Course None
Weighted grade distribution Passing Grade: 80%
- Assignments: 60%
- Quizzes: 20%
- Final Examination: 20%
Batches
Batch Start Date End Date
I July 23, 2025 September 30, 2025
II October 1, 2025 December 9, 2025
III January 7, 2026 March 17, 2026
IV March 18, 2026 June 2, 2026
Course Outline
Part 1
Week Topics Assessment
Week 1 - Introduction to Relational Database Management System
- Querying Data
- Sorting Data
Assignment 1 : Due at the end of Week 2
Week 2 - Filtering Data Assignment 2 : Due at the end of Week 3
Week 3 - Joining Tables
- Grouping Data
Assignment 3 : Due at the end of week 4
Week 4 - Subqueries
- Set Operations
Quiz 1 : Due at the end of week 5
Week 5 - Creating Databases
- Table Datatypes
Assignment 4 : Due at the end of week 6
Week 6 - Tables and Constraints
- Operations on Tables
Assignment 5 : Due at the end of week 8
Week 7 - Modifying Data
Part 2
Week Topics Assessment
Week 8 - Views
- Indexes
Quiz 2 : Due at the end of Week 9
Week 9 - Administration 1 Final Examination: Due at the end of Week 10
Week 10 - Administration 2
Python Fundamentals Section
Course Description

This course offers a comprehensive introduction to the fundamentals of Python programming. Over the span of eight weeks, students will learn core programming concepts and gain hands-on experience with Python through both functional and object-oriented approaches.

Key topics include variables, data types, control structures, functions, classes, and error handling, providing a strong foundation for understanding how modern software is built. The course is designed not only to teach syntax but also to cultivate problem-solving skills and logical thinking, which are essential for a successful career in software development.

Objectives of this course

By the end of the course, students will be able to write clean, efficient Python code and will have the confidence to begin exploring more advanced programming topics or real world projects.

Course Details
Course Code sop-webfb-101
Course Duration 8 weeks
Cost Free for Batch A and B, USD 25 From Batch C
Commitment 10 – 12 hrs./week
Tools Needed A stable internet connection for streaming videos is needed. (a Device [Phone, Tablet, or PC])
Prerequisite Course Understanding Programming and Software Development – SOP-TECH-101
Weighted grade distribution - Passing Grade: 80%
- Assignments: 70%
- Final Examination: 30%
Batches
Batch Start Date End Date
I July 7, 2025 August 31, 2025
II September 1, 2025 October 26, 2025
III October 27, 2025 January 18, 2026
IV January 19, 2026 March 15, 2026
V March 16, 2026 May 17, 2026
Course Outline
Week Topics Assessment
Week 1 - Introduction
- Installation
- Syntax and comments
- Comments and Variables
- Datatypes
Assignment 1: 20% Due at the end of week 3
Week 2 - Operators
- Number
- Casting
- Boolean
Week 3 - String and String Methods
- Collection Types
Assignment 2: 25% Due at the end of week 5
Week 4 - Conditional Statement
- Error Handling
- Loops
Week 5 -Functions
- Lamba
-User Input
Assignment 3: 25% Due at the end of week 7
Week 6 - File Handling
- Modules
- Managing Resources
- Generators
- Iterators
Week 7 - Built-in functions
- Inbuilt modules
Week 8 - Date
- Python JSON
- Object Oriented Programming
Final Exam: 30% Due at the end of week 8
PHP Fundamentals
Course Description

This course introduces fundamental programming concepts. We will use PHP, a general-purpose, open-source scripting language, as our backend scripting language. A basic understanding of HTML, CSS, and JavaScript is required to take this course. PHP is a recursive acronym for Hypertext Preprocessor. PHP version for this course: PHP 8.4

Objectives of this course

This course is designed to provide students with a solid foundation in PHP programming. Students will learn how to create dynamic web pages, work with databases, and develop web applications using PHP.

Course Details
Course Code sop-webfb-102
Course Duration 8 Weeks
Cost UDS 50
Commitment 10 – 12 hrs./week
Tools Needed
Prerequisite Course Frontend Development with HTML 5, CSS 3, and JavaScript
Weighted grade distribution Passing Grade: 80%
- Assignments: 60%
- Quiz: 20%
- Final Examination: 20%
Batches
Batch Start Date End Date
I November 24, 2025 February 15, 2026
II February 16, 2026 April 19, 2026
III April 20, 2026 June 14, 2026
Course Outline

Part 1 : PHP Basics

Week Topics Assessment
Week 1 - Introduction
- Installation
- Syntax and comments
- Comments and Variables
Assignment 1 : 20% Due at the end of week 3
Week 2 - Datatypes
Week 3 - String and String Methods Assignment 2 : 20% Due at the end of week 5
Week 4 - Numbers, Casting, and Math Quiz : 10% due at the end of week 4
Week 5 - Constants
- Magic constants
- Operators
Assignment 3 : 20% Due at the end of week 7
Week 6 - Conditional Statement
- Switch
- Loops
Week 7 - Functions
- Arrays
Week 8 Part 2: Advanced Topics
- Regular Expressions
- Superglobals
Final Exams : 100% Due at the end of week 8