今日推薦開源項目:《異口同聲 neural_complete》
今日推薦英文原文:《Can you learn to code on your phone?》
今日推薦開源項目:《異口同聲 neural_complete》傳送門:GitHub鏈接
推薦理由:輸入 #in 然後回車打出 #include 應該是相當常見的操作了,作為節省時間的手段人盡皆知。但是如果再進一步,把後面那個頭文件也回車打出來興許更能節省時間。這個項目就是自動補全更進一步的形態,通過神經網路訓練讓其能夠預測你需要的下一行代碼是什麼,從而進一步節省時間。興許以後可能每一個人的每一個項目都會有一個單獨的自動補全模塊,從而達到根據每個人每件事不同風格來決定他輸入的下一行代碼可能是什麼,我們就能把更多時間花在創造新的代碼上。
今日推薦英文原文:《Can you learn to code on your phone?》作者:Simon Hargreaves
原文鏈接:https://medium.com/swlh/can-you-learn-to-code-on-your-phone-95523c7c3eeb
推薦理由:利用手機學習寫代碼的方式
Can you learn to code on your phone?
Given the limited screen size and options for programming on your phone is it even possible to get a good grounding in a programming language just from a smartphone?The benefits of learning to code have been pushed heavily to people of all ages as an option for upskilling or just becoming more computer literate. There are a lot of options out there, but I』ll just look at a handful and see if they are any good.
Coding games
Theses apps develop the ideas of building sequences, using functions, and conditionals but leave out variables and other useful constructs like while loops. These are clearly games, but a good introduction for younger kids or those not that interested in getting into the more serious side just yet.Lightbot
I love the look of Lightbot, it was one of the first 「programming」 games I looked at for introducing kids to the principles of programming. The instructions are very clear and easy to understand. It introduces functions, or procedures as they are called in Lightbot world, quite early and does a very good job of using them in solving puzzles. It covers functions, calling functions within functions, iterative functions (a function calling itself) and conditionals. Although conditionals is a little clunky, it』s a start. It comes in two versions Code Hour (functions) and the full version (functions and conditionals). It quite quickly turns into puzzle-solving rather than learning principles, but it should keep kids engaged for a while and peak their interests for more challenging stuff. Ages 5–11 for the early levels, the challenging levels will have a lot of adults scratching their heads.- Verdict: An excellent puzzle game that covers some coding principles. Very polished.
- Level: Absolute Beginner.
- Age: 5+
- Mood: Very enjoyable to fiendish
Clear and helpful instructions
Using procedures to solve problems
Colour coding for conditional commands
Algorithm City
Algorithm city feels like a bit of a Lightbot clone. The interface and instructions aren』t as clear and it seems as they introduce iterative functions pretty early which may be confusing. It covers all the same territory as Lightbot without doing it as well. I』d look at Lightbot 「hour of code」 first before doing this one.- Verdict: A puzzle game that covers some coding principles. Feels a bit clunky.
- Level: Absolute Beginner.
- Age: 5+
- Mood: Fun, short lifetime.
Basic commands for solving puzzles
Introducing iterative functions
Programming Walkthroughs
Moving onto more advanced topics you』ll move on to more focused and serious applications that start to take you through the nuts and bolts of actual programming languages. They usually take you through the syntax and practicalities of using a language. It takes a lot of effort to keep them engaging.Grasshopper
If you』re looking for something that introduces some serious programming principles then Grasshopper is pretty good. It has been developed by Google and is completely free. It covers the javascript language and takes you from complete beginner through everything up to objects and properties. The pace at which you cover the subject matter is quite quick and it may be daunting for someone that can be intimidated by this kind of thing. But that being said if you want to learn it』s an excellent start.- Verdict: A great walkthrough, gets the principles across well and you get to see results quickly. Javascript only.
- Level: Beginner. If you』ve never seen code before you』ll still do ok.
- Age: 10+ to Adult
- Mood: Fun
Clean and friendly interface
Explanations of real code, with a simple click to code interface.
Mimo
If you want to learn a wide variety of languages and subjects then Mimo is pretty good at learning on the go. It covers everything from Javascript to R and Datascience to Cybersecurity. It all feels like the first couple of chapters on an introduction to the subject and doesn』t go into depth. It』s also far too easy to zip through the subject without having felt like anything has been absorbed. It follows the 「read the text」, 「do the quiz」 methodology, which for a mobile learning platform is pretty par for the course. If you want to get across a whole bunch of subjects before you dive into something more complex, then it』s pretty good. You』ll have to pay for the subscription to get anything useful though.- Verdict: A very wide-ranging set of subjects, it covers a lot of ground. Very engaging but doesn』t go into depth.
- Level: Absolute beginner to novice.
- Age: 10+ to Adult
- Mood: Whirlwind tour
Lots of subjects to choose from.
Introduction to the subject with 「click and go」 quizzes.
Khan Academy
It would be difficult to cover this subject without including Khan academy, possibly the granddaddy of online learning platforms. The usefulness of Khan has been proven in academic subjects and is essential to any home learning process. Unfortunately, their mobile delivery is terrible. It is mostly a link through to the web-based interface (on android at least) and their programming introduction is just not designed for a small screen. The interface works adequately for a tablet-sized screen but the interface just isn』t usable on a smartphone. The subject matter is introductory Javascript using the Processing JS library and covers very much the same ground as Grasshopper but in a much more 「video」 and voice-over type format. It』s fine on a laptop, but if you』ve got that available there are much better options to get started with.- Verdict: A good set of materials but not practical on a mobile device. Avoid.
- Level: Beginner.
- Age: 10+ to Adult
- Mood: Frustrating
In portrait mode, everything is too small
Landscape mode doesn』t work either
Encode
Encode is another javascript tutorial. It is very basic. It walks you through language basics at a snail』s pace. It』s dry and there and are no fun challenges to break up the information. The code editor is functional and follows a similar click to code method to Mimo and Grasshopper but with more text to input. The topics go all the way up to objects and arrays, so nothing the other tools don』t cover. Ages 10+ but even adults will be looking for something else to do after 5 minutes.- Verdict: Comprehensive, but just really dull. Javascript only.
- Level: Novice, you should have some idea of code before touching it.
- Age: 15+
- Mood: Feels like homework
Clear overview of the subject, but very dry.
A basic click and go code editor with a lot more typing.
Programming Hub
Similar to Mimo programming hub has a wide variety of content on offer, and without going for the paid version you are limited to a small subset of the course material. The user interface is very basic and by default, there is a text to speech engine enabled. Fortunately, the mute button is front and centre on the interface otherwise I would have thrown my phone out of the window within a few minutes. The pace is slow, very slow and you have to continually hit the Tap to continue button just to move forward, a click for every paragraph is too much. The content and quiz format is interspersed with 「click to code」 sections, but it doesn』t seem as slick.- Verdict: Wide selection of courses, but presented in a frustrating way. I lost patience with it.
- Level: Beginner, but you have to be committed to stick with it.
- Ages: 15+
- Mood: Feels like more homework
Wide selection of subjects
Read the text and do the quiz format
Sololearn
Sololearn is similar to Mimo in the breadth of courses and the cost. The starting level is much higher, and it has a much more exhaustive and academic tone. With that, it really forces you to walk through a lot of tedious stuff before getting your hands dirty and doing anything fun or practical. The coding interface is very slow, as there is a requirement to do accurate typing of code all with the mobile keyboard, there is no click to code interface.- Verdict: Wide selection of courses, but the presentation and pacing are very slow, and the interface is unpleasant.
- Level: Novice, you need to stick with it to get anywhere.
- Age: 15+
- Mood: Feels like homework with detention
Wide range of course materials with detail
Read the text and do quiz format
What about Scratch?
A lot of you will have probably come across Scratch. It is probably the best implementation of programming principles without scaring you with code available. Unfortunately, I was unable to find any apps that provide a scratch interface for mobile that isn』t tied to some other kind of product. If you find one please let me know and I』ll update the article.Courseware Apps
Online courses that take a more serious approach to get you up to speed are widely available. These take the form of 「Code along」 lessons, with an almost exclusive focus of doing the actual work on a desktop. To get anything from it you need to be watching and working along with the videos in a local software development environment. These are great for watching videos on the move and then picking up and review at home.Udacity
Udacity is a full-on courseware website, there is no app for android that allows you to do programming examples on your phone. You can watch on the move through the website, but it is not a great experience.Udemy
Udemy has a similar setup to Udacity with the wide selection of courses available. They do slightly better in the mobile app department and it』s a relatively slick experience for watching videos and doing the quizzes, but for programming, a desktop is the only serious option.Conclusion
If you』re a kid or trying to get a younger kid into the idea of coding, get Lightbot. It』s a great puzzle game.If you want to graduate to real code then get Grasshopper it』s free and will get you started in understanding the principle ideas behind any programming language. Even though it is javascript the ideas are all transferable.
If you know how to code a little bit already and looking at ideas to explore do a few taster sessions on Mimo and see if you think it』s worth the money.
To get in-depth or hands-on with a programming topic it seems a smartphone is just not going to cut it. Desktop and tablet options are much more varied and allow a serious exploration of a programming topic even just through a standard web browser. There just isn』t the screen space or input options for phones yet.
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/