Jump to main content
Software Engineering
Research Lab

What is the Best Way to Teach Programming?

In our Lab, the main focus is to understand, identify and propose better ways for teaching programming to Computer Science students. To achieve this goal we work in three areas:

1: Understand Programming

To improve teaching practices, the first and the most important aspect is to understand how students understand programming. Programming is composed of several cognitive elements, including language comprehension, working memory, problems solving, and divided attention. Since understanding of programs is a cognitive process, we cannot observe it directly, hence we use indirect measurement approach. In our lab we use fMRI, EEG and Eye tracking.

                 

Students work with several source code snippets while being inside an fMRI scanner to record active brain areas, which are linked to cognitive processes.

2: Develop Teaching Methods from Research

Our main focus in this area is developing teaching methods that will help students enhance their program writing skills, some of the areas we have been working are

                

          1. Syntax drill and practice                        2. Optimal implementation styles              3. Intermediate artificial languages

 

3: Evaluate and Refine Teaching Methods

We analyze the existing teaching patters, the cognitive and behavioral process students follow when learning and propose new techniques for improvement. 

        

Students work with several source code snippets while wearing an EEG device to record active brain areas, which are linked to cognitive processes. Simultaneously students eye movements are tracked with an eye tracker to capture visual attention during program understanding. 

                                If you wat to know more about our Experiments click here.                              

                                         More about Experiments                                                 Participate in Experiments