MASTER OF SCIENCE COMPUTER SOFTWARE DEVELOPMENT (MSD)
| Module Code | Module Name | Description |
|---|---|---|
|
MSD501
|
Advances in Software Engineering
|
Topics include Software Engineering Processes - Object Oriented Paradigm, Object-Oriented Process Models, Rational Unified Process (RUP). Methodologies such as: Yourdon method for software design, Modified Yourdon Method, Object Modeling Technique (OMT) of Rumbaugh. Unified Modeling Language (UML): UML diagrams such as use case diagrams, class diagram, sequence diagrams, state transition diagrams etc. Agile development methodologies. Method Engineering
|
|
MSD502 |
Advanced Data Structures & Algorithms |
Topics include Algorithm analysis covering RAM model – notations, Recurrence analysis – Masters Theorem, Amortized analysis, Disjoint sets, Randomized Algorithms - n-queen problem. Sorting and Order Statistics covering -Heap Sort, Selection sort, Quick sort, Heap Structures, Min-Max Heaps, Leftist trees, Binomial Heaps, Fibonacci heaps. Search Structures covering OBST, AVL, 2-3 trees, Red-Black trees, B-trees, Digital trees, tries, Splay trees. Graph Algorithms covering Minimum spanning trees, Single source shortest path, All pairs shortest path, Maximum flow, Planar graph coloring. Advanced design and Analysis Techniques covering Dynamic Programming, Greedy Algorithms, Amortizes Analysis, Linear programming, Job Scheduling, TSP.NP-Hard and NP-complete: Non-deterministic algorithms, clique problem, Vertex cover problem, TSP. |
|
MSD503 |
Software Architecture & Design Patterns |
Envisioning Architecture The Architecture Business Cycle, What is Software Architecture, Architectural patterns, reference models, reference architectures, architectural structures and views. Creating an Architecture Quality Attributes. Analyzing Architectures Architecture Evaluation, Architecture design decision making, ATAM, CBAM. Moving from one system to many Software Product Lines, Building systems from off the shelf components. Design Patterns Pattern Description, Organizing catalogs, role in solving design problems ,Selection and usage. Creational and Structural patterns. Behavioral patterns Chain of responsibility, command, Interpreter, iterator, mediator, memento, observer, state, strategy, template method, visitor. |
|
MSD504 |
Test-Driven Development and Software Quality |
This module reviews the traditional software testing techniques that are applicable to any software product, as well as explore techniques for testing object-oriented software and graphical user interface testing. The agile development paradigm of test-driven development is discussed. Also discover how innovative companies are able to build testing and quality into every stage of the development process and deliver a multitude of releases with a relatively small testing organization. Test creation and testing techniques through discussions and individual and group projects. Concepts covered include test cycles, testing objectives, testing in the software development process, types of software errors, reporting and analyzing software errors, problem tracking systems, test case design, testing tools, test planning, test documentation, and managing a test group. |
|
MSD509 |
Advanced Web Technologies |
A look into The Internet, Web Development technologies, Concepts of Web Programming: using Scripting Languages such as JavaScript, CGI, PHP etc. Database Connectivity with MySQL and JDBC. Web Research, Evolution of Search Engines. Web Search & Mining Framework: Supporting Technologies, concepts, applications, types & tools, Quantifying the Web. Crawling Techniques: The task of a web crawler,Crawler algorithms, Indexing techniques, Ranking in Web. Duplicate Detection, Contextual Search. Emergence of Web Services and Service Oriented Architecture (SOA). Web Service Architecture Describing Web Services – WSDL introduction, non functional service description, Over View of XML – XML Document structure, XML namespaces, Defining structure in XML documents, Reuse of XML schemes, Document navigation and transformation. SOAP HTTP binding, SOAP communication model, Error handling in SOAP. Registering and Discovering Services. SOA and web services security considerations, Network-level security mechanisms, Application-level security topologies, XML security standards, Semantics and Web Services, Overview of .NET and J2EE, SOA and Web Service Management. |
|
MSD510 |
Advanced Machine Learning, Data Mining, and Artificial Intelligence |
The module is intended to combine the theory with the hands-on practice of solving modern industry problems with an emphasis on image processing and natural language processing. Topics include outlier detection, advanced clustering techniques, deep learning, dimensionality reduction methods, frequent item set mining, and recommender systems. Topics also considered include reinforcement learning, graph-based models, search optimization, and time series analysis. The module uses Python as the primary language, although later projects can include R and other languages. The module also introduces some industry standard tools to prepare students for artificial intelligence jobs. Software Security in the Era of AI |
|
MSD511 |
Information and System Security |
Information Security, Computer and Network Security: Security Goals Principles of Adequate protection. Operating security, Database security, Program security, Network Security. Attacks: Threats, Vulnerabilities and controls. Program Security: Secure programs: Fixing Faults, Unexpected Behaviour, Administrating Security Legal, Privacy, and Ethical Issues in Computer Security. Network Security -Classical Encryption Techniques, DES, Differential and Linear Cryptanalysis, Block Cipher Design Principles and Modes of operation, Blowfish, Placement of Encryption Function, Traffic Confidentiality, key Distribution, Random Number Generation. Public key Cryptography Principles, RSA algorithm, Key Management, Diffie-Hellman Key Exchange, Elliptic Curve Cryptography. Message authentication and Hash Functions, Digital Signatures, Authentication Protocols, Authentication Applications, Kerberos, X.509 Directory Authentication Service. Email Security, (PGP) and S/MIME. IP Security: Web Security: SSL, TLS, SET. Intruders, Viruses and Worms , Firewalls:, Trusted Systems, Intrusion Detection Systems. |
|
MSD512 |
Research Methods |
This module serves as a fundamental building block in equipping students with the knowledge and competencies to conduct research in the computing field. Qualifying students have an appreciation of the research process and the reason for conducting research according to a specific research paradigm, to solve a problem. They determine appropriate sources to consult for a literature review. Students understand appropriate research strategies, data gathering and analysis techniques to obtain answers to the stated research problem. The module will cover the following; Problem identification, Objective formulation, Anatomy of a literature review, Writing a captivating abstract, Methodology, Results and discussion, conclusion, Research contributions. |
|
MSD560 |
Dissertation |
The Final year dissertation involves an in-depth research in a particular area of interest in Information systems management. The research finding are expected to be published in peer reviewed journals or conference proceedings. Finally all the work should be presented in a thesis. |
|
ELECTIVES |
||
| MSD505 | Software Requirements Engineering | Students will be exposed to cover the fundamentals of requirement engineering; definitions, characteristics, process, evolution and management. Requirement elicitation. Requirements specification and documentation. Requirements validation. |
| MSD506 | Software Project Management | Project Management concepts, Process Framework, Project Planning, Software Life Cycle Models, Artifacts of the PM Process. Cost and Scheduling Estimation Models: Various Levels of COCOMO for Cost, Effort, Schedule, and Productivity Estimation. COCOMO II, Putnam Estimation Model, Algorithmic models. PM Techniques: Project Organizations and Responsibilities, Establishing Project Environment, Risk Management Process, Project Tracking and Control, Defect Tracking Concepts, Risk Estimation: Framework for Managing Risks, Risk Identification, Analysis and Prioritization, Avoidance and Mitigation Strategies, Monitoring, Estimating. Activity Planning including CPM and PERT: Network planning model; Activity-on-arrow network; Precedence network; etc. Advance Topics in SPM: Discussion on future Software Project Management Practices & Modern Project Profiles, Next Generation Software Economics, Modern Process Transitions. |
| MSD507 | Software Re-Engineering | Software Re-Engineering focuses on understanding Software Maintenance concepts, the evolution processes, and Program evolution dynamics. Lehman's Laws of Software Evolution. Identifying and Removing Software Clones. Build Environment Management. Legacy System Management, Business value assessment, Reverse engineering concepts, Design Recovery, Software Reuse. Reengineering process activities. Restructuring. Refactoring. Business Process Reengineering (BPR). Data Reengineering. Software quality and software testing. Configuration Management Activities. Software Version. Change Control Process. Advanced Topics, including Object-Oriented Re-engineering, Aspect-oriented Re-engineering, etc. code and API guidelines. Open source development. |
| MSD508 | Data Warehousing & Data Mining |
Data Warehousing: - Basic concepts in data warehousing, Collecting the requirements of data warehouse, Data Warehouse Architecture, Design, Implementation& Maintenance, OLAP in data warehouse, Data warehousing and the web, Further Development of Data Cube Technology. Data Mining Concepts: Data mining primitives, Basics of data mining, Query language. Mining Association Rules in Large Databases: Association Rule Mining. Classification and Prediction: Issues Regarding Classification and Prediction, Classification by Decision Tree Induction, Bayesian Classification, Prediction, Classifier Accuracy. Cluster Analysis in Data Mining: Types of Data in Cluster Analysis. Mining Complex Types of Data: Multidimensional Analysis and Descriptive Mining of Complex Data Objects, Mining Spatial Databases, Mining Multimedia Databases, Mining Time Series and Sequence Data, Mining Text Databases. Applications, Systems products and research prototypes, Additional themes in data mining, Trends in Data mining, spatial mining, and Web Mining: Web concept mining, Web structure mining, Web Usage mining. |
| MSD513 | Building Interactive Web Applications for Data Analysis | This module introduces students to essential aspects of data-driven web applications and covers techniques for creating custom solutions with the ML programming language. Python-based frameworks and visualization libraries are used to build fully functional project architectures for interactive exploratory data analysis. Students learn how to process data in a web application that handles both front-end visual appeal and back-end functionality. Specifically, the module covers understanding the web and its components, working with supervised machine learning techniques and frameworks, designing of effective interactions and data visualizations, and working with relational and non-relational databases. Upon completion, project setups are deployed to the cloud infrastructure, leveraging the dynamic nature of data-intensive applications. |
| MSD514 | Information Retrieval Systems | Motivation, Basic Concepts, Past-Present and Future, the Retrieval Process Modeling : Introduction, Information retrieval Models, Retrieval: Classic Information Retrieval, Alternative Set Theory Models, Alternative Probabilistic Models, Structured Text Retrieval Models, Model for Browsing Retrieval Evaluation, Performance Evaluation, Reference Collections Query languages Introduction, Keyword-Based Querying, Pattern Matching, Structural Queries, Document Preprocessing, Document Clustering, Text Compression, Comparing text Compression Techniques. Compression Searching the Web Introduction, Challenges, Characterizing the Web, Search Engines, Browsing, Metasearches User Interfaces and Visualization Introduction, Human-Computer Interaction, The Information Access Process, Multimedia IR: Models and Languages Introduction, Data Modeling, Query Languages Multimedia IR: Indexing and Searching Introduction, Background-Spatial Access Methods, A Generic Multimedia Indexing Approach, Automatic Feature Extraction. |
| MSD515 | Digital Image Processing | Digital Image Fundamentals: Digital Image Representation, Fundamental Steps in Image Processing, Elements of Digital Image Processing Systems. IMAGE TRANSFORMS: Discrete Fourier Transform, Some properties of the two-dimensional Fourier transform, Fast Fourier Transform, Inverse FFT. Image Enhancement: Spatial domain methods, Frequency domain methods, Enhancement by point processing, filtering methods, Colour Image Processing. Image Restoration: Degradation model, Diagonalization of Circulant and Block-Circulant Matrices, Algebraic Approach to Restoration, filters, Image Segmentation: Image Compression: Coding, Interpixel and Psychovisual Redundancy, Image Compression models, Error-free comparison. Representation and Description: Representation schemes like chain coding, Polygonal Approximation, Signatures, |
| MSD516 | Optimization Techniques | This module covers the following areas: Introduction to Linear Programming, Duality Theory and Sensitivity Analysis, Dynamic Programming, Integer Programming, Nonlinear Programming, and Queuing Theory. |
| MSD517 | Natural Language Processing | This module equips students with skills to analyse text, covering the following concepts: finding the structure of words, syntax, semantic parsing, language modeling, and recognizing textual entailment. |



