Computer Programming: Flipping Java

Pani Chakrapani

Pani Chakrapani has worked in numerous areas of computer science over the past 30 years. He has published papers and articles in a variety of journals, and co-authored a chapter in the Transactions on Engineering Technologies, World Congress on Engineering and Computer Science 2014. His current focus is on the pedagogy of computing in a rapidly changing computing environment and the study of agents in Artificial Intelligence.




Project Summary

The first class in programming involves getting exposed to four different major learning outcomes thus:

  1. Learning the syntax of the programming language
  2. Learning the intricacies associated with the programming environment
  3. Learning about the problem-solving strategies inherent in the physical sciences domain
  4. Understanding and implementing the concepts of program debugging and testing.

The students almost always struggle with one or more of these aspects of the course and hence it has been worthwhile for us to find ways of presenting the material to make learning as a pleasant experience. Towards that end I worked on a project funded by the Faculty Technology grant in 2015-16 and developed six videos for portions of the above class material using the Camtasia software. Expanding on that work, I would like to create multiple videos for various components of the class and include quizzes and other similar testing components to move towards the “flipped” classroom environment. This framework will also help students to review material covered in a face-to-face classroom to augment the gaps normally encountered by the students, since very often multiple sequential steps lead to the outcome related to the programming tasks assigned in this course.

Following are the modules that I plan on working during this grant period:

  1. Introduction to the programming environment Eclipse
  2. Basic concepts related to primitive or scalar data
  3. The notion of a main method
  4. The process of editing the program within the Integrated Development Environment of Eclipse
  5. The concept of variables, constants and expression
  6. The assignment statements
  7. The process of compiling and testing programs
  8. The control statements
  9. The Repetitive statements
  10. The process of debugging code

Of course, I know some of these modules (number 6 and above) will require creation of multiple video segments and the associated testing features. I plan to utilize the Kaltura Video plugin in Moodle to do this project. Following the process of learning the details of creating videos in Kaltura, I will work on creating the subject contents for the first two videos and the associated quiz modules for them. The content presentation will also require me to incorporate various screen shots from applications such as Eclipse, to enable me to include Java program segments appropriately. Creation of these two modules will provide me with enough expertise to implement the other proposed modules.

I will add these modules as resources to the spring semester class that I will be teaching on campus; these videos will be used as a resource by the students to “review” class material at their own pace and for repeated use whenever they have difficulty in realizing the solutions for on-going assignments in class. Using these in classroom setting, will give me the opportunity to get first-hand feedback from the students along with possible suggestions for revamping and improving the presented course material.