About Me
I have been working as a lecturer in the department of CSE at IUT since 2021. My area of interest includes Human-Computer Interaction, Accessibility and Assistive Technologies, Computer Graphics, and Game Development. In my personal time, I like to explore and learn programming langauges (I am kind of attracted to the low level ones), frameworks, engines, softwares, and techs. Building different tools for automation is my hobby. I also like to mess with Linux in my free time.
Courses
CSE 4849: Human Computer Interaction
Undergrad-level course introducing students to the domain of HCI
CSE 4849: Human Computer Interaction
An undergrad course covering the basic concepts of Human-Computer Interaction and the different stages involved in Human Centered design, e.g. requirements establishment, ideation, alternative designs, prototyping, analysis, and evaluation methods.
CSE 4551: Computer Graphics and Multimedia Systems
Introduction to computer graphics and multimedia systems
CSE 4551: Computer Graphics and Multimedia Systems
A course introducing students to the domain of computer graphics and the rendering pipeline, including modeling, transformation, scene graphs, rigging, dynamics, shading, ray tracing, and rasterization.
CSE 4614/4714: Technical Report Writing
Discussion on how to write technical reports and sessional on LaTeX
CSE 4614/4714: Technical Report Writing
A two part sessional course that introduces undergrad students to the methods and toolings of technical report writing. One part is associated with the design, planning, and structuring guidelines of a technical report, where as the other part is about learning the use of LaTeX as a typesetting system.
CSE 4305: Computer Architecture and Organization
Fundamental course on hardware-software interface
CSE 4305: Computer Architecture and Organization
A fundamental theory course that teaches bachelor's level students about the basic design of a modern computing system, with focus on ISA, processor, and memory.
CSE 4107/4108/4202: Structured Programming
Introductory courses on programming for the bachelor's
CSE 4107/4108/4202: Structured Programming
A theory course with two sessionals across two semesters to introduce beginners to the concept of 'Structured' programming with C. Covers fundamental concepts from statements, conditionals, iterations, functions, structures to advanced topics, such as pointers.
Research Interests
Skills
C Programming Language
I first got introduced to C in my higher secondary (class 11 and 12) ICT course. But my proper training in C started in my first year of BSc Engineering as part of the Structured Programming course. After four years, I had to conduct the course myself as a teacher and that is when I fell in love with the book, "C Programming: A Modern Approach", by K.N King. Not only it taught me the ins and outs of C, but also it taught me how to learn a programming language systematically and stay up to date with it.
C++ Programming Language
While I did learn some C++ during my second year of bachelor's, I started to learn it rigorously during the COVID-19 to build an imaginary game engine. The game engine was never finished, but I ended up getting entangled so much with Modern C++ that now I am comfortable learning the new library features by reading documentations and tracking regular progress of the language and STL. (Still waiting for Linear Algebra and Compile-time Reflective Programming in 2025) (And yes, it is my most favorite language)
Rust Programming Language
Because of my love for low level programming languages, sooner or later I had to learn Rust. I finally ended up learning it in 2025. Since I do not like using dynamically typed languages except for scripting and some other tasks, Rust has become my go to for creating small tools for everyday tasks. Also, it is nice for asynchronous programming and designing server apps, all managed with a nice project and package manager. And yes, I do acknowledge the difficulty of both learning and remembering Rust. Hey, what matters is that I like it. Also, the Rust book is really nice.
C# Programming Language and .NET
Among all the languages I have listed here, this is most likely the first one I encountered in my life. A high school kid sat down with Visual Studio one day and discovered programming. I ended up formally learning it at the end of the second year of my bachelor's study. I do not like Java. So, C# is a good choice when I am feeling lazy and need to develop a GUI application for Windows, especially using WPF. I like C# but I find it to be bloated, even in the latest frameworks. But it is the only full OOP enforced language that I like (as of 2025).
Python Programming Language
There cannot be a Comp Sci engineer without the knowledge of Python. While I do know well how to use this, alongside the libraries for AI and Data Science, I personally do not like to use Python a lot. From the perspective of a low level programmer, this one is too slow for my taste.
Lua Programming Language
Remember my imaginary game engine? Definitely I would need a scripting language for it. So, behold, Lua. Also, I use LuaLaTeX a lot for automated report and book generation. I even have a custom version of Avro, a transliteration system, written in Lua, with bindings for LuaLaTeX.
LaTeX Typesetting System
First learned during my third year in bachelor's, now it has become an integral part of my everyday life. From presentation slides to books to even automated system generated reports, this one is my bread and butter.
JavaScript Programming Language
Please do not tell anyone that I know JS or basic web-dev. I know this one. However, I believe I dislike this one the most and so, I do not know this one.
Go Programming Language
First learned during my internship for the sake of CI/CD, I never got the opportunity to put Go into practice. But I have done the basics and with a short refresher, I believe I can put this one into use.
Svelte Frontend Framework
I decided to learn a frontend web framework. Looked at React. Decided to hate it because of how it beautifully breaks the OOP principles. Switched to Svelte instead.
OpenGL API
Back to the story of the imaginary game engine. During the COVID pandemic, I started learning OpenGL and C++ with an ulterior goal to make a simple game engine. While I did not finish the engine, I did recreate a game from my bachelor's first year in vanilla OpenGL with custom shader based procedural animations. Also, Dear ImGui is my go to choice for creating quick cross-platform GUI apps in C++.
SQL and RDBMS
I got introduced to Oracle SQL as part of our Database Management System and Relational Database Lab courseworks in the bachelor's. Later I taught myself PostgreSQL with PL/pg basics to ditch Oracle.
Git
Got acquinted with it in bachelor's 2-1. Despite avoiding it initially, I cannot work without it now. Also I love CI/CD using GitOps.
Docker
I first used Docker during my bachelor's internship. Now, from service deployment to creating disposable dev environments, Docker, Podman, DistroBox, I have used them all.
Jenkins
I love self-hosted and on-premise services. I also love automation. And for creating custom self-hosted build factories and CI/CD pipelines, nothing beats Jenkins. Learned this beauty during my bachelor's internship.
Spreadsheet
Before getting into my job as a lecturer, I disliked spreadsheet apps and was among the fanatics who would process every data as CSV with pandas in Python (yes, there was a time when I too was an avid Python user). Fast forwarding to now, from simple to complex, I have done numerous things in Google Sheets. I have even created an app using Google AppSheet with Google Sheets as database that I use regularly in my personal life.
Arduino Microcontroller
From a simple project in the bachelor's third year Software Development Project course to my thesis and the best work of my early career, Arduino has been the main controlling component. I simply love what one can achieve with a simple IC with some pins.
Raspberry PI
It was used as the main coordinator in my bachelor's thesis project. Now I use PI 5 for various purposes. One of them is being my digital library and an ARM system to check various ARM projects.
Blender
We were creating a game in Unreal 4 in bachelor's 2-1. I was in charge of the assets and the map design. I tried to use Blender 2.7 (latest then). Hated it, moved to Autodesk Maya. Spent years with Maya. Became a teacher from a student. Lost my student's license. Blender improved a lot. Started using Blender. Now, this is the story known to most of my acquintances. Only a few know that Blender was an important part of my bachelor's thesis and served as a scriptable viz tool.
Autodesk Maya
A tool that taught me what modern computer graphics can achieve. Starting in my bachelor's 2-1, I have used this amazing piece of tech for more than 5 years. I have too many memories with it (including crashes). Finally gave up on it and switched to Blender as my student license expired and Blender had become good enough for my purpose.
GNU Image Manipulation Program (GIMP)
Nothing to say about this one. Had been using it since I was a kid. The leader of open source image processing. In the distant future, I can say that over a span of more than eight years, I have seen Gimp transition from version 2 to 3. I do not use Gimp for drawing though. There is Krita for that purpose. However, I do not think the scientific community cares about that.
Inkscape
Pretty much given that if I use Gimp as my raster editor, then I use Inkscape as my vector editor. From book covers to posters, I have made numerous things with it.
Unreal Engine
Once upon a time, there was a kid. The kid had a friend. That friend asked the kid, "Do you want to build a game in Unreal for the OOP lab project?" Little did the kid know what rabbit hole he was walking into. A project in the second year of bachelor's that gave me the passion for graphics and game-dev I have today. I have known many aspects of Unreal. Taught myself about modeling, scripting, shaders, lighting, particles, animations, optimization, and what not. But I have learned well enough what havoc this engine can cause when put into the hands of lazy devs. I consider it as a giant piece of showcasing tool now and not a practical engine for most of the games out there.
Godot Engine
After all the chaos of Unreal, I wanted something quiet, simple, and peaceful. What if I want to make a simple 2D game? A hobby, a pastime. And so I learned Godot. Small, elegant, fast, and beautiful. What else would a small hobbyist game developer ask for?
PyTorch
While I do not appear as an AI/ML researcher, I do know how to use the frameworks.
TensorFlow and Keras
I learned TensorFlow as part of my bachelor's Pattern Recognition course. What else is there to talk about a DL framework?
Arch Linux
I have used Arch by the way, with Hyprland based full custom riced setup. And through Manjaro and Endeavor. Anything else? Have I said I have used Arch BTW?
Ubuntu Linux
No, I am not mad enough to use Arch as my daily driver. I am a sane(?) person and I need a stable computer. I generally use an Ubuntu or one of its derivates as my daily driver. I have used Fedora and almost all other popular Linux variants as well. I like to keep it simple and stable.
Technical Works
ANTASID: A Novel Temporal Adjustment to Shannon's Index of Difficulty for Quantifying the Perceived Difficulty of Uncontrolled Pointing Tasks
IEEE Access, 2022
Ambulatory Human Posture Detection using MARG Sensor Arrays and Madgwick Filter
Bachelor's Thesis, IUT, 2021
Contact
Email: ishrakabedin@iut-dhaka.edu
Office: Room 503, 2nd Academic Building, IUT
Office Hours: Monday to Friday, 08:00 AM – 05:00 PM