Philosophy of Teaching

My teaching experiences in both university and skill courses have demonstrated to me that teaching is my passion. Not only do I derive a great deal of personal satisfaction in teaching, but I am consistently amazed by how much I can learn from the act of teaching. I value student learning, and so in my teaching, I reflect on student feedback. I feel that learning should be the focus, rather than teaching, and that as a teacher, my role, in some instances, is to create an environment where learning can take place.

In my discipline of civil engineering, I try to help my students develop a combination of basic skills necessary for civil engineers, and higher-level critical thinking and creative skills. Engineering students need to develop critical thinking skills, the ability to find and evaluate information, and the ability to communicate and work with others, both in their professional lives and as members of the general community. In terms of Pratt’s teaching perspectives, I hold the apprenticeship and developmental perspectives. Some students have an inherent desire to learn and understand the world around them, and for this select group of learners, the abstract theory is sufficient to inspire interest. However, most students learn much better if there is a real-world application to the knowledge being presented. I aspire to offer real-world applications for the theory so that students have an incentive to learn the material (aside from simply striving to pass the course!). Student feedback on surveys consistently includes positive responses to the applications I present in class. I believe that one of the most effective teaching methods in higher education is the student-centered approach. Student-Centered Learning (SCL) refers to the learning model in which students are positioned as the center of the learning process, so the content, activities, and the pace of learning would be influenced by them. Through assigning open-ended problems, the SCL approach helps learners to be creative and critical in solving them. It also treats students as co-creators in creating content whom their ideas and points of view deserve attention. Moreover, it helps students getting more engaged and providing a learning environment in which not only they would receive feedback from the teacher but also trigger and re-structure their knowledge and learnings by giving feedback to their own work and their classmates. Furthermore, it leads to active learning as collaborative learning.

I feel that it is critical to use engaging activities in formal class time. As engineering instructors, one of our roles is to introduce students to the technical language and accepted practices of our discipline. Studies on retention rates generally find that students retain very little of the content of lectures unless supplemented by other activities. In contrast, group activities and design projects develop practical skills that are retained much longer.

I try to use technology as a learning tool. Engineering education has developed to a point where technology plays a significant role in its practice. From an educator’s perspective, there is often a need to find methods to allow students to visualize concepts that may otherwise be abstract. During lectures, I try to use several methods, including Java tutorials, computer animations, and computer simulations. This also allows me to teach students with differing learning styles. More than half of the class time is usually used for in-class assignments, the majority of which require the use of industry-standard computer-aided design tools that offer the students a chance to see effects and design circuits that would be difficult or impossible to do by hand.

Finally, I believe in the importance of professional skills in engineering graduates. Industry surveys and alumni experiences recount the importance of communications, design ability, team skills, and project management skills in successful engineers.

Teaching Experience
  • Structural Reliability
  • Soft Computing 
  • Application of Neural Networks, Genetic Algorithm & Fuzzy Logic in Civil Engineering Projects
  • Probabilistic Methods in Geotechnical Engineering
  • Theory of Elasticity & Plasticity 
  • Finite Element Method
  • Stability of Structures 
  • Structural Optimization
  • Advanced Engineering Mathematics
  • Reinforced Concrete Structures (I & II)
  • Mechanics of Materials
  • Statics
  • Construction Machinery
  • Engineering Probability and Statistics
  • Numerical Computations
Teaching Responsibilities

I have been teaching many courses in the Faculty of Civil Engineering at Semnan University for the past ten years:

Course Instruction

Structural Reliability

Structural Reliability attempts to answer the following questions: How can we measure the safety of structures? Safety can be measured in terms of reliability or the probability of uninterrupted operation. The complement to reliability is the probability of failure. How safe is safe enough? It is impossible to have an absolutely safe structure. Every structure has a certain nonzero probability of failure. Conceptually, we can design the structure to reduce the probability of failure, but increasing the safety (or reducing the probability of failure) beyond a certain optimum level is not always economical. This optimum safety level has to be determined. How does a designer implement the optimum safety level? Once the optimum safety level is determined, appropriate design provisions must be established so that structures will be designed accordingly. Implementation of the target reliability can be accomplished through the development of probability-based design codes.

Soft Computing

Soft Computing aims to surmount NP-complete problems, uses inexact methods to give useful but inexact answers to intractable problems represents a significant paradigm shift in the aims of computing – a shift which reflects the human mind is tolerant to imprecision, uncertainty, partial truth, and approximation and is well suited for real-world problems where ideal models are not available. The idea behind soft computing is to model the cognitive behavior of the human mind. Soft computing is the foundation of conceptual intelligence in machines. Components of Soft Computing are Fuzzy Logic (FL), Evolutionary Computation (EC) – based on the origin of the species, Genetic Algorithm, Swarm Intelligence, Ant Colony Optimizations, Neural Network (NN) and Machine Learning (ML).

Theory of Elasticity and Plasticity

Theory of Elasticity and Plasticity aims to introduce the relationship between stress and strain in an elastic body, the two-dimensional theory of elasticity, applications to problems of rod-torsion and plate-bending, handling of anisotropic materials, approaches to elastic-plastic problems, the bending and torsion of elastic-plastic materials, and applications to a thick-walled cylinder. Students will learn a method for analytically dealing with the elastic deformation and elastic-plastic deformation of homogeneous isotropic materials (typified by metal materials) and anisotropic materials (typified by fiber reinforced plastics). By the end of this course, students will be able to: gain knowledge of basic concepts and analytically approach the strength and deformation of machines and structures, deal with elastic deformation problems for homogeneous isotropic materials and anisotropic materials which are the basis of mechanical design and also mechanically handle the transition to plastic deformation from elastic deformation.

Finite Element Method

Finite Element Method aims to introduce in a unified manner the fundamentals of the finite element method for the analysis of engineering problems arising in solids and structures. The course will emphasize the solution of real-life problems using the finite element method underscoring the importance of the choice of the proper mathematical model, discretization techniques, and element selection criteria. Finally, students will learn how to judge the quality of the numerical solution and improve accuracy in an efficient manner by optimal selection of solution variables. By the end of this course, students should be able to demonstrate an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics and demonstrate an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.

Stability of Structures

Stability of Structures attempts to introduce Basic principles for stability and buckling. Second-order load effects. Potential energy. Buckling of structures with compression members (columns, frames) using differential equations and energy principles. Critical loading, Iterative solutions (Vianello), matrix formulation, stiffness matrix with stability functions, approximate solution methods, inelastic buckling, and aspects of large displacement theory are the main sections. The course gives a thorough treatment of the theoretical basis for computation of systems where geometric nonlinearity (second-order load effects), caused by the effect of axial force on the displacements, must be accounted for. Emphasis is placed on providing a good physical understanding of buckling and second-order load effects in general.

Structural Optimization

Structural Optimization aims to present modern concepts of optimal design of structures. Basic ideas from optimization theory are developed with simple design examples. Analytical and numerical methods are developed, and their applications discussed. The use of numerical simulation methods in the design process is described. Concepts of structural design sensitivity analysis and approximation methods will be discussed. The emphasis is made on the application of modern optimization techniques linked to the numerical methods of structural analysis, particularly, the finite element method. The course outline includes a review of numerical optimization methods, structural applications of linear and discrete methods, approximation techniques, sensitivity analysis techniques, decomposition, and multidisciplinary optimization, and reliability-based design optimization.

Advanced Engineering Mathematics

Advanced Engineering Mathematics covers first-order ordinary differential equations and second-order linear differential equations. Methods for solving differential equations are studied, including the use of Laplace transforms and power series solutions. In addition to differential equations, students are introduced to matrices and linear algebra, as well as functions of a complex variable. Course Objectives are: introducing students to ordinary differential equations and the methods for solving these equations, using differential equations as models for real-world phenomena, integrating the knowledge accumulated in the calculus sequence to solve applied problems, introducing the fundamentals of linear algebra and complex analysis, and providing a rigorous introduction to upper-level mathematics which is necessary for students of engineering, physical sciences, and mathematics

Reinforced Concrete Structures (I & II)

Reinforced Concrete Structures (I & II) aims to provide students with a rational basis of the design of reinforced concrete members and structures through advanced understanding of material and structural behavior. This course is offered to undergraduate and graduate students. Topics covered include strength and deformation of concrete under various states of stress; failure criteria; concrete plasticity; fracture mechanics concepts; fundamental behavior of reinforced concrete structural systems and their members; basis for design and code constraints; high-performance concrete materials and their use in innovative design solutions; slabs: yield line theory; behavior models and nonlinear analysis; and complex systems: bridge structures, concrete shells, and containments.

Mechanics of Materials

Mechanics of Materials aims to present the principles of mechanics applied to different materials and to develop problem-solving skills through the application of these principles to basic engineering problems. Specific topics covered in this class include the behavior of axially loaded members; torsion of circular shafts; stresses and deflections in beams; connectors in built-up beams; stress transformation under rotation of axes; principal stresses; tri-axial stress and maximum shear stress; pressure vessels; and buckling behavior of columns. The course will rely on students’ prerequisite knowledge of mathematics and basic science in developing principles and analytical techniques of mechanics of materials. Students will be able to solve a variety of engineering problems that involve the mechanics of materials. General problem-solving skills will be enhanced and further developed. Students will acquire background knowledge and experience in the mechanics of materials topics that are required to support further study in structures, soil mechanics (geotechnical engineering), fluid mechanics, machine design, etc.


Statics deals with forces acting on rigid bodies at rest covering coplanar and noncoplanar forces, concurrent and non-concurrent forces, friction forces, centroid, and moments of inertia. Much time will be spent finding resultant forces for a variety of force systems, as well as analyzing forces acting on bodies to find the reacting forces supporting those bodies. Students will develop critical thinking skills necessary to formulate appropriate approaches to problem solutions.

Engineering Probability and Statistics

Engineering Probability and Statistics covers the role of statistics in engineering, probability, discrete random variables, and probability distributions, continuous random variables, and probability distributions, joint probability distributions, random sampling and data description, point estimation of parameters, statistical intervals for a single sample, and tests of hypotheses for a single sample.

Numerical Computations

Numerical Computations aims to give students an introduction to numeric and algorithmic techniques used for the solution of a broad range of mathematical problems, with an emphasis on computational issues and parallel processing. In addition, students will become familiar with one or more array-oriented numeric programming environments: Matlab, Scilab, or some similar package.

Graduate supervision

Over the past ten years, I have supervised or co-supervised more than 100 graduate students. My graduate students have been active in attending and presenting at conferences and in journal publications. In the past ten years, they have co-authored more than 160 journal and conference publications. I meet with the graduate students weekly throughout most of the school year to provide guidance and ensure continuous progress.