Dart Academy Boot Camp: Start Programming with Dart
I've been using Dart to teach the very basics of programming to new coders for a few years now, and I've seen such success that I felt compelled to formalize the process. To that end, my partner-in-crime Rachel Ward and I have put together an experimental first course for what we're calling the Dart Academy Boot Camp. It's a bit sparse now, but we have big plans for its future if there's enough interest. (Access is absolutely free, and there's no login required, so fear not!)
What's the Point?
This first course, with approximately the material of a few chapters of a beginner's book on programming so far, walks the user through the usual "Hello, World" app, introduces him or her to variables and operators, explores Dart's type system, and gets into the basics of functions and control statements. Though many of you have little to learn from a course on these basics, I invite you to have a look at the format and leave feedback here with your thoughts. If you know someone who's taking their very first steps into the world of coding, I'd be interested in hearing about their experience with the material, as well.
What we're going for here is something similar to what sites like Codecademy and others are doing, but with a bit more depth and an environment that encourages the learner to tinker and play with the code. The pace of the material is heavily inspired by the fantastic Dart for Absolute Beginners, by David Kopec, a book that I continue to recommend to beginning programming students, even though it would benefit from a new edition since the deprecation of the old Dart Editor and the addition of a few new features in the language.
Why Dart for Newbies?
In my experience as a language aficionado, a parent, and a teacher, Dart is one of the best languages out there for learning the basic concepts of syntax and algorithmic structures. It's similar enough to the world's most popular languages (Java, C#, JavaScript, etc.) that moving to those later is easy, but Dart is less verbose and lacks many of the hard edges and "gotchas" of those.
Dart incorporates the best features of object-oriented and functional programming paradigms without getting confusing or messy. Its comprehensive core libraries keep a beginner from being overwhelmed by the need to manage a complex web of dependencies, and that helps keep the setup and workflow simple enough to allow a student to concentrate on the fundamentals.
How Can I See It?
It's right here: Dart Academy Boot Camp
Even a brand new student, fresh off the farm wagon, could probably complete it within a day or so. Have a go! Tell us what you think.
We intend to extend the current curriculum, as well as experiment with more advanced Dart topics in the "playground" format, so watch this space for more announcements.