2015年1月3日 星期六

[Business] 你需要有程式背景才能學習Linux嗎?


A few months ago I took the Introduction to Linux course offered through edX. It's an 18 chapter course with lots of reading, some videos, and a casual level of testing your knowledge. I wrote about the first six chapters and how the course works in, What happens when a non-coder tries to learn Linux. In this article, I cover the first 6 chapters of the course, where we begin to dive into the day to day usage of Linux.


What was covered

The course provides a practical guide to "getting around" in Linux, covering some of the most commonly used commands. Although these topics are not particularly difficult to understand, and may be old hat for some users, newcomers will quickly become lost without a good understanding of their purpose and usage.



In this section, I found myself relying heavily on Google, and I wondered if some of the concepts would come more naturally if I had already encountered them in programming courses.


Some of the topics we covered included:


Linux documentation
file operations and systems
read (r), write (w), and execute (x)
What are 'executable binaries'?
user environment su and sudo
!! bang-bang
text editors: with very detailed info on vi and emacs
local security and passwords
network operations
the command line: often allows users to perform tasks more efficiently than the GUI
Don't worry if some of the items on this this list look foreign to you, as they will be covered in the course.

Installing Linux on my Chromebook

My main goal in taking the course was to get a better, high level understanding of Linux. I didn't have to install Linux but wanted to, so before I started chapter 7, I did. I wanted to test out some of the things I was learning, and 'learning is doing' to a large extent.


I found a Lifehacker article that looked quick and easy to follow. It instructed me on how to install Ubuntu using Crouton.

我發現一篇 Lifehacker文章,內容簡潔而易於照著步驟來實作。他介紹如何用Crouton安裝Ubuntu。

This was fairly easy, with a few hiccups along the way, which for me was just part of getting used to entering commands into the terminal and learning how to work with and utilize Linux. NetSurf was the default web browser, so I tried to install Firefox. After a few failures to launch, I realized I needed sudo!


Then I started chapter 7. The material stated: "Whether you are an inexperienced user or a veteran, you won’t always know how to use various Linux programs and utilities, or what to type at the command line." I was comforted by that as I went along, switching back and forth between the material and my Chromebook. At one point I got sucked into tweaking and customizing my new Linux setup for an hour before getting back to the material. This article helped me adjust the font and install programs like Leafpad and Audacious.


Is this a good course for non-coders?


In general this was not a course for a non-coder looking to get a better, high level understanding of Linux.


This was a course for perhaps a beginner programmer, or a seasoned programmer less familiar with Linux. Several chapters were quite detailed and specific. Overall, an underlying base knowledge of programming would have been extremely helpful. More than a basic understanding, a base understanding—like that you would get from taking at least one, full programming course in your life.


So, I think I'll revise my statement. This could be a course for a non-coder, because coding might not be your day job or your hobby, but it's a course best taken after an introduction to computer science and programming. Which I plan to take next. So, I'll take one slight step back to catch up a bit. Then, I want to launch forward again with this Linux Academy course on how to install and customize Linux as your desktop.


If you're a non-coder interested in taking this course, do it. Why not? It's free, professionally done (by the Linux Foundation), and sometimes when you jump in the deep end you learn to swim faster. I sort of went at it like I knew what was going on and what the material was talking about even when I only half understood. That helped me in two ways. For one, to some extent you need to just get through new material. You can go back, reread, and retake quizzes, but when momentum really needs to be on your side, you've got to find a way to just keep going and reach the end. Because I kept moving, too, I was able to glean some gems from the vast landscape of mostly unfamiliar information. For the things I did recognize and the few things I had done before, they made that much more sense.


Finally, whomever you are, whatever skill level, put on music that faciliates the creative mind. Ping me if you want some recommendations.