2019年快结束了,在过去这一年里我们经常被学生或顾客问到一些问题,因此整理了十个大家对程式设计的迷思与解答,让大家对程式设计或是我们的课程内容能够更加了解。
1. 什麽是程式设计?是设计什麽?
【程式设计】的英文是Programming,【程式】的英文是Program,所以中文写【程式设计】常常很容易让大众以为是在做Design(这里指的Design普遍认知是Graphic Design)。所以常常有学生会问我们有没有教Photoshop跟Illustrator,这些课程属于Multimedia的部分,我们计划未来会开类似的课程,但目前还是聚焦在Programming,也就是以开发程式为主的课程。程式设计在设计的就是系统里面的功能细节,模组跟模组之间的互动,用编码创造判断力,执行力。
2. 学完这个就可以做APP了吗?
这个答案可以是Yes or No,通常这是对我们的Mobile App Programming Class 有兴趣的学生会问的问题。用比喻的方式来说就像是【参加了一个教你怎么做寿司的烹饪课程,然后上完了课我就能够煮饭了吗】的概念,因为烹饪跟做APP一样是一个范围很广的题目,烹饪分为中式,西式,日式,法式等等,而做APP也有分为Native App跟Hybrid App,然后App的类型也有分为购物APP,旅游APP,商业应用APP,客户关系管理APP,点餐APP等等。学会了怎么做购物APP,也许还需要额外多学一点点东西才能再做旅游APP。没有一种课程可以包含100%的知识内容,但是好的基础可以帮助我们更有效率的学习后面的知识。
如果你的App不需要有管理者介面,不需要连线到API取得资料库的资料,那基本上在课堂上你学会的就可以用来做一个基本的App了;反之,如果你的idea是打算打造一个类似Lazada的商城,那肯定少不了需要打造Web的后台,以及整合整个系统的API,而要完成这样一个大生态的平台建构,就必须要更加全面地了解Web Programming的背景知识了;简单来说,就是先决定要完成的目标是什么,再决定你只要学习Mobile App就好,还是Web Programming也是被需要的。
3. 有没有教Python?要学程式语言先了解自己的需求
其实市面上的程式语言有很多种,通常每个程式语言被发明的时候都有他主要解决问题的领域。
以我们课程教的HTML,CSS,JavaScript,PHP与MySQL而言,主要解决的都是网路应用的问题,而再细分来看每个程式语言又可以再负责不同的部分。HTML是网页的结构语言,Browser会根据HTML的语法来决定怎么呈现内容;CSS是负责网页的样式与结构;JavaScript是使用者与网页互动的前端语言(当然现在JavaScript已经发展成后端也很行,甚至还能够用来开发桌面程式),PHP是网路应用的后端的程式语言,而MySQL则是资料库,我们透过SQL语法去操作资料库。这五种语言结合起来可以完成一个完整的网路应用程式。
以Python为例,Python是现在满夯的程式语言,普罗大众常常可以在很多地方看到关于学习Python的课程,因此经常也会询问我们是否有教Python。Python目前最常被应用的领域是在大数据,机器学习,系统编程以及软体开发上,当然你也可以用Python来写网路应用程式,但在网路应用方面的的线上资源就会比PHP逊色(PHP在市场上已经有很悠久的历史,几乎你想得到的应用外挂都可以在Google找得到);反过来说,如果我们要用PHP来处理机器学习的应用是否OK?当然也可以!可是问题是你会写得很辛苦,因为数据处理需要更精简,更好用的工具来帮我们达成,所以如果你的目的是做机器学习,我们还是建议使用Python。
在学习程式语言之前,要先了解自己的需求,然后才投资时间去学习适合的程式语言,避免盲目跟风,结果事倍功半。
4. 有包学会吗?
常常学生问这个问题的时候我们都会会心一笑。包学会有点像【吃到饱】的概念,就是我店里的食物任你吃,包你吃到饱。【包学会】是保证学会的概念。
事实上我们的课程具备两个特色:
1)当天的课程都有录影记录,方便学生回家无限重听
2)凡事报名过相同课程的学生,都可以申请免费重听
以上两个特色等于说让学生拥有无限的机会可以重听,对于用心的学生来说,应该比较接近【学会】的程度;反之,如果学生太忙,不想复习,或是老师交代的作业也没有练习,那即使老师是世界顶级的讲师,教材是世界顶级的教材也无法保证学生能学会。因为学习是双方的,老师即使超级用心,学生无所用心也是枉然,因此这个问题的答案常常会让我们无法回答,因为我们相信应该没有任何学校能够【保证学会】这件事。
5. 区块链(Blockchain) ? 人工智慧(Artificial Intelligence) ?
关于区块链在维基百科有很详细的解释,如果想要看动画了解区块链也可以看这个影片。AI的影片可以看这个有趣的介绍。
Blockchain 跟 AI 都是 资讯领域很Hot的议题,而且在当今的高科技领域中都有满多的应用。不过在接触这些Hot议题之前我们必须先把基础扎根好,如果没有掌握基础的程式设计能力,是无法深入了解到这些领域的技术的。所以建议大家可以先科普一下,等你掌握了基础的程式设计能力再去深入了解这些技术的背后吧。
6. Digital Marketing 跟 Web Programming 的差别
Digital Marketing指的是使用数据驱动的方式去让目标消费者了解你的产品与服务,并建立关系,从而让目标消费者加强对你产品与服务的印象。最常见的方式就是使用Facebook或Google的广告服务推销产品。如果你是经营电子商务的卖家,Digital Marketing能够让更多潜在客户意识到你的商品,从而带来业绩。
Web Programming是以程式设计为为核心,用程式去开发不同的应用程式,可以用在Marketing,也可以用在Business Operation,用途非常广,因为掌握了程式设计的能力之后其实任何你想得到的应用都可以亲手去打造。大部分的人学会了Web Programming之后都会设计系统来提高交易的效率或是应用在提高使用者的体验上。
7. APP跟WEB的差别
很多朋友因为长期都以手机作为为连网的装置,因此其实分不太清楚App跟Web之间的差异,不管是App还是Web通通都叫作App。(虽然广义上来说App的全名是Application,中文即是应用程式的意思,硬是要把网路应用程式当成是App的一种也不全然是错的)。狭义上来讲,App是装在手机上的应用程式,通常需要透过AppStore或GooglePlay下载安装获得,而Web指的是透过Browser连线到指定的网址即可,免安装,直接使用。我们可以把网站直接看成是Web的一部分。
App跟Web各有其优缺点,主要是App的使用者体验较好,但是要安装才能用,所以反而拉高了使用者进入的门槛;Web的行销功能较强大,因为大家都习惯用Google搜寻资料,若网站搜寻引擎优化做得好,很容易就可以取得大量的访客,缺点是没办法应用一些手机的原生功能。
8. 完全不会用电脑的人也能学吗?完全不会英文也能学吗?
程式都是在电脑上执行的,如果完全不懂得操作电脑就直接学习程式设计会遇到很大的障碍,因为可能连基本Copy And Paste都成问题,这样是很难跟上其他同梯次的学生的。因此我们建议先了解电脑的基本操作,比如说懂得如何使用Microsoft Word或Microsoft Excel打报告,知道滑鼠Right Click可以用来Copy and Paste等就可以报名我们的程式设计入门班。英文虽然不是学习程式设计的必要条件,可是有基础的英文能力对学习程式设计有很大的帮助,原因是大部分的编程参考文件都是用英文书写的,如果今天编程遇到问题上google查询资料,找到的解决方法都是以英文呈现的,看不懂英文将会在解决问题上遇到很大的障碍。因此,我们强烈建立在学习程式设计前,最好还是有基础的英文阅读能力。
9. 几岁可以学程式设计?
学习程式设计本身是没有年龄限制的,只要懂得电脑的基本操作,会使用键盘滑鼠,知道怎么打字,就具备学习程式设计的条件。我们的课程至今最年轻的学员是14岁,最资深的学员是58岁,都能够完成整个课程的学习。在知乎上,有人问自己想学程式设计,可是担心已经是39岁的年纪了,不晓得是否还来得及;赞数较高的回答里,有人这样回复 “如果你现在开始学,那么再过一年,你是一个初级的编程人员;如果你现在还不开始学,那么再过一年,你就是个什么都不会的40岁的中年人。”
10. 什么人可以来学 ?学了对本身有什么帮助?学programming 数学要很好吗?
简单的回答是【任何人】,比较详细的回答是【有兴趣的人】。兴趣非常重要,如果没兴趣硬是要去看程式码其实是一件痛苦的事情,学习程式设计必须对于解决问题有热诚,否则会无法感受到程式设计带来的成就感。学习程式设计的目的通常包含了:A)想成为程式设计师 B)自己的公司需要 C)提高工作效率 D)提高生活的效率 E)跟风 F)其他。学习Programming 如果数学好对编程有很大的帮助,如果数学不好也别担心,因为并不是所有的市面上的问题都需要依赖艰深的数学知识来解决的,如果你数学不好,但会程式设计,你还是可以解决很多的商业流程问题,至于那些需要靠数学才能解决的问题,我们能够善用别人写好的程式库来解决。
2020年即将来临,如果你还没掌握程式设计的能力,现在还来得及
希望在来临新的一年,本地能够产出更多的程式设计师,为这个市场解决更多的问题。欢迎大家来报名我们的课程,提高自己的能力,我们2020年见。