Coding - The Real Way
January 20, 2022
Aakash Dave, Min Wu (Guest Mentor)
First of all, you need to keep practicing. Coding is NOT a skill that once you have learned, you will never forget, like swimming or skiing. You have to practice. It is more like learning a foreign language. Once you have learned the basic vocabulary and syntax, you put them to use, by talking to people, reading and writing articles, and watching movies and TV shows in that language. Coding is the same. It is about communicating with computers using a “foreign language” that they understand. You instruct computers in that language to accomplish cool tasks for you. Once you have learned the syntax and rules of a programming language, you put them to use. That is why most of the coding courses are project-based.
Good instructor knows how to dissect a project into individual pieces and put them into a logical order. Each piece maps to certain topics, and the whole project is mingled perfectly with the course syllabus. During the journey of the course, every time when students learn new topics, they can immediately put their knowledge into practice by working on certain piece of the project. At the end of the course, students complete a fully functional project and understand every single bit of it.
Colab does one step further by extending this project-based idea into multiple courses. When students are working on the same project through a sequence of courses, they learn all the aspects of the modern software development process, from the front-end development to the backend to the database level, from development to testing, from the project management to the interface design, etc. This project will definitely shine in the student’s work portfolio or resume.
Colab keeps a repository of such well-designed projects for students to choose from. And even better, students could contribute to the repository with their own project ideas. As a result, students will be motivated and engaged on the project of their own choice. And once they finish one project, they can move on to the next one to continue practicing.
Have you realized that now we have a net of coding exercises? Vertically, those exercises are connected by projects, and horizontally, those exercises are related by certain topics. Student can choose which projects to work on and decide if they want to keep practicing on certain topics across projects. Based on the personal progress of individual students, Colab also suggests what they should work on next, and this is the personalized learning.
Back to the analogy of learning a foreign language, during the learning, do you want copy the speaking habits from native speakers and follow how they use words and form sentences in different situations? Same here. Good coding instructors not only teach students the syntax and the rules of a program language, they also demonstrate how to write good quality code so that the students could follow when they are first exposed to coding. Such a good coding habit will be beneficial to the students in the long run.
Moreover, good coding instructors encourage students to learn from their mistakes. Students should not be afraid to make mistakes and be taught on how to fix their errors through debugging, a valuable skill that students need to master from the beginning. For complicated bugs, pair coding with an instructor and a student could be an effective strategy to the instructors to pass the debugging skill to the student.
In summary, Colab teaches students how to excel in coding. We use well-designed projects to make the students engaged and let them keep practicing. Their projects are live and accessible publicly so that the students could use them to demonstrate what they have learned and what they are capable to do. In Colab, collaborations are highly encouraged among students and between instructors and students. And we have experienced instructors to teach students how to write not only the working code but also the clean code with good quality.
Made with 💜 in San Fransisco 2024