2015年1月3日 星期六

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

Source:http://opensource.com/business/14/12/what-happens-when-non-coder-learns-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.

幾個月前我藉由edX主講一個Linux課程,這是課程分為18章,伴隨著大量的閱讀資料、觀看課程影片、和隨機難度的考試來測驗學習成效。我寫了關於前六章的內容和如何進行課程,還有當一個沒學過的人嘗試學習Linux時會發生什麼事?我講解前6章的課程,這段期間我們開始栽入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.

包含了什麼?

這課程提供一個實用的指南去探索Linux,包含一些常用的Linux指令。雖然這些主題並不難理解,而且有些部分難以習慣,但是對於新手而言,很快地感到混亂因為不了解使用目的、使用時機與用法。

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.

這部分,我發現自己太倚賴Google,而且我想知道是否一些概念可以理解地自然些假如我主講程式設計的課程。

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
ping
the command line: often allows users to perform tasks more efficiently than the GUI
wget
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.

我的目標是更完善地了解Linux。我還沒安裝Linux但是我想要安裝Linux,所以在章節7時我安裝好了Linux,我想要測驗一些學到的東西,而且更重要的是,學習就是付諸行動。

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!

這相當容易,這能幫助我習慣在終端機輸入指令和如何使用Linux,NetSurf是預設的網路瀏覽器,所以我嘗試安裝Firefox。在一些錯誤發生後,我理解到我需要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.

然後我開始上第7章的課。教材說道:"無論你是老手或菜鳥,你總是不知道如何去使用多樣的Linux程式和工具,或是要在命令行上輸入什麼指指令。"我被他的這席話感到安慰,我跟著教材的腳步,聆聽重點,實際演練操作指令,不斷在教材和我的Chromebook之間來來回回地操作。我不斷地做調整和操作我自己的Linux系統約1小時之後,再重新回到教材的內容。這篇文章幫我調整字型和安裝像Leafpad和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.

一般來說,這對不寫程式的使用者而言不是一個能夠完善了解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.

這是一們課程對於不熟悉Linux程式初學者比較有幫助。一些章節內容是相當的詳細而且專業的,總而言之,學習低階層的程式是有很大的幫助的。比起那些只有基本了解的人而言。

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.

所以,我認為我會修正我剛才所說。這可以是一門為不寫程式的使用者而設立的課,因為寫程式可能不是你的日常工作或是嗜好,但是這是一門這適當的課程在學完電腦科學和程式設計的課程後。我計畫繼續這一門課程,所以,我將會停下等其他人跟上腳步,然後我會再次設立這樣的一門課程如何安裝與客製化Linux於電腦。

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.

最後,無論你是誰、無論程度如何,歡迎加入這一門課程。如果你想要一些建議就連絡我。

沒有留言:

張貼留言