I have a class which is in a computer lab (each student has a computer). These are standard Windows computers. The computer lab is organized into rows, with students on either side of a row facing each other. I stand at the front of the classroom with a smart board.

I also take pains to ensure that students enjoy the class, seeing that the goal of the class is to encourage students who may not otherwise have encountered computer science to pursue it.

These two factors come together to create two problems: Students tend to talk to their neighbors, which I believe is because the rows separate them from me, so when I'm not near, there's no reason not to talk. I also permit talking, because the students are encouraged to work on problems together. In addition, because there are computers in front of them which have access to the internet, and they're not entering the class excited about computer science, they will use the computers for games.

How can I make the classroom environment more focused on computer science, without making it any less enjoyable for newcomers to CS?

  • 2
    $\begingroup$ How much control over the setup for the room do you have? How much "authority" do you have for setting rules of conduct within the class? Do you have the ability (and permission), using your own skills or through the "IT Dept." to customize the installations on the student workstations? $\endgroup$ Commented Jun 26, 2018 at 2:18
  • $\begingroup$ @GypsySpellweaver I can change the layout of the room to an extent. The limiting factor is the location of the floor outlets, which are in rows along the floor. I'm stuck with windows as the workstation OS, but I can request that custom software be installed by the IT Dept. However, a request to install software could take a prohibitivly long time (think majority of a school-year). $\endgroup$
    – thesecretmaster
    Commented Jun 26, 2018 at 2:21
  • $\begingroup$ What is the class? Is it intro to programming or something broader or ...? $\endgroup$
    – Buffy
    Commented Jun 26, 2018 at 9:44
  • $\begingroup$ It's an introduction to programming class $\endgroup$
    – thesecretmaster
    Commented Jun 26, 2018 at 9:45
  • $\begingroup$ Is the solution as simple as looking "down" the rows, rather than "across" them? I.e. turning the configuration 90 degrees, or moving your own position to a side wall? $\endgroup$
    – Buffy
    Commented Jun 26, 2018 at 10:11

4 Answers 4


There are a variety of measures, or counter-measures, that you can employ. Some are technology-based, some come at a financial cost, some require the right level of cultural and institutional authority to implement.

The least expensive, and tech-free alternative is to set rules with consequences. When the instructor is lecturing the students are expected to be listening. Listening is done with the mouth closed and the ears open and eyes on the instructor, not the "game". During "lab" time on-topic discussion is acceptable while discussion of current events (current pairings, etc.) is not considered on-topic.

If the students are expected to use paper for notes, rather than the computers, during the lectures, you can also require that they remain powered down until the "lab" portion of the class begins. Once they are working on the computer, the rules can say "No Games" and that can be explained to include both the Windows per-installed games, and online games of any variety.

Still non-tech, and possibly within a limited budget is the installation of mirrors. One or two strategically placed bubble mirrors can allow you to "see" the monitors even when you are on the other side of the row from them. Granted, the image in the mirror won't allow you to read their screens, or probably even know what program they have open. Even with the limited quality of view they offer you should be able to distinguish between an IDE and a video game, or a music video, etc. Even the difference between a web page being used for research and a chat/IM window is probably distinguishable that way. The version that hangs on a chain should be install able in almost any classroom, and without much effort from maintenance, possibly even on your own.

Corner Mirror Hanging Mirror

If the room's shape and the outlet distribution allows it, you can consider the tables mentioned in another answer. Even the pre-computer versions of the half-hex tables can accommodate a trio of flat-panel monitors if you can have the CPUs on the floor. There is the trade-off of loosing writing space for the keyboard, but if they take paper notes during lectures, with the computers remaining off, the keyboard can be moved out of the way.

The cost for the tables depends on what's currently collecting dust in the warehouse and what is purchased new.

Adding technology to the mix, there are other measures that can be pursued. First off is the uninstallation of all the games that are bundled with Windows. There seems to be no real reason to have them on computers that students are supposed to be using for schoolwork. It might cost the IT Dept. some time, but it won't cost them anything else.

Depending on the school's policies, it's also possible to restrict the sites that are reachable from the school's network. This shouldn't require any new software for the system, just the configuring of what's already there. Most of the popular games for your students are likely to be from a highly limited set of domains, domains which server no other purpose. Blocking traffic to those few IP addresses can be handled by even a simple home router, whatever is in use at your school ought to be capable of the same. If your school is setup with each room on its own VLAN then they could configure your lab's network to block those sites while allowing them for the rest of the school, and for the WiFi access from student devices. I don't think there's a legitimate need for access to such sites from the school's network at all, but the school policy might not allow a global blocking of such sites.

The most expensive, and probably the most complicated to maintain, is to install some form of "parental control" software on each student computer. (Removing, or disabling, unwanted software at the same time can't hurt, or course.) I have no recommendations for which one to use as I've never bothered with any of them. It's likely that the cost and licensing of them will have a larger impact on choice than features in any case. Institutional bureaucracies tend to move in that direction, even when it means getting something that does half of the task only half as well as something else would.

Still, no matter which measures, at whatever costs and technology level, are used, they only make sense when used to enforce an existing rule. If there is no rule against playing games during lab time, blocking game sites is not appropriate. That realization just returns the subject back to the top of the list.

With the understanding that there are some rules to follow, which are explained to the students in the beginning, you can still attempt to keep things "light" for their first real exposure to CS. If the class is for programming, you can work towards developing a game as part of the progression of the class. Obviously it will be a simple game compared to what they like to play. Being part of the team that makes it, however, can add the excitement lacking from the game itself. I suspect that even today's kids know what tic-tac-toe is, and its rules. Making a quick version of that early in the course can cover a lot of the language basics without needing major investment into complex libraries and programming. If developed early enough in the course, it ought to fuel their fire for making a "better" game during the remainder of the course.

Whether the end is a game, or something else, the sooner you get the students where they have "made" something which does something and they can see the results of their work, the better your chance is of getting them engaged and invested in the material. I believe that is one reason web design classes do so well - the view-able web page, no matter how "basic," is so easy and fast to create that there's nearly instant engagement of the students.

One final suggestion, to encourage them to see computers as a "game" of its own, a game where the computer is made to imitate what people can do, while giving them a bit of computer history as well, you can show the movie The Imitation Game about Alan Turing and breaking the German Enigma machine's code.


I don't know enough of the specifics of your layout and the course to be definitive, but will try to help a bit.

If the computers are laptops, it is easy enough to require that they be closed for parts of the class. Otherwise, the environment isn't conducive to learning as you note yourself. The monitors just get in the way.

My ideal situation in this case would be to have another room adjacent or nearby in which you begin each class period. Have your discussions, etc, in this room while students take notes. I would suggest that they take short notes on index cards for later reference in the lab room. Spend (perhaps) of the class period in the lecture room and at the end, give them a lab task to reinforce the current and past ideas. Then move to the lab. Again, speaking of my ideal situation, I would have them pair at the machines using Pair Programming or something close to it. This is discussed in other questions here and I'll provide references if requested. Spend your time in the lab session wandering around giving help and encouragement as needed, though with pairing you won't have to answer every question. If you arrange it so that one pair sits back-to-back with another, then some questions can get answered just by students turning around to interface with another pair. Make the learning a cooperative affair.

If the separate classroom is not an option, you might even have students move their chairs toward you for the first part of the class. If the chairs are on wheels it is very simple, of course. Students won't, then, have a nearby computer that is "theirs" to use and so will be more likely to interact with you and the instruction you are giving. This might be possible even if there isn't a great deal of extra room. I'd still have them take paper notes (index cards). This mechanism forces them to confront each idea twice, once when note taking and again when implementing on the computer in the latter half of the "lecture".

However, it also helps if you lecture less, especially if you lecture with your backs to the students. Flip the classroom so that students have as daily assignments some readings (books, online, handouts,...). You can open with a simple quiz to assure that the readings have been done, and then spend time answering questions and concerns rather than "presentation" or "covering material". Now you spend time facing them rather than back-to-them and so they are less likely to sneak a peek at the monitor. You can do this even you have two rooms available, of course, and it will likely help, though you have to find a way to assure that the readings are actually done, hence the quiz suggestion. Alternatively you could require each student to provide a half page summary of the readings as a "ticket to ride".

Caveat: This is all possible or not depending on unknowns here. How big the class is for example.

  • $\begingroup$ Start each class with a stand-up lecture : ) $\endgroup$
    – Scott Rowe
    Commented Jun 27, 2018 at 17:05

Our computer labs boot remotely from tailored images for each course. That way you can select exactly what to run during your class without messing up what the next instructor wants. It has the added benefit to lower maintenance cost (just update/modify one image, not dozens of machines). You might add configuration for local firewalls to only allow access to select sites.


I hate to disagree with other answers, but I have the opposite point of view. I even teach workshops about it.

Me too sometimes teach intro to programming and in my case I can not teach without students having computers.

We have to accept how times have changed. We are dealing with a generation that was born with the Internet as a given and they have "need" to feel connected on-line because this is how it was since they started to read. Now whether we think this is good or bad is irrelevant.

I assume a college environment.

So, what to do?. Adjust the way you teach in order to keep them engaged (not entertained, engaged). Here are few tips:

  • Of course there are the basics: they need to know why they are learning this in relation to real life.

  • When you need to lecture, share "lecture code" and have them try it with you. .. this way you are not wasting time waiting for them to copy it down, and they are part of the lecture

  • Always ask them questions individually and keep a toll. for example: "John, what did you see when you ran the program?" .. or "Andy, tell us how you wrote the loop"... etc.

  • If using LMS, randomly after say showing a code example, your next slide is the same with a missing couple of lines (related to the topic) and which you just explained in the earlier slide. Then tell them to write the missing code to get the example running and upload to an LMS dropbox. You can count these as quizzes.

  • In my case I also use tools I developed to allow me spontaneously ask students individually or collectively and keep track of points

(FYI: the "ask them random questions" was the idea of my students when I was researching how to keep them engaged)

These were some of the tips in relation to technology. I can sum it as: keep them busy with you and expecting to be addressed at any moment. They actually see this as "excitement" (I would have never guessed that, only when I asked the students)

In addition, I noticed a small mention related to classroom behavior: I too let my students work in pairs and encourage them to talk and help each other. However: there are rules. The rule in its simplest form is: when I talk no one else talks. If you have an unfinished discussion step outside and come back when you are done. (I have no problem enforcing this rule when needed, never happened more than once per semester if any)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.