The expansion of the technology sector has seen an obvious rise in tech jobs, with a predicted growth to 12.4 million employees in the US alone and it is further set to grow. Learning to code can help supply this demand. Besides this societal benefit, it also pays to learn how to code, as this increase has been met with a rise in wages. In fact, in the US, average tech job salaries increased by 6.9% from 2020 to 2021.
To meet this demand, scaling up technology-based education (such as Computer Science degrees) is essential. This puts professors in a pivotal position, as they help future tech talent evolve. This is certainly the case for those teaching coding. Learning to code is a difficult process and takes a lot of persistence, so the way we frame students’ learning experiences has a significant impact on their success.
Unfortunately, CS majors have a high dropout rate - the Higher Education Statistics Agency found that almost 10% of students enrolled in Computer Science degrees in the UK dropped out of their programs, the highest of any field of study. Of those students, 49% said they didn’t enjoy it and 33% said it was too hard. Learn more about this topic in our previous blog here. How can we remedy this? Tools that students use in their educational journeys can be a huge factor contributing to their success.
The learning tool or platform that a teacher uses to teach coding has to be able to give students the opportunity to make mistakes and also have the ability to learn from it. A continuous stream of error messages can be quite disheartening for a novice programming student, thus having some flexibility on the grading system is key. At the same time, it has to be easy to use by the students and the teachers. How do we choose a tool that both suits their educational goals, and is able to scale with increased demand? As Head of Growth at CodeGrade, I spend a lot of time speaking to teachers all around the world looking for an instructional learning tool that will help ease the burden of grading and improve the quality of assignments. Here are some of the top questions I get asked.
Q: What learning environment should I choose?
Having the ideal learning environment in mind is important when assessing tools. Do you want your students to code in an editor that's in the browser? Do you want your students to learn how to set up an editor locally? Did you have another idea in mind? How are the students submitting their work? How much work will it be for me to set this all up? What is the price?
Some teachers prefer to have their students code in the browser, making the initial set-up not as intimidating for the student. This is something I commonly come across, especially in programs that are aimed at groups that are just learning how to code and learn how to understand programming better (for a more in-depth look, check out this blog!).
A lot of the teachers I speak to prefer to have students set up an editor locally, as it would be a transferable skill if the student chooses to further their studies in programming. This also gives the students the option to choose the editor that they prefer best - this might be the editor they choose to use for the rest of their careers! As using Git is important for those looking to pursue careers in software development, some teachers are looking for a seamless Git integration, with the ability to assess students' work more easily. The answer to this question really depends on the professor’s preference and learning goals of the course!