The purpose of the course is to familiarize you with software engineering principles, that enables you to design quality software. The more principles you knows and utilize, the best quliaty of software can be ensured.
Pre-Requisites
For this course you should know:
Basic Programming
OOPs Concepts
Data Structures (Optional)
Overview
We have divided this course in three sections:
The fist section consist of some basic priciples which are easy to learn and adopt. For examle GRASP in which the creator principles guides you on how to create new objects in the system
The second section will teach you principles which enables you to understand design patterns and their efficient utilization can help you to create your own patterns for some recurring problems in some specific implementaiton area.
The third section consist of advanced priciples along with their comparison to other principles. Most of the time when you follow a principle, it will automatically align your design to be adopted with other principles.
Teachers - Meet with faculty of this course
Main Teacher - Control the quality of course contents
Mukhtiar Zamin
Lecturer, Computer Science
Email: Ask personally
Office: CS Building, Room 305
Office Hours: Tue & Thu, 10:00–12:00
Specializes in Machine Learning, Data Science, and OOP. Leads the course design and lectures.
Main Teacher controls the access to his subject and coordinate with other teachers for the subject related materials. Subject Teacher equally participates as its main teacher on all related materials i.e. Topics, Questions, Course outlines, Lectures etc. Notes:
1. Subject main teacher will automatically change if contribution of another teacher exceeds for this subject.
2. Current main teacher will decide to approve or deny your request.