Let’s get in situation. You are starting in the programming, in your first year of career. And the first thing the teacher does during the first hour of one of the core subjects is to ask you to write “Hello, world” in Java. A task that requires you to write 96 characters and five lines when in other languages is a mission that can be between 20 and 40 and that, as a novice, is full of mysterious and fearsome definitions, such as ‘class’ or ‘public static void’.
The underlying motivation? Do not scare new students. Lower your level of initial frustration and make programming training more fun than it is now for many students. The comments can be found everywhere on the web: many young people feel unmotivated when they see how their first test is to face the Java syntax.
“Logic programming must learn. Language is not important. That is why it is wrong to teach with Java because programmers have no idea what they are doing,” he said a couple of years ago for Digital Economy Ricardo Galli, university professor and founding partner of Menéame.
The programmer, with extensive experience both in private companies and in the university, pointed out a problem that many have faced: how higher education sometimes does not correctly state the procedures to achieve its objectives. In this case, that the students are passionate about the subject and learn foundations that then serve in the company.
The news has caused a sensation in the technological environment, motivating several conversations about the possible educational improvements for the programmers of the future. As Austin Whitlatch pointed out, language is not everything either, and learning models also influence a lot. Illustrated with an anecdote:
I went to a private university that taught C ++, much harder than Java since you have to deal with garbage collectors and pointers. But my study plans focused on the practical application: we learned a concept and the teachers told us that by the end of the semester we had to create a game. The first one we did was based on command line, but each person implemented a different “style” of game and the whole class ended up participating. We used a hard language, but the subject was fun and interesting because the emphasis was placed on exploratory experimentation, not on what the book marked us.
And in front of this, my brother’s first steps in programming, in a university different from mine in which he was taught Java. The language was easier, but the lessons were descriptive and boring, without connecting at any time with the students. They were only sent to complete stupid tasks of the type of manipulation of matrices and basic loops without combining all this information. We enjoyed every minute, since we had a goal. Instead, my brother had to check the “lesson learned” boxes to move on to the next course.