Worked as a research assistant in Dr. Sung's lab under Professor Andrew H. Sung, Ph.D., and do my research in Applied Cybersecurity, Machine Learning, Deep Learning, and Computer Vision. In addition, as a TA, Taught and Graded courses: Computer Networks, Data Structures, Computer Systems, Project Management, and Computer Science II (C++ Programming).
Responsibilities:
Conducted in-depth research into two cybersecurity topics: Mobile malware detection and Deepfake (aka. Fake image/video) detection directed by the professor.
Conducted experimental tests and developed new research methods for these two topics.
Developed and implemented quality control procedures for research methodology.
Prepare detailed reports playing out various scenarios for research purposes.
Prepare reports on research methodology and conclusions.
Performed set-up and preparation procedures as required by the professor.
Carry out assigned tasks while keeping established objectives in mind.
Prepared and maintained laboratory equipment prior to and after work.
Guided/Assisted an MS research project of 7 Master's students for five months (Spring 2018).
Key achievement (in research):
Introduced a new feature selection method for Android malware detection.
Introduced real-time malware scanner using Ethereum Blockchain technology.
Introduced deep learning (DL)-based technique for fake image/video (aka. Deepfake) detection.
Though the DL-based approach can achieve good solutions, introduced the results of a new study indicate that traditional machine learning (ML) techniques alone can obtain superior performance in detecting Deepfake
Performed a systematic literature review of 112 studies on Deepfake detection.
Created a new and more diverse Deepfake dataset (will be published soon).
Published a total of 122 papers: 9 in the applied cybersecurity domain, 2 in a distributed database, and 1 in computer algorithm design.
Two papers in cybersecurity are under submission (published soon).
In addition:
Proposed a new technique in sorting algorithm.
Introduced a new approach to managing Facebook users using a distributed database.
Responsibilities:
Conducted in-depth research on three unique topics: (i) digital image processing, (ii) computer vision, and (iii) e-learning or distance learning.
Conducted experimental tests and developed new research methods for these three topics.
Oversaw graduate/undergraduate student projects and advised on focus, method, and report generation to meet preset standards.
Supervised/Instructed graduate/undergraduate research projects with in-person and remote collaborators and presented scholarly publications to enhance knowledge further.
Supervised junior lecturers’ course development and recommended refinements to enhance student learning.
Led and prepared lectures for computer science classes, including software engineering, basic electrical, digital electronic, operating system, and advanced programming language courses.
Conducted graduate/undergraduate research with in-person and remote collaborators and presented results in scholarly publications to further enhance knowledge.
Delivered higher-level undergraduate and graduate courses via classroom, online and hybrid methodologies to satisfy course curricula and meet student needs.
Monitored student use of learning tools and equipment for safe and effective handling.
Created a positive and safe learning environment for students by setting and enforcing the classroom code of conduct.
Impartially evaluated papers, projects, and homework assignments of students, delegating grading to teaching assistants when appropriate.
Evaluated and supervised student activities and performance levels to provide reports on academic progress.
Contributed to planning appropriate and engaging lessons for both classroom and distance learning applications.
Applied innovative teaching methods to encourage student learning objectives.
Graded over 80-90 assignments per week and entered grades into the school’s recommended software application (e.g., Google classroom, model, Canvas, etc.) and the school’s ERP system.
Identified student strengths and weaknesses to create tailored learning activities, including career goal setting and concepts on future upcoming technologies activities.
Created lesson plans for courses, modifying them throughout the year to meet time constraints and specific interests of the class.
Conducted engaging in-class discussions to facilitate learning and encourage participation.
Worked closely with the course coordinator to develop and implement a computer science curriculum for improved learning and student performance.
Key achievement:
Published a total of 6 papers: 2 in image processing, 2 in computer vision, and 2 in e-learning.
Received Researcher Award for two consecutive years (2017 and 2018).
Built a cybersecurity center, namely, DIU Cyber Security Centre, by forming a team with colleagues and students.
Organized a hackathon and worked as Communication Secretary, DIU App Contest 2017. Link: https://contest.daffodilvarsity.edu.bd/
Course Taught:
Project Management
Operating System
Computer Fundamentals
Desktop and Web Programming (ASP.NET/C#)
Structured Programming (C)
Object-Oriented Programming (C++)
Object-Oriented Analysis and Design
Course Taught:
Bachelor
Software Engineering I
Software Engineering II
Software Engineering IV
Structured Programming (C)
Object-Oriented Analysis and Design
Masters
Software Engineering
Human-Computer Interaction
Developing features across multiple applications.
Reviewing code for quality and adherence to standards.
Responding promptly to reports of bugs.
Clearly communicating technical concepts.
Providing technical guidance to junior developers
Serving as a mentor to less experienced software engineers.
Updating project documentation.
Monitoring the effects of any changed code to see if it has affected the performance of any related software or systems.
Interpreting design specifications.
Ensuring proper source code documentation and software configuration management
Repairing legacy code and identifying tasks that could be improved through automation.
Testing software in controlled, real situations before it goes live by resolving technical issues faced by other team members.
Writing up reports, manuals and other documentation on the status, operation and maintenance of software.
Troubleshooting complex software systems that run in mixed-environments such as Linux, Unix and Windows.
Participating in daily scrum meetings.
Designing solutions to problematic programming.
Estimating the time it will take to implement any software updates.
Working with database administrators to design relational databases.
Developing features across multiple applications.
Reviewing code for quality and adherence to standards.
Responding promptly to reports of bugs.
Clearly communicating technical concepts.
Providing technical guidance to junior developers
Serving as a mentor to less experienced software engineers.
Updating project documentation.
Monitoring the effects of any changed code to see if it has affected the performance of any related software or systems.
Interpreting design specifications.
Ensuring proper source code documentation and software configuration management
Repairing legacy code and identifying tasks that could be improved through automation.
Testing software in controlled, real situations before it goes live by resolving technical issues faced by other team members.
Writing up reports, manuals and other documentation on the status, operation and maintenance of software.
Troubleshooting complex software systems that run in mixed-environments such as Linux, Unix and Windows.
Participating in daily scrum meetings.
Designing solutions to problematic programming.
Estimating the time it will take to implement any software updates.
Working with database administrators to design relational databases.
Developing features across multiple applications.
Reviewing code for quality and adherence to standards.
Providing technical guidance to junior developers
Serving as a mentor to less experienced software engineers.
Updating project documentation.
Monitoring the effects of any changed code to see if it has affected the performance of any related software or systems.
Interpreting design specifications.
Ensuring proper source code documentation and software configuration management
Repairing legacy code and identifying tasks that could be improved through automation.
Testing software in controlled, real situations before it goes live by resolving technical issues faced by other team members.
Writing up reports, manuals and other documentation on the status, operation and maintenance of software.
Troubleshooting complex software systems that run in mixed-environments such as Linux, Unix and Windows.
Participating in daily scrum meetings.
Estimating the time it will take to implement any software updates.
Software Development.
Participating in daily scrum meetings.
Updating project documentation.