Foundations of Software Development

sop-webfb-104-25A

Foundations of Software Development

USD 120

Introduction

Students build a foundation for creating optimized and well-designed systems. Additionally, it addresses technical solutions to common challenges in job interviews. 

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.

Syllabus

Week 1: 

Introduction, Arrays, and Algorithm 

Bubble Sort, Implementation, and Time Complexity 


Assignment 1 

Week 2: 

Selection Sort, Implementation, and Time Complexity. 

Insertion Sort, Implementation, and Time Complexity. 


Assignment 2 

Week 3: 

Quick Sort, Implementation, and Time Complexity. 

Counting Sort, Implementation, and Time Complexity. 


Assignment 3 

Week 4: 

Radix Sort, Implementation, and Time Complexity 

Merge Sort, Implementation, and Time Complexity 


Assignment 4 

Week 5: 

Linear Search and Time Complexity 

Binary Search and Time Complexity 


Quiz 1 

Week 6: 

Linked Lists, Types, and Operations 


Assignment 5 

Week 7: 

Stacks and Queues 


Assignment 6 

Week 8: 

Hash Tables 

Hash Sets 

Hash Maps 


Assignment 7 

Week 9: 

Tree Data Structure 

Binary Trees and Preorder Traversals 

In-order and post-order traversals 


Quiz 2 

Week 10: 

Array Implementation of Binay Trees 

Binary Search trees 


Assignment 8 

Week 11: 

Graph Data Structure, Implementation, and Traversal 


Assignment 9: 

Week 12: 

The Shortest Path Problem 

Technical Solutions 


Assignment 10: 

Week 13: 


The Minimum Spanning Tree Problem 


Week 14: 

The Maximum Flow Problem 


Final Exam 

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 


Course Outline

Commitment: 12-15 hrs./week 

Passing Grade: 80% 

Weighed Grade distribution: 

Assignments: 60% 

Quizzes: 20% 

Final Exam: 20% 

Level
difficult
Duration
15 weeks
Commitment
12-15hrs
Prerequisite
Python Fundamentals
Fee
USD 120
Learning style
<p>New on-demand video lessons are released every Monday, while live Zoom sessions take place every Saturday. Each week, students complete assignments or quizzes, due the following week, to keep learning on track.</p>

Instructor

Mildred Ojomah-Christopher

Master of Liberal Arts: Software Engineering - Harvard University

Graduate Certificate: Data Science - Harvard University

BSc(Hons) : Mathematical Sciences (Computer Science Major) - Kogi State University

Batches

  • Batch A Closed

    sop-webfb-104-25A 1 Sep 2025 to 11 Jan 2026 76 places left

    Enrollment is closed for this batch.