Posts by Collection

experience

Teaching Assistant

Published:

Responsibilities

  • Teaching Problem Solving.
  • Traning Competitive Programmers.

Teaching Assistant

Published:

Responsibilities

  • Teaching Problem Solving.
  • Traning Competitive Programmers.

Lecturer

Published:

Courses and Laboratories

  • Data Structures
    • Topics Covered: Analysis and design of fundamental data structures including array-based lists, linked lists, stack, queue, hash table, recursion, binary tree, binary search trees(AVL tree, Red-Black tree), heaps, sorting(insertion, selection, bubble, merge sort, quick sort), searching (linear search, binary search)and basic graphs.
    • Lab Outlines: Design algorithmically efficient data structures for solving problems that provide a pathway towards competitive programming.
  • Complexity and Algorithms
    • Topics Covered: Computational Complexity, Branch and Bound Heuristics, Approximation Algorithms, Advanced Data Structures(Segment Tree, BIT, Trie), Graph Algorithms(BFS, DFS, Topological Sorting, SCC) Flow and Matching(Stable marriage, Bipartite matching, Ford-Fulkerson, Dinic, Hungarian) LP Based Approximation Algorithms, Randomized Algorithms, Algorithms in state-of-the-art fields like Bioinformatics, Parallel Computing, On-line Algorithms, etc.
    • Laboratory Outlines: Solving classical algorithmic and heuristic problems from different Online Judges (e.g. UVA, SPOJ, LightOJ, HDU, etc.)
  • Other Courses Instructed: Graph Theory and Computational Geometry, Structured Programming Language(C), Object-Oriented Programming Language (C++), Object-Oriented Programming Language (Java)

Assistant Professor

Published:

Courses and Laboratories

  • Data Structures
    • Topics Covered: Analysis and design of fundamental data structures including array-based lists, linked lists, stack, queue, hash table, recursion, binary tree, binary search trees(AVL tree, Red-Black tree), heaps, sorting(insertion, selection, bubble, merge sort, quick sort), searching (linear search, binary search)and basic graphs.
    • Lab Outlines: Design algorithmically efficient data structures for solving problems that provide a pathway towards competitive programming.
  • Complexity and Algorithms
    • Topics Covered: Computational Complexity, Branch and Bound Heuristics, Approximation Algorithms, Advanced Data Structures(Segment Tree, BIT, Trie), Graph Algorithms(BFS, DFS, Topological Sorting, SCC) Flow and Matching(Stable marriage, Bipartite matching, Ford-Fulkerson, Dinic, Hungarian) LP Based Approximation Algorithms, Randomized Algorithms, Algorithms in state-of-the-art fields like Bioinformatics, Parallel Computing, On-line Algorithms, etc.
    • Laboratory Outlines: Solving classical algorithmic and heuristic problems from different Online Judges (e.g. UVA, SPOJ, LightOJ, HDU, etc.)
  • Theory of Computation
    • Topics Covered: Computational models, Finite State Machine, Regular Expression, Deterministic Finite Automata, Non-Deterministic Finite Automata, Push-down Automata, Turing Machine, Complexity Theory.
  • Web Design and Programming
    • Topics Covered: HTML5, CSS, BootStrap, JavaScript, jQuery, AJAX, GIT, MySQL, PHP.
  • Software Testing
    • Topics Covered: Testing Preliminaries, Types of Testing, Testing Models(V-Model, Object-Oriented model, Agile Model), Model-Driven Test Desing (Input Space Partitioning, Graph Coverage, Logic Coverage, Syntax Coverage), Testing Tools(JUnit, JMeter)
  • Other Courses Instructed: Graph Theory and Computational Geometry, Structured Programming Language(C), Object-Oriented Programming Language (C++), Object-Oriented Programming Language (Java), Software Quality

Graduate Research Assistant

Published:

Projects

  • 3D Convective Cloud Cell Segmentation using Deep Learning.
  • Breast Cancer Prediction on EMBED Dataset using Deep Learning.
  • 3D Convective Cloud Cell Dataset Preparation.

portfolio

projects

publications

Human Face Recognition Using Eigen Decomposition on ROI

Published in International Journal of Computer Science and Information Security (IJCSIS), 2016

Recommended citation: Tania Khatun, Abul Kalam Azad, ASM M Rahaman, Md. Rafsan Jani and Md. Imdadul Islam (2016). “Human Face Recognition Using Eigen Decomposition on ROI”, International Journal of Computer Science and Information Security (IJCSIS), 14, 12, pp.1071-1079, 2016. Download paper here

A Hybrid Adversarial-TransUnet Architecture for Improving LV Segmentation Using Cardiac Cine Images

Published in ISBCom 2024, Springer, Cham, 2024

Recommended citation: Abdeltawab, H., Jani, M.R., Hasan, M.R., Yasser, I., Khalifa, F. (2025). A Hybrid Adversarial-TransUnet Architecture for Improving LV Segmentation Using Cardiac Cine Images. Intelligent Systems, Blockchain, and Communication Technologies. ISBCom 2024. Lecture Notes in Networks and Systems, vol 1268. Springer, Cham. https://doi.org/10.1007/978-3-031-82377-0_21 Download paper here

Data Privacy and Security Analysis for Mental Health Chatbot Applications

Published in HRI-2025, IEEE Press, 2025

Recommended citation: Al Amin Biswas, Md. Sabab Zulfiker, Md. Mahfujur Rahman, Md. Rafsan Jani, and Md. Musfique Anwar. 2025. Data Privacy and Security Analysis for Mental Health Chatbot Applications. In Proceedings of the 2025 ACM/IEEE International Conference on Human-Robot Interaction (HRI ‘25). IEEE Press, 1245–1249, https://doi.org/10.5555/3721488.3721656. Download paper here

talks

teaching

CSE-156: Data Structures Lab

Undergraduate Laboratory, Jahangirnagar University, Department of Computer Science and Engineering, 2019

Objectives

After successful completion of this course, students should be able to:

  • Understand and apply basic data structures for storage and retrieval of ordered and unordered data.
  • Implement and characterize algorithms for creation and manipulation of data structures like stacks, queues, linked list, etc.
  • Interpret and apply appropriate data structures for implementing problem solving algorithms such as searching, insertion, deletion, traversing mechanism, etc., on various data structures.
  • Compute and characterize the efficiency of data structures for complex problem-solving algorithms; perform and demonstrate this knowledge and write report for realistic problem solving.

CSE-212: Object Oriented Programming Lab (Java)

Undergraduate Laboratory, Jahangirnagar University, Department of Computer Science and Engineering, 2020

Objectives

After successful completion of this course, students should be able to:

  • Solve real world problems using object oriented programming principles
  • Create, compile and debug computer programs in JAVA.
  • Design and implement classes to produce reliable, robust, and reusable code.
  • Implement object-oriented designs using encapsulation, inheritance, polymorphism, and exception handling
  • Develop software (application program) in JAVA.

PMSCS-620: Web Design and Development

Graduate course, Jahangirnagar University, Department of Computer Science and Engineering, 2022

Objectives

After successful completion of this course, students should be able to:

  • Detail knowledge of the relationship between client and server and client-site and server-side programming.
  • Practical knowledge of languages of HTML, CSS, JavaScripts, Ajax, and PHP language
  • Hands-on experience of design and development of web application.

CSE-105: Structured Programming Language (C)

Undergraduate course, Jahangirnagar University, Department of Computer Science and Engineering, 2022

Objectives

After successful completion of this course, students should be able to:

  • Formulate problems step by step and design computer programs in a structured way
  • Identify programming data structures and describe programming methodologies
  • Apply fundamental programming concepts using high-level programming language to solve problems

PMSCS-670: Software Testing

Graduate course, Jahangirnagar University, Department of Computer Science and Engineering, 2022

Objectives

After successful completion of this course, students should be able to:

  • Critically evaluate alternative standards, models and techniques aimed at achieving quality assurance in a variety of software development environments
  • Design and develop a software that satisfies the user requirements
  • Build a software which responds correctly to all kinds of inputs, performs its functions and should be usable
  • Install the software and can run the s/w in its intended environments and meets the time requirements

CSE-257: Algorithms II

Undergraduate course, Jahangirnagar University, Department of Computer Science and Engineering, 2022

Objectives

After successful completion of this course, students should be able to:

  • Argue the correctness of algorithms using inductive proofs and invariants.
  • Analyze worst-case running times of algorithms using asymptotic analysis.
  • Describe the advanced divide-and-conquer paradigm and explain when an algorithmic design situation calls for it. Derive and solve recurrences describing the performance of divide-and-conquer algorithms.
  • Describe the advanced dynamic-programming paradigm and explain when an algorithmic design situation calls for it and analyze them.
  • Explain the advanced graph algorithms and their analyses. Employ graphs to model engineering problems, when appropriate.
  • Compare between different data structures. Pick an appropriate data structure for a design situation.