In higher education, software programming is an important fundamental skillset for students. Introductory software programming courses are offered to students majoring in not only computing science (CS), but also other schools including mechanical engineering, civil engineering, aerospace engineering, mathematics, business, and so on. Many students, particularly non-CS students, feel that software programming is not easy to learn and demonstrate good performance. Hands-on exercises in laboratories and tutorials are important to reinforce the learning of the theorical aspects of software programming. Clear guidance and immediate assistance from lecturers are highly appreciated in laboratory sessions to help students in their troubleshooting of software bugs. Teaching and learning face major challenges or even disruptions in the pandemic of COVID-19, due to the physical lock down of cities. Online learning or home-based learning has become a norm during the pandemic. As such, it introduces additional difficulty in the conduct of hands-on programming laboratory sessions, as lecturers and students are not in the same physical classroom. It may take a longer time for students to troubleshoot small software bugs in a programming code without immediate advice from lecturers. Students may become anxious or de-motivated in hands-on programming. In this paper, an online collaborative programming platform is employed to conduct laboratory sessions in the learning of Python programming subject, which is offered to Year 1 Civil Engineering students. It enables students and lecturers to work together or troubleshoot programming codes "virtually" from different physical locations. A case study and its effectiveness are explored by comparing the results before and after utilizing the collaborative programming. Interesting results are discussed on the learning process of Civil Engineering students who do not have any prior Python programming skills.