Faculty in CSE @ UC San Diego
My research involves designing and evaluating effective, equitable, and inclusive ways to teach computing to a diverse set of learners. Specifically, my research spans the following three areas: 1) Studying the effectiveness of live coding, a teaching method based on cognitive apprenticeship, to teach programming processes (e.g., incremental development) for students with no prior programming experience, 2) Understanding the barriers that non-native English speakers face while learning programming and helping them overcome those barriers using suitable interventions (e.g., bilingual CS education), and 3) Understanding and improving the secure programming practices among our undergraduate computer science students.
In all my research projects, I have collaborated with multiple people (professors, graduate, and undergraduate students) from University of California San Diego (UCSD), University of Wisconsin-Madison, University of Michigan-Ann Arbor, and College of Engineering Guindy, India. I value research collaborations highly and I have learned a great deal from all my collaborators. All the research work presented here is a collective effort by my collaborators and me.
Live Coding – the process of writing code live before the students in class – has been used as an instructional technique for over thirty years, and yet little is known about its effectiveness in learning programming. CS instructors are increasingly using this technique and it is recommended as one of the best practices to teach introductory programming (along with well tested techniques like Peer Instruction). The goal of this project is to experimentally evaluate the effectiveness of Live Coding on student learning in introductory programming.
Live Coding: A Review of the Literature. Ana Selvaraj, Eda Zhang, Leo Porter, and Adalbert Gerald Soosai Raj. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE), June, 2021. [Paper]
A Qualitative Analysis of Lecture Videos and Student Feedback on Static Code Examples and Live Coding: A Case Study. Derek Hwang, Vardhan Agarwal, Yuzi LYu, Divyam Rana, Satya Ganesh Susarla, and Adalbert Gerald Soosai Raj. In Proceedings of the 23rd Australasian Computing Education Conference (ACE), February, 2021. [Paper]
Live-coding vs Static Code Examples - Which is better with respect to Student Learning and Cognitive Load?. Adalbert Gerald Soosai Raj, Pan Gu, Eda Zhang, Arokia Xavier Annie, Jim Willims, Richard Halverson, and Jignesh Patel. In Proceedings of the 22nd Australasian Computing Education Conference (ACE), February, 2020. [Paper]
Role of Live-coding in Learning Introductory Programming. Adalbert Gerald Soosai Raj, Jignesh Patel, Richard Halverson, and Erica Rosenfeld Halverson. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research, November, 2018. [Paper]
Is More Active Always Better for Teaching Introductory Programming?. Adalbert Gerald Soosai Raj, Jignesh Patel, and Richard Halverson. In Proceedings of the 6th International Conference on Learning and Teaching in Computing and Engineering (LaTiCE), April, 2018. [Paper]
People from all around the world learn computer programming as it is increasingly becoming a much needed and valuable skill in our technology driven world. Even though people from various native language backgrounds (e.g., Spanish, Mandarin, Tamil) learn programming the de facto language of programming is English. The most popular programming languages (e.g., Python, Java, C++), programming language documentation (e.g., Java documentation) and online resources for learning programming (e.g., Stack Overflow) are primarily in English. Therefore, it becomes necessary for a person to know English to learn programming. The prerequisite of knowing English to learn programming creates a major barrier for people whose native language is not English and/or whose proficiency in English is limited. In this project, we understand the barriers that non-native English speakers and English Language Learners face while learning programming and help them overcome the barriers by designing and implementing interventions to make computing more inclusive, equitable, and accessible to everyone.
An Analysis of Stress and Sense of Belonging Among Native and Non-native English Speakers Learning Computer Science. Vardhan Agarwal, Yada Chuengsatiansup, Elise Kim, Yuzi LYu, and Adalbert Gerald Soosai Raj. In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education (SIGCSE), March, 2022. [Paper]
Experiences of Non-Native English Speakers Learning Computer Science in a US University. Carmen Nayeli Guzman, Anne Xu, and Adalbert Gerald Soosai Raj. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE), March, 2021. [Paper]
Impact of Bilingual CS Education on Student Learning and Engagement in a Data Structures Course. Adalbert Gerald Soosai Raj, Hanqi (Alisa) Zhang, Viren Abhyankar, Saswati Mukerjee, Eda Zhang, Jim Williams, Richard Halverson, and Jignesh Patel. In Proceedings of the 19th Koli Calling International Conference on Computing Education Research, November, 2019. [Paper]
Effect of Native Language on Student Learning and Classroom Interaction in an Operating Systems Course. Adalbert Gerald Soosai Raj, Eda Zhang, Saswati Mukherjee, Jim Williams, Richard Halverson, and Jignesh Patel. In Proceedings of the 24th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE), July 2019. [Paper]
Does Native Language Play a Role in Learning a Programming Language? Adalbert Gerald Soosai Raj, Kasama Ketsuriyonk, Jignesh Patel, and Richard Halverson. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE), February, 2018. [Paper]
What Do Students Feel about Learning Programming Using Both English and Their Native Language?. Adalbert Gerald Soosai Raj, Kasama Ketsuriyonk, Jignesh Patel, and Richard Halverson. In Proceedings of the 5th International Conference on Learning and Teaching in Computing and Engineering (LaTiCE), April, 2017. [Paper]
Increased reliance on digital technologies in our daily lives warrants more security awareness for our software developer workforce. However, to date, in many universities in the United States, computer security courses are optional, and a student can graduate with a bachelors degree in computer science or related field without taking any computer security course. Therefore, researchers have proposed using core and introductory courses to educate students on basic computer security. Introductory computer systems courses teach students how a single program is executed inside a computer, providing them with their first exposure to the logical internals of computing systems. This is one of the first introductory courses where students can learn about security and the need for robust coding. However, currently, these courses are taught with a focus on correctness and runtime efficiency only, ignoring security almost entirely. In this project, we aim to understand the issues students face with learning secure programming so that we could design teaching interventions to effectively teach secure programming practices to our undergraduate computing students.
Identifying Gaps in the Secure Programming Knowledge and Skills of Students. Jessica Lam, Elias Fang, Majed Almansoori, Rahul Chatterjee, and Adalbert Gerald Soosai Raj,. In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education (SIGCSE), March, 2022. [Paper]
Textbook Underflow: Insufficient Security Discussions in Textbooks Used for Computer Systems Courses. Majed Almansoori, Jessica Lam, Elias Fang, Kieran Mulligan, Adalbert Gerald Soosai Raj, and Rahul Chatterjee. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE), March, 2021. [Paper]
How Secure are our Computer Systems Courses?. Majed Almansoori, Jessica Lam, Elias Fang, Adalbert Gerald Soosai Raj, and Rahul Chatterjee. In Proceedings of the 16th International Computing Education Research Conference (ICER), August, 2020. [Paper]