Milestone 2: Definition & Related Work
In this milestone, we will clearly define the computing-related task/problem, identify existing solutions to that or similar tasks/problems, propose a potential solution, and summarize that work in a recorded video presentation.
Background
Collaborative learning is when two or more people learn or attempt to learn something together. Unlike individual learning, people engaged in collaborative learning.
Capitalize on one another’s resources and skills. More specifically, collaborative learning is based on the model that knowledge can be created within a population where members actively interact by sharing experiences and taking on asymmetric roles. Thus, collaborative learning is commonly illustrated when groups of students work together, or students and their teacher work together to search for understanding, meaning, or solutions, create an artifact or product of their learning, or even write a code. Collaborative learning activities include collaborative writing, group projects, joint problem solving, debates, study teams, and other activities. The approach is closely related to cooperative learning.
The primary purpose of a live-coding session is to teach programming as a process. This approach helps students to understand the tasks and fully techniques needed to write a fully working program after going through multiple iterations of thinking, designing, coding, and testing. Therefore, collaborative learning can strongly affect student participation, performance, or engagement, which is not limited to students; instructors are affected by this issue too. Because teaching performance has always been significant to instructors.
While considering the importance of live coding, research shows that live coding:
- It Makes the programming process easy to understand for novice programmers.
- Helps students learn the process of debugging.
- Exposes students to good programming practices.
- Students prefer to code along with the instructor during a live-coding session rather than being mere observers.
Hence, this is important not only in online courses but also in in-person and thus hybrid classes.
Live coding for cooperative learning without true collaboration can create code cramming without understanding. Collaborative writing without history and log maintenance can cause a lack of transparency and poor engagement of collaborators.