Engage your students with something physical and/or in the real world.
One of the early lessons we would do in our intro web development class was a “How the internet works” lesson. We talked about routers and packets and how they got from one end of the internet to the other. I would pull out a box of numbered stress balls, which would become my packets. The students would become the routers and a student at the back of the class being the end-user. The instructions were:
- You are to toss the “packets” to the next “router” in the general direction of the end-user
- If you drop a packet, just leave it on the floor
Then I would start tossing balls to the students in the front row, who would toss them back, until they get to the destination, mostly. A few ended up on the floor from bad tosses or bad catches and they would become our lost packets. We would then explain how packets are confirmed received and what happens when a packet gets lost.
I watched the students as we did this, wake up, they were engaged in the lesson. I would get more questions about things, and generally, a better response to the lesson.
Find Games to assign.
We were teaching intro PHP to a class of business and marketing students. Our students, mostly, had never seen a programming language before and were probably not going to be working in direct development (but perhaps managing developers).
To get them thinking a little more like a developer, we gave bonus marks for completing one of the Blockly Games (https://blockly.games/). Blockly is a visual programming language, built by Google to be easy for anyone to learn; just drag and drop the blocks to build a functional program.
The requirement was that the students to use the pond game from Blockly Games and design a program to allow their duck to win the match. Our goal for the student was to prepare their minds for the logic behind how a computer program is written. About 25% of the class submitted something and got a mark. We were pretty easy going about giving a mark, as it was never really about winning, but more the learning.
Have a message board or another class communications system
We had a WordPress site, with BBPress, that acted as a class communication system. We put each assignment on the board, so questions could be added and answered by the students. We kept a watchful eye on the site to answer questions and correct any incorrect answers from other students. At the end of the semester, the boards would get moved to an accessible archive, so the old answers were available to the new students. Additionally, we would use this information as feedback to tailor our lectures for the next time.
Kiera is a software developer, instructor, and CTO at Wiley Solutions, the makers of DragonTeach