This course describes techniques for eliciting requirements. Languages and models for representing requirements are also identified. Analysis and validation techniques, including need, goal and use-case analysis will be implemented in relevant case studies using both traditional and Unified Modelling Language (UML) approaches. Requirements in the context of system engineering such as specifying and measuring external qualities base on requirements documentation standards and requirements management. A hands-on project should be delivered to expose the student to system development which focuses in requirements analysis phase.

The main focus of this course is to understand a particular set of mathematical facts and how to apply them; more importantly, such a course should teach students how to think logically and mathematically.

This course introduces a formal system (propositional and predicate logic) on which mathematical reasoning is based. It develops an understanding of how to read and construct valid mathematical arguments (proofs) and mathematical statements (Theorems). It also develops the ability to see a problem from a mathematical perspective. The discrete structure course introduces various problem-solving strategies, especially thinking algorithmically (both iterative and recursive).

This course covers the discrete data structures such as sets, relations, discrete functions, graphs, and trees.

Final Year Projects (FYP) in Department of Computer Science are considered as group projects mandatory for every student after the completion of 6 semesters. One student is selected as group leader. Supervisors (and Co-supervisors if available) are assigned. FYP ideas are selected with the mutual consent of supervisors/co-supervisors and students. Along with industrial applications and utilization of knowledge gained in 3 years, working in a group, coordination with group fellows, and leading role of a student with his/her fellows are also the part of training . All FYPs are evaluated by supervisor/co-supervisor, FYP committee, and external from industry or academia. Final grades are awarded after evaluation of individuals contribution and effort in their project. FYP Committee is responsible for the registration of FYPs and the process of fair evaluation of projects.

Data mining refers to extracting or "mining" knowledge from a large amount of data. Data mining has evolved from several areas including databases, machine learning, algorithms, information retrieval, and statistics. Data warehousing involves data preprocessing, data integration, and providing on-line analytical processing (OLAP) tools for the interactive analysis of multidimensional data, which facilitates effective data mining. This course introduces data warehousing and data mining techniques and their tools.

Topics include Introduction to Data Mining, Data Preprocessing, Data Warehouse and OLAP technology, Mining frequent patterns, Classification & Prediction and Cluster analysis.