Teaching
In my current semester, I am teaching the following courses:
Theory of Computation
Course Code: CSE 0541 3107
Level: Undergraduate
Introduction to formal languages, automata theory, computability, and complexity theory. Topics include regular languages, context-free grammars, Turing machines, decidability, and computational complexity classes.
Discrete Mathematics
Course Code: CSE 0541 2101
Level: Undergraduate
Fundamental concepts in discrete mathematics essential for computer science, including logic, set theory, relations, functions, combinatorics, graph theory, and discrete probability.
Computer Architecture
Course Code: CSE 0611 3203
Level: Undergraduate
Design and organization of computer systems, covering instruction set architectures, processor design, memory hierarchy, I/O systems, and performance analysis.
Fundamentals of Computer Science and Engineering
Course Code: CSE 0613 1101
Level: Undergraduate
Introduction to fundamental concepts in computer science and engineering, including programming basics, problem-solving techniques, algorithms, and computational thinking.
Teaching Philosophy
I believe in fostering an interactive and engaging learning environment where students are encouraged to think critically and apply theoretical concepts to practical problems. My teaching approach emphasizes:
- Hands-on Learning: Incorporating practical examples and projects
- Critical Thinking: Encouraging students to question and analyze concepts
- Real-world Applications: Connecting theory to industry practices
- Student Engagement: Creating opportunities for discussion and collaboration
For course materials or inquiries about teaching opportunities, please feel free to anowarul.faruk@buft.edu.bd.
