Computer engineering is a fascinating field that necessitates a deep knowledge of both the tangible world of hardware and the theoretical realm of software. Connecting this gap is crucial for designing innovative computer systems that can tackle real-world problems. A competent computer engineer should be able to convert theoretical software design