Teaching effectively

As more students are going to college, the number of students who are not ready for the rigorous of college learning is also increasing. Some are lacking certain skills, others are lacking motivation, and some just do not know that college requires much more works than high school. It is difficult to teach if students are still confused about their future and not ready to learn.

Most teachers start their first class by setting expectations for the course but I begin my class by introduce them to the “learning by doing” method so they understand how the class will be taught before going into the course content details. In the U.S. most students are familiar with this method so I can just review what I would do but in Asia, many students may not been exposed to it so it would take at least a whole class to discuss with students on this topic. Students always want to know what they learn in the course and how it helps them in their life. By explain the connections between their current learning and their future career, students can develop a vision of what they can do and it motivates them to learn. My assignment for students in the first class of software engineering is to conduct a small research using the Internet on the job market. Each student must prepare a one page description of how many companies are hiring software engineer? What are their requirements? What skills do they need? And answer the questions: “What skills do you expect to learn from this course? How do you develop these skills?” This will lead to a discussion on the next class and it helps to elaborate the learning by doing concept.

Every teacher should explain “What” students will be able to learn in the course and “Why” they need it. If they cannot explain clearly, students will not be able to make the connection on their own and may not want to engage in class activities or put in the extra effort. The answers to these questions should not be simple like: “Study this then you will get good job” as students need more specific answers so it is important for teachers to work with students to come up with answers to these two questions on a weekly basis based on what they are currently studying.

For example, on the first day of class I would explain the overview of the class: “Today software systems are everywhere. Almost all electrical and electronic devices now have software in it. Software controls manufacturing machines, runs schools and universities, hospitals, finance and business etc. The specification, management, and implementation of software are the domain of software engineering. Today software is getting larger and more complex; we need to apply engineering principles to the development of software instead of just coding and testing like in the past and hope it works. Software engineering is an engineering discipline where software engineers use methods, techniques, and theories from computer science and apply them into the development of large and complex software. By learning software engineering you will be able to develop and deliver quality software within costs, schedule, and meet customers' satisfaction. By having these skills, you will be able to build a good career as most of you already know there is a critical shortage of software engineers and the industry needs people with these skills.”

For the weekly learning objectives, I would explain: “This week, you will learn about software design where the design is structured as interacting objects. You need to understand how a software design may be represented as a set of interacting objects that manage their own state and operations; you also learn the activities in an object oriented design process. Today most software developments in the industry are based on object oriented design; if you are programming in Java, and C++ you must know object oriented design well. My question is: “What happen if you do not know it well? Let's have a discussion on this topic.”

When I give homework assignments, I also explain to students about the connection to what they are doing and what they may do in the future: This homework is about design a banking system using Unified Modeling Language (UML), I want you to start with a system architecture, identify objects in the systems and group them in a logical sub-systems where each is shown as a package, you must describe sequence of objects interactions, then document the object interfaces. Most of you are familiar with a bank and know how it works so it is simple enough but if you do this exercise well, you can design more complex systems in more details because the principles and process are the same. You start with the architecture, identify the objects and select a model to represent the system. The important is knowing the process and following it step by step. Most systems that you will build in the industry will also follow the same principles. If you learn to design well, you can do a lot in complex system that are used in the industry. By learning and knowing this technique well, you can move from programmer position to developer position much faster than someone who does not know about design or architecture. Eventually, if you do well you may get to system architect position where all you do is design more large systems…”

At the end of each week or when we finish a key subject topic, I ask each student to identify one important concept, theory, or idea that they have learned during the week then answer the following questions: “Why do you believe that this concept, theory, or idea is important?” “How do you apply what you have learned from this activity to some aspect of your life?” That will lead to more discussion among students about what they need, what they may do and how does it impact their life. Every student needs to have a “big picture” of what they will do and teachers should guide them through this learning process. By having a clear understanding about the relevance of what they are learning and what they will be doing in the future, it will help them to engage actively in class.

Some teachers wait until the end of the course to summarize what students have learned and talk about the relevant connections. That is a mistake because they miss an opportunity to motivate students to learn. The best way is to start with the relevance of the course at the first day of the class then each week focus on the connection of what they will learn that week and what they can apply in the future. Students need to understand what they can do and what they will do in the industry, they must know whether what they learn can help them to build a career that last a lifetime and by knowing it well, they are motivate to learn.

As a teacher, we are not only teaching a subject but also guiding students. The effectiveness in which students learn is based on how much we can motivate them. What we teach will impact them not just in our course but in all of their courses, and how they learn will help them to success in their life.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University

You may like