Programming is the skill of the 21st century, and there are many avenues that you can learn from. They range from online platforms such as Coursera and Codecademy to classrooms conducted by programming centres or schools and university.
Learning is best in a classroom environment with the right student to instructor ratio. Plus, there are multiple types of classes, each having their pros and cons. Before we dive into that, let's look at the different stages of learning how to code.
Stage One: Fundamentals of Programming
Learners will need to know the "what" of coding before knowing "how" to code. They will start getting excited being able to print "Hello World!" on a black-and-white interface. This is the foundation and hence the most important part of the learning process - learners will learn how data moves in computer memory, the different types of data (string, integer, boolean, etc.) & conditionals (if, then, else, etc.) and simply manipulation of data (making words all uppercase or doing mathematical formulas).
Stage Two: Building up Computational Thinking
At this stage, the phrase "object-oriented programming" will be repeated umpteenth times. Learners will learn about loops (for loop, while loop) and how to control them (break, continue, pass) to manipulate data more effectively. They will start to create small but functional programs that usually takes anywhere from a few hours to multiple days to complete. Some examples include simple games like scissors-paper-stone & tic-tac-toe and a calculator for basic mathematics.
Stage Three: Making the First Fully-Functioning Application
The programming learning curve is not steep, but neither is it gradual. Learners who start learning online will eventually reach a stumbling block as they move from stage two to stage three. Furthermore, the different stages has different optimal class teaching methods. Let's look at the different types:
1) Lecture Method
This is the typical class style adopted all the way till Tertiary education - an instructor stands in front of a large group of students and relays information via a one-way street. Theoretical knowledge such as principles, concepts and ideas are usually taught in this format. This method is best only when students are new to the topic. In a programming school, the lecture method helps to give an introduction to programming as most students are new to it.
2) Discussion Method
This method involves participants actively discussing while the instructor acts as the facilitator. Participants are encouraged to engage with one another through reasoning their stand and challenging others'. In a programming school, this method encourages students to think out of the box especially because programming is flexible and offers multiple solutions to the same problem.
3) Demonstration Method
The instructor demonstrates the activity on-screen and in-class, giving the students a visual opportunity to understand what is being taught. Typically, students will also follow what is being shown on-screen. In a programming school, this method is very important as students are often taken aback by the complexity of programming and online tutorials are often technical. A live demonstration gives them immediate feedback on whether they are going in the right direction.
Unlike many of the competitors, EarlyCoders teach programming via a hybrid discussion and demonstration method. We keep our classes small so that the students will receive ample attention by the instructors and it also makes it comfortably for them to ask questions and request for help.
We use our proprietary software, Codelab, to make classes enjoyable and efficient:
1) The software allows for interactive slides that students can interact with.
2) Instructors can view their students' code as they type, enabling them to give real-time feedback.
3) Students can collaborate as it allows multiple students to work on the same script together.
4) It includes a video-calling feature for students to consult the instructor out of lesson time.
5) Test bank for students to practice at their own pace.
6) An after-lesson report card that is curated for each student with feedback compiled from the system.
For more information, visit: https://earlycoders.com/