Academic Year: 2022/2023
Semester: Semester I

Fundamentals of object-oriented analysis and design (OOAD): Abstraction, Encapsulation, Classes and objects, Inheritance, Polymorphism, Composition and Aggregation, Delegation. Object-oriented modeling with Unified Modelling Language (UML). Object-oriented analysis: Use cases, Use case diagrams. Object-oriented design: Class diagrams, Sequence diagrams, State diagrams, Activity diagrams and Deployment diagrams. Design Patterns: Overview of design patterns, Creational patterns, Structural patterns, and Behavioral patterns. Advanced object-oriented concepts.
Practical assignments will be given for mapping design to code.
Course rating: 5.0(1)
Academic Year: 2022/2023
Semester: Semester I

CGI concept, Server side program structure, Introduction to Server side programming languages, Session management, Database connectivity, Introduction to architectural patterns and frameworks, JSON and XML, AJAX, Web API, Web Services.
Practical assignments will be given for this course.
Course rating: 4.0(1)
Academic Year: 2022/2023
Semester: Semester I

Introduction to software development; Software engineering life cycle: requirements engineering, design, implementation, testing and maintenance; Software process models: Traditional, Agile and Modern models; Software engineering ethics; Requirements engineering: functional and non-functional requirements, requirements documentation; Software design: system modeling, architectural design; Implementation: coding standards, version control; Software testing: static testing, dynamic testing, test automation; Software reuse; Introduction to software management; CASE tools; Software agreements.
Practical assignments will be given for this course.
Course rating: 3.0(2)
Academic Year: 2022/2023
Semester: Semester I

Introduction to digital images: why digital images, the digital camera, 2D, 3D and higher dimensional representations, fundamental steps in digital image processing, elements of visual perception, light and electromagnetic spectrum, image sensing and acquisition , sampling and quantization, relationships between pixels; Image operations: histogram processing, spatial filtering; Filtering in the frequency domain: Fourier transform, Discrete Fourier transform (DFT), filtering; Morphological image processing: erosion , dilation , opening, closing, hit-or-miss transform, gray scale morphology; Image segmentation: point, line and edge detection, threshold, region based segmentation, watersheds; Representation and description: boundary descriptors, regional descriptors; Introduction to object recognition: patterns, pattern classes, classification; Color image processing: color models, image segmentation based on color.
Academic Year: 2022/2023
Semester: Semester I

Programming assignments will be given covering the following concepts.
Introduction to image processing tools, Digital image representations, Reading, displaying and writing images, Image types, Histogram processing, Intensity transformations, Filtering, Morphological processing, Color image processing, Image segmentation, Object representation and description.
Academic Year: 2022/2023
Semester: Semester I

Analysis of algorithms: Time complexity, Big-O notation, Complexity classes; Sorting algorithms and their analysis: Insertion sort, Bubble sort, Selection sort, Quick sort, Heap sort, Merge sort; Algorithm Design Paradigms: Divide and Conquer, Dynamic Programming, Greedy algorithms;
Algorithms by field of study: Graph algorithms, Searching algorithms, Optimization algorithms; NP-completeness: Polynomial time, NP-completeness and reducibility, NP-complete problems.
Practical assignments will be given for this course.
Course rating: 4.0(5)
Academic Year: 2022/2023
Semester: Semester I

The students will conduct a sufficient amount of work on a chosen software design problem under the guidance provided by an assigned supervisor(s), make a presentation of the developed solution, produce a report and conduct a presentation.
Course rating: 5.0(1)