
English: 
Hello, my Socratica Friends!
We’re here to help you be a Great Student.
Today we’re answering a request from a viewer.
Yes, we listen to your requests.
Our viewer asks “Can you give me some advice
on how to study Computer Science?
I want to be a Programmer, but I don’t have
any idea where to start.”
We can help.
And I say “we,” because today we’ll
be talking to my friend Ulka, who teaches
programming here at Socratica.
Ulka is a web developer, and studied Computer
Science in college.
But is that the only way to become a programmer?
Absolutely not.
You do not HAVE to study computer science
in college in order to be a programmer.
In fact, it is very difficult for universities
to keep up with the rapidly changing technology.
If you took a class in programming while in
college, by the time you graduate and start
working at a job, that language may be all
but defunct.
So why do people study Computer Science in
college at all?
What do you get out of a CS degree?

Chinese: 
嗨，Socratica 的朋友
我們想幫助你更好的學習
今天，我們回答觀衆的問題
沒錯，我們在乎你的問題
有觀衆問 ”我該如何學習計算機科學"?
Computer Science 簡稱 CS
我想寫程式，但沒有頭緒該如何開始？
我們可以幫忙
我說”我們“，因爲今天還有我的朋友 Ulka
她在 Socratica 教程式
Ulka 是 Web 開發者，大學讀的是計算機科學
但大學是唯一成爲程式設計師的方法？
絕對不是
你不必爲了成爲程式設計師，在大學唸計算機科學
事實上，大學很難跟上技術快速變化
大學學的編程，到畢業去找工作時
那語言可能已經被淘汰了
那爲何還要讀計算機科學?
可以得到什麼？

Chinese: 
重點是計算機科學(Computer Science)和軟體工程 (Software Engineering) 是不一樣的事情
 
讀 CS 科系可以幫助你學習像程式設計師一樣思考
它會改變你
塑造你
讓寫程式成爲終身受用
攻讀 CS 科系是一種對電腦深入理解的認知過程
它或許不會教你特定的程式語言
但會讓你理解 *什麼是程式*
讀 CS 科系的核心是理解理論
軟體工程會隨時間改變
但理論始終不變
可以說說在 CS 科系 可以學到什麼？
細節課程依據不同大學而定
但一定會有資料結構、演算法、作業系統
網路、密碼學、搜尋和基本程式語言概念
或許還會學人工智慧和機器學習之類
圖型處理
數學
不要忽略數學重要性
CS 問題本質是數學

English: 
It’s important to remember that Computer
Science and Software Engineering are two different
things.
A CS degree will help you learn to think like
a programmer.
It changes you.
Molds you...
into someone who can code for a lifetime.
Think of your CS degree as a kind of meta-cognition.
It may not teach you the specifics of coding,
but it will teach you what coding IS.
The important part of studying CS is to understand
the theory.
While the specifics of software engineering
may change, the underlying theory of computer
science remains constant.
Can you tell us what would you learn in a
CS degree?
The curriculum varies, depending on the university.
But you can likely expect to learn about Data
Structures and Algorithms, Operating Systems,
Networking, Cryptography and Search, and about
Programming Languages in general.
You may also learn about such topics as Artificial
Intelligence and Machine Learning.
Graphics.
And Math.
Don’t forget the importance of Mathematics.
CS problems are essentially Math problems.

English: 
AI requires Probability and Statistics.
Graphics and Animation use Linear Algebra.
You want to study Cryptography?
That means you’ll also study Number Theory
and Modular Arithmetic.
But what if our viewer can’t go to school
full time to get a CS degree?
Ideally, you should pursue your skills both
academically, in courses, and non-academically,
through self-study.
There are many online courses to address the
academic side, if you can’t enroll full-time
at a university.
We’ll include links to some free online
courses from universities like Harvard and
MIT in the description below.
Now, what about the non-academic road to becoming
a programmer?
Can you tell us more about that?
The best way to learn to code...is to code.
I recommend you start with something very
simple.
There are coding tutorials that use visual
interfaces.
These help you get a quick win.
By that, I mean you will quickly learn that
you CAN code...as long as you are logical.
Well, our viewers are certainly logical.
What next?

Chinese: 
AI 需要機率和統計學
圖像和動畫需要線性代數
密碼學？
那你需要學習數論和模數算數
但如果無法在大學讀 CS 呢？
你應該採取上課和自學兩者並用的方法
來鍛鍊你的能力
如果你無法讀大學，網路有非常多線上學習課程
 
我們會在說明欄放上 Harvard 和 MIT 的線上免費課程連結
 
來談談自學道路如何成爲程式人
你認爲這有可能嗎？
最好學編程的方法就是...動手寫
我建議你從最簡單的開始
視覺互動的編程教學課程
可以幫助你快速上手
最主要是知道怎麼做，只要你有邏輯理解能力
沒問題，觀衆都是聰明的
接下來呢？

English: 
For beginners, it is important to be project
driven.
Give yourself increasingly difficult tasks,
and solve them.
Look for “hour of code” challenges.
Meetups.
Hackathons.
Read forums that discuss coding.
This is a good way to meet other people who
are learning how to program and who can review
your code.
Speaking of reviewing code…
Yes?
Reading someone else’s code is an excellent
way to learn programming.
Find a simple bit of code, preferably one
with documentation, and try to break it.
You will find, very quickly, what mistakes
look like in coding.
Alternatively, take other people’s code
and try to USE it.
There are many open source projects that require
work to learn how to use them.
Where does someone go to find pieces of code
to try to understand?
GitHub is a well-known code hoster.
You will find many open source projects there.
This is also a good place for you to build
your own portfolio.
Then, share it with others and learn from
their comments.
How do you know what language to start with?
You can start programming with something simple,
like JavaScript.

Chinese: 
具體解決問題
接着繼續挑戰更難的問題
參與 hour of code 的聚會
(寫程式的活動聚會)
例如 Meetups
Hackathons
社羣的討論
志同道合的朋友互相檢視代碼是一個好方式
說到檢視代碼
 
閱讀某人代碼是非常好的學習方法
選擇一段簡單代碼，搭配說明最好，試着去瞭解它
你會很快發現在編程過程中，犯錯是怎麼回事
或者，嘗試使用其他人的代碼
有許多開源項目需要學習如何使用它
去哪裡找到代碼片段
試著去理解？
GitHub是一個著名的代碼託管服務商
你會在那裡找到許多開源項目
這也是建立你資歷的好地方
與他人分享並從討論裡學習
該從什麼語言開始？
你可以選起步簡單的語言，
像是JavaScript

Chinese: 
我還可以推荐一個優秀的Python課程
 
 
但你應該選擇一種語言？
我實際上建議你學習不止一個
語言
這將讓你看到什麼是編程中常見的東西，
什麼是特定語言的具體內容
每種編程語言都有自己的優勢
和弱點
對於已經學到了一點點的人，
但他們想要更進一步提升水平？
你可以報名參加 Immersive Bootcamp。
通常至少約6個月和幾千元的費用，當你完成的時候
你會得到證書和大量編程經驗
(但是...)
我感覺到“但是”......
但是......獲得一份工作，可能更有意義
像是在職培訓一樣？
正是
在求職網站創建個人資料
並誠實地說明你的經驗水平
接受朋友的項目
學習編寫有用的東西，比如你會想玩的游戲
和其它方式相比，實戰會讓你學到更多
以上回答完畢，各位 Socratica 的朋友

English: 
I can also recommend an EXCELLENT Python course.
Wink.
Wink.
But you should pick one language?
I actually recommend you learn more than one
language.
This will let you see what is common in programming,
and what is specific to one particular language.
Each programming language has its own strengths
and weaknesses.
What about the people who have learned a little,
but they really want to take it to the next
level?
You could sign up for an Immersive Bootcamp.
Those usually last about 6 months, and by
the time you get out of it, you’ve spent
a few thousand dollars, and you’ll have
a certificate and a lot of experience coding.
{you’re thinking of a but...here}
I sense a “but” coming here…
BUT...it might make more sense to just get
a job.
Like on-the-job training?
Exactly.
Create a profile for yourself on a job site,
and be honest about your experience level.
Take on projects for friends.
Learn to code something useful, like a game
you want to play.
You’ll learn more this way than almost any
other.
It’s a test by fire.
There you have it, my Socratica Friends.

Chinese: 
你可以去學校學習計算機科學，
但最終你會明白如何成為一名程式人
藉由像一個程式人一樣，動手寫代碼
留言讓我們知道你的想法！
我們喜歡看到你學習
這是一個優秀學習者的特質
你好， Socratica 的朋友們。我們通過製作好的學習視頻幫助您學習！
這是 Socratica 團隊熱愛的工作
我們將所有時間都花在研究，編寫，拍攝和編輯視頻上
事實上，一天的時間不足夠完成這一切
您可以幫我們
在 Patreon 支持我們的工作
這不是義務
我們的視頻始終免費在 YouTube 供所有人觀看
如果無法資助我們
藉由觀看我們的視頻，最終仍然可以幫助我們
然後在 Twitter、Reddit 分享給你所有的朋友

English: 
You can go to school for Computer Science,
but ultimately you learn how to be a programmer
by BEING a programmer.
Let us know how you get on in the comments!
We love to see you learning.
It’s all part of being 
a GREAT student.
Hello Again, my Socratica Friends. We're here to help you be a great student by making great educational videos!
This is a real labor of love for the Socratica Team.
We spend all our time researching, writing, filming, and editing our videos.
In fact, there aren't enough hours in the day to do it all.
How can you help?
You can support our work on Patreon.
This is not an obligation.
Our videos will always be free on YouTube for everyone to watch.
So if times are tight, don't send money.
You can still help us by watching our videos all the way to the end,
and then sharing them on Twitter, Reddit...tell ALL your friends.

Chinese: 
如果我們的工作對您有價值
請幫助我們繼續，謝謝！！

English: 
If our work is valuable to you, please help us continue. Thank you!!
