Foundations of Software Development
USD 120Introduction
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%
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
Enrollment is closed for this batch.