导航:首页 > 编程语言 > 我想上编程课

我想上编程课

发布时间:2022-05-29 05:36:02

Ⅰ 我想学编程,应该学哪一类,求助

原文地址:http://coolshell.cn/articles/4990.html

博文如下:

前言

你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)

建议:

不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。

回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。

一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。

一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。

注:你也许会很奇怪为什么下面的东西很偏Unix/linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下:

现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。Windows的图形界面不吃香了。

越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成本太高了。

微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。详情参见《Windows编程革命史》

所以,我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。开发这边基本上没Windows什么事。

启蒙入门

1、学习一门脚本语言,例如python/Ruby

可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:

处理文本文件,或者csv(关键词pythoncsv,pythonopen,pythonsys)读一个本地文件,逐行处理(例如wordcount,或者处理log)

遍历本地文件系统(sys,os,path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果

跟数据库打交道(pythonsqlite),写一个小脚本统计数据库里条目数量

学会用各种print之类简单粗暴的方式进行调试

学会用Google(phrase,domain,usereadertofollowtechblogs)

为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。

2、用熟一种程序员的编辑器(不是IDE)和一些基本工具

Vim/Emacs/Notepad++,学会如何配置代码补全,外观,外部命令等。

SourceInsight(或ctag)

使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。

3、熟悉Unix/LinuxShell和常见的命令行

如果你用windows,至少学会用虚拟机里的linux,vmwareplayer是免费的,装个Ubuntu吧

一定要少用少用图形界面。

学会使用man来查看帮助

文件系统结构和基本操作ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip…

学会使用一些文本操作命令sed/awk/grep/tail/less/more…

学会使用一些管理命令ps/top/lsof/netstat/kill/tcpmp/iptables/dd…

了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息

了解正则表达式,使用正则表达式来查找文件。

对于程序员来说Unix/Linux比Windows简单多了。(参看我四年前CSDN的博文《其实Unix很简单》)学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。

4、学习Web基础(HTML/CSS/JS)+服务器端技术(LAMP)

未来必然是Web的世界,学习WEB基础的最佳网站是W3School。

学习HTML基本语法

学习CSS如何选中HTML元素并应用一些基本样式(关键词:boxmodel)

学会用Firefox+Firebug或chrome查看你觉得很炫的网页结构,并动态修改。

学习使用javascript操纵HTML元件。理解DOM和动态网页(DynamicHTML:TheDefinitiveReference,3rdEdition-O'ReillyMedia)网上有免费的章节,足够用了。或参看DOM。

学会用Firefox+Firebug或chrome调试Javascript代码(设置断点,查看变量,性能,控制台等)

在一台机器上配置Apache或Nginx

学习php,让后台PHP和前台HTML进行数据交互,对服务器相应浏览器请求形成初步认识。实现一个表单提交和反显的功能。

把PHP连接本地或者远程数据库MySQL(MySQL和SQL现学现用够了)

跟完一个名校的网络编程课程(例如:http://www.stanford.e/~ouster/cgi-bin/cs142-fall10/index.php)不要觉得需要多于一学期时间,大学生是全职一学期选3-5门课,你业余时间一定可以跟上

学习一个javascript库(例如jQuery或ExtJS)+Ajax(异步读入一个服务器端图片或者数据库内容)+JSON数据格式。

HTTP:TheDefinitiveGuide读完前4章你就明白你每天上网用浏览器的时候发生的事情了(proxy,gateway,browsers)

做个小网站(例如:一个小的留言板,支持用户登录,Cookie/Session,增、删、改、查,上传图片附件,分页显示)

买个域名,租个空间,做个自己的网站。

进阶加深

1、C语言和操作系统调用

重新学C语言,理解指针和内存模型,用C语言实现一下各种经典的算法和数据结构。推荐《计算机程序设计艺术》、《算法导论》和《编程珠玑》。

学习(麻省理工免费课程)计算机科学和编程导论

学习(麻省理工免费课程)C语言内存管理

学习Unix/Linux系统调用(Unix高级环境编程),,了解系统层面的东西。

用这些系统知识操作一下文件系统,用户(实现一个可以拷贝目录树的小程序)

用fork/wait/waitpid写一个多进程的程序,用pthread写一个多线程带同步或互斥的程序。多进程多进程购票的程序。

用signal/kill/raise/alarm/pause/sigprocmask实现一个多进程间的信号量通信的程序。

学会使用gcc和gdb来编程和调试程序(参看我的《用gdb调试程序》)

学会使用makefile来编译程序。(参看我的《跟我一起写makefile》)

IPC和Socket的东西可以放到高级中来实践。

学习WindowsSDK编程(Windows程序设计,MFC程序设计)

写一个窗口,了解WinMain/WinProcere,以及Windows的消息机制。

写一些程序来操作WindowsSDK中的资源文件或是各种图形控件,以及作图的编程。

学习如何使用MSDN查看相关的SDK函数,各种WM_消息以及一些例程。

这本书中有很多例程,在实践中请不要照抄,试着自己写一个自己的例程。

不用太多于精通这些东西,因为GUI正在被Web取代,主要是了解一下Windows图形界面的编程。@virushuo说:“我觉得GUI确实不那么热门了,但充分理解GUI工作原理是很重要的。包括移动设备开发,如果没有基础知识仍然很吃力。或者说移动设备开发必须理解GUI工作,或者在win那边学,或者在mac/iOS上学”。

2、学习Java

Java的学习主要是看经典的CoreJava《Java核心技术编程》和《Java编程思想》(有两卷,我仅链了第一卷,足够了,因为Java的图形界面了解就可以了)

学习JDK,学会查阅JavaAPIDocJavaPlatformSE6

了解一下Java这种虚拟机语言和C和Python语言在编译和执行上的差别。从C、Java、Python思考一下“跨平台”这种技术。

学会使用IDEEclipse,使用Eclipse编译,调试和开发Java程序。

建一个Tomcat的网站,尝试一下JSP/Servlet/JDBC/MySQL的Web开发。把前面所说的那个PHP的小项目试着用JSP和Servlet实现一下。

3、Web的安全与架构


学习HTML5,网上有很多很多教程,以前酷壳也介绍过很多,我在这里就不罗列了。

学习Web开发的安全问题(参考新浪微博被攻击的这个事,以及Ruby的这篇文章)

学习HTTPServer的rewrite机制,Nginx的反向代理机制,fast-cgi(如:PHP-FPM)

学习Web的静态页面缓存技术。

学习Web的异步工作流处理,数据Cache,数据分区,负载均衡,水平扩展的构架。

实践任务:

使用HTML5的canvas制作一些Web动画。

尝试在前面开发过的那个Web应用中进行SQL注入,JS注入,以及XSS攻击。

把前面开发过的那个Web应用改成构造在Nginx+PHP-FPM+静态页面缓存的网站

4、学习关系型数据库

你可以安装MSSQLServer或MySQL来学习数据库。

学习教科书里数据库设计的那几个范式,1NF,2NF,3NF,……

学习数据库的存过,触发器,视图,建索引,游标等。

学习SQL语句,明白表连接的各种概念(参看《SQLJoin的图示》)

学习如何优化数据库查询(参看《MySQL的优化》)

实践任务:设计一个论坛的数据库,至少满足3NF,使用SQL语句查询本周,本月的最新文章,评论最多的文章,最活跃用户。

5、一些开发工具

学会使用SVN或Git来管理程序版本。

学会使用JUnit来对Java进行单元测试。

学习C语言和Java语言的codingstandard或codingguideline。(我N年前写过一篇关C语言非常简单的文章——《编程修养》,这样的东西你可以上网查一下,一大堆)。

推荐阅读《代码大全》《重构》《代码整洁之道》

高级深入

1、C++/Java和面向对象

我个人以为学好C++,Java也就是举手之劳。但是C++的学习曲线相当的陡。不过,我觉得C++是最需要学好的语言了。参看两篇趣文“C++学习信心图”和“21天学好C++”

学习(麻省理工免费课程)C++面向对象编程

读我的“如何学好C++”中所推荐的那些书至少两遍以上(如果你对C++的理解能够深入到像我所写的《C++虚函数表解析》或是《C++对象内存存局(上)(下)》,或是《C/C++返回内部静态成员的陷阱》那就非常不错了)

然后反思为什么C++要干成这样,Java则不是?你一定要学会对比C++和Java的不同。比如,Java中的初始化,垃圾回收,接口,异常,虚函数,等等。

实践任务:

用C++实现一个BigInt,支持128位的整形的加减乘除的操作。

用C++封装一个数据结构的容量,比如hashtable。

用C++封装并实现一个智能指针(一定要使用模板)。

《设计模式》必需一读,两遍以上,思考一下,这23个模式的应用场景。主要是两点:1)钟爱组合而不是继承,2)钟爱接口而不是实现。(也推荐《深入浅出设计模式》)

实践任务:

使用工厂模式实现一个内存池。

使用策略模式制做一个类其可以把文本文件进行左对齐,右对齐和中对齐。

使用命令模式实现一个命令行计算器,并支持undo和redo。

使用修饰模式实现一个酒店的房间价格订价策略——旺季,服务,VIP、旅行团、等影响价格的因素。

学习STL的用法和其设计概念-容器,算法,迭代器,函数子。如果可能,请读一下其源码

实践任务:尝试使用面向对象、STL,设计模式、和WindowsSDK图形编程的各种技能

做一个贪吃蛇或是俄罗斯方块的游戏。支持不同的级别和难度。

做一个文件浏览器,可以浏览目录下的文件,并可以对不同的文件有不同的操作,文本文件可以打开编辑,执行文件则执行之,mp3或avi文件可以播放,图片文件可以展示图片。

学习C++的一些类库的设计,如:MFC(看看候捷老师的《深入浅出MFC》),Boost,ACE,CPPUnit,STL(STL可能会太难了,但是如果你能了解其中的设计模式和设计那就太好了,如果你能深入到我写的《STLstring类的写时拷贝技术》那就非常不错了,ACE需要很强在的系统知识,参见后面的“加强对系统的了解”)

Java是真正的面向对象的语言,Java的设计模式多得不能再多,也是用来学习面向对象的设计模式的最佳语言了(参看Java中的设计模式)。

推荐阅读《EffectiveJava》and《Java解惑》

学习Java的框架,Java的框架也是多,如Spring,Hibernate,Struts等等,主要是学习Java的设计,如IoC等。

Java的技术也是烂多,重点学习J2EE架构以及JMS,RMI,等消息传递和远程调用的技术。

学习使用Java做WebService(官方教程在这里)

实践任务:尝试在Spring或Hibernate框架下构建一个有网络的WebService的远程调用程序,并可以在两个Service中通过JMS传递消息。

C++和Java都不是能在短时间内能学好的,C++玩是的深,Java玩的是广,我建议两者选一个。我个人的学习经历是:

深究C++(我深究C/C++了十来年了)

学习Java的各种设计模式。

2、加强系统了解

重要阅读下面的几本书:

《Unix编程艺术》了解Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验。你一定会有一种醍醐灌顶的感觉。

《Unix网络编程卷1,套接字》这是一本看完你就明白网络编程的书。重要注意TCP、UDP,以及多路复用的系统调用select/poll/epoll的差别。

《TCP/IP详解卷1:协议》-这是一本看完后你就可以当网络黑客的书。了解以太网的的运作原理,了解TCP/IP的协议,运作原理以及如何TCP的调优。

实践任务:

理解什么是阻塞(同步IO),非阻塞(异步IO),多路复用(select,poll,epoll)的IO技术。

写一个网络聊天程序,有聊天服务器和多个聊天客户端(服务端用UDP对部分或所有的的聊天客户端进Multicast或Broadcast)。

写一个简易的HTTP服务器。

《Unix网络编程卷2,进程间通信》信号量,管道,共享内存,消息等各种IPC……这些技术好像有点老掉牙了,不过还是值得了解。

实践任务:

主要实践各种IPC进程序通信的方法。

尝试写一个管道程序,父子进程通过管道交换数据。

尝试写一个共享内存的程序,两个进程通过共享内存交换一个C的结构体数组。

学习《Windows核心编程》一书。把CreateProcess,Windows线程、线程调度、线程同步(Event,信号量,互斥量)、异步I/O,内存管理,DLL,这几大块搞精通。

实践任务:使用CreateProcess启动一个记事本或IE,并监控该程序的运行。把前面写过的那个简易的HTTP服务用线程池实现一下。写一个DLL的钩子程序监控指定窗口的关闭事件,或是记录某个窗口的按键。

有了多线程、多进程通信,TCP/IP,套接字,C++和设计模式的基本,你可以研究一下ACE了。使用ACE重写上述的聊天程序和HTTP服务器(带线程池)

实践任务:通过以上的所有知识,尝试

写一个服务端给客户端传大文件,要求把100M的带宽用到80%以上。(注意,磁盘I/O和网络I/O可能会很有问题,想一想怎么解决,另外,请注意网络传输最大单元MTU)

了解BT下载的工作原理,用多进程的方式模拟BT下载的原理。

3、系统架构

负载均衡。HASH式的,纯动态式的。(可以到Google学术里搜一些关于负载均衡的文章读读)

多层分布式系统–客户端服务结点层、计算结点层、数据cache层,数据层。J2EE是经典的多层结构。

CDN系统–就近访问,内容边缘化。

P2P式系统,研究一下BT和电驴的算法。比如:DHT算法。

服务器备份,双机备份系统(Live-Standby和Live-Live系统),两台机器如何通过心跳监测对方?集群主结点备份。

虚拟化技术,使用这个技术,可以把操作系统当应用程序一下切换或重新配置和部署。

学习Thrift,二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务。

学习Hadoop。

Hadoop框架中最核心的设计就是:MapRece和HDFS。MapRece的思想是由Google的一篇论文所提及而被广为流传的,简单的

一句话解释MapRece就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(HadoopDistributedFile

System)的缩写,为分布式计算存储提供了底层支持。

了解NoSQL数据库(有人说可能是一个过渡炒作的技术),

不过因为超大规模以及高并发的纯动态型网站日渐成为主流,而SNS类网站在数据存取过程中有着实时性等刚性需求,这使得目前NoSQL数据库慢慢成了人们

所关注的焦点,并大有成为取代关系型数据库而成为未来主流数据存储模式的趋势。当前NoSQL数据库很多,大部分都是开源的,其中比较知名的

有:MemcacheDB、Redis、TokyoCabinet(升级版为Kyoto

Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。

写了那么多,回顾一下,觉得自己相当的有成就感。希望大家不要吓着,我自己这十来年也在不断地学习,今天我也在学习中,人生本来就是一个不断学习和练级的过程。不过,一定有漏的,也有不对的,还希望大家补充和更正。(我会根据大家的反馈随时更新此文)欢迎大家通过我的微博(@左耳朵耗子)和twitter(@haoel)和我交流。

—–更新2011/07/19—–

1)有朋友奇怪为什么我在这篇文章开头说了web+移动,却没有在后面提到iOS/Android的前端开发。因为我心里有一种感觉,移动设备上的UI最终也会被Javascript取代。大家可以用iPhone或Android看看google+,你就会明白了。

2)

有朋友说我这里的东西太多了,不能为了学习而学习,我非常同意。我在文章的前面也说了要思考。另外,千万不要以为我说的这些东西是一些新的技术,这份攻略

里95%以上的全是基础。而且都是久经考验的基础技术。即是可以让你一通百通的技术,也是可以让你找到一份不错工作的技术。

3)有朋友说学

这些东西学完都40了,还不如想想怎么去挣钱。我想告诉大家,一是我今年还没有40岁,二是学无止境啊,三是我不觉得挣钱有多难,难的是怎么让你值那么多

钱?无论是打工还是创业,是什么东西让你自己的价值,让你公司的价值更值钱?别的地方我不敢说,对于互联网或IT公司来说,技术实力绝对是其中之一。

4)有朋友说技术都是工具,不应该如此痴迷这句话没有错,有时候我们需要更多的是抬起头来看看技术以外的事情,或者是说我们在作技术的时候不去思考为什么会有这个技术,为什么不是别的,问题不在于技术,问题在于我们死读书,读死书,成了技术的书呆子。

5)对于NoSQL,最近比较火,但我对其有点保守,所以,我只是说了解就可以。对于Hadoop,我觉得其在分布式系统上有巨大的潜力,所以需要学习。对于关系型数据库,的确是很重要的东西,这点是我的疏忽,在原文里补充。

Ⅱ 想学习编程可以去哪些培训机构比较好啊

1、是否是面授课程。老师面对面授课就会少许多师生互动环节、也不能很好的调起学员的学习兴趣。所以去试听是首先要注意这个培训机构是否真的是讲师面对面授课。
2、上课内容技术自己能否听懂,是不是当下需求最多最流行的。老师上课讲的内容是不是当下正流行的一些技术这点很重要,因为如果讲的是过时内容,那就说明这家培训机构的课程没能跟上市场需求。点击咨询
3、有没有实战阶段。IT行业很看重求职者有没有项目经验,所以培训机构如果没有实操环节,就需要学员自己找项目做。所以在试学期间也要关注课程有没有实战项目环节。
学习编程课推荐到达内了解一下,高薪聘请总监级名师全职授课,术业有专攻,名师出高徒。实施“因材施教,分级培优”教学方案,让每一位学员都成才,让强者更强。三大战略:多元化:IT职业培训到职业培训,少儿IT培训到少儿培训。网络化:线下到线上,TTS到TMOOC;职业培训到技能培训。国际化:内陆到港台;港台到欧美。

Ⅲ 编程怎么学。

如何学习编程,主要有自学和报班两种途径,至于需不需要报班,可以结合自己的实际情况来进行判断,这里简单介绍下。

学编程的注意点:

1、要确定好自己一定能学下去,不能是三分钟的热度,只是学个热闹,这样永远没有办法学的会。

2、一定要打好基础,刚开始学习编程的时候可能会很慢,感觉自己没学会啥,这可能是因为正处于打基础的阶段,只有把基础打好,未来才可以学得更好。

3、要注意实践操作,理论知识学得再多,如果不能实际的运用,还是等于0的。

自学还是报班:

1、如果你可以规划好自己的学习过程,坚持一步步向前走,那么自学当然是很好的。

2、如果你没人监督就学不进去,也没有自己的学习规划,那么还是建议你报班,可以少走冤枉路。

不管是自学还是报班,学编程的要注意的点是相差不大的,希望我的回答对你有帮助!

Ⅳ 我想学习编程,要从哪开始学起

学习编程可以从c语言开始学,方法如下。

零基础自学编程入门指南:

一:确定一个方向,编程语言太多了:java、C++、python、PHP、C等,需要确定方向,从基础学起,建议零基础学编程的小伙伴从C语言开始学起,C语言入门比较简单,会提升自信心。

二:自学编程入门一定要阶段性的看到成果,这个“成果”并不是在“黑匣子”里面实现,要在用户展现界面呈现,很容易提升信心。

其次,多学多练,计算机编程只有多打代码,才能从中找到规律。期初的时候可以不明白只要跟着老师一起打代码一起多练习,慢慢就会由记住理解,如果是想从事编程的同学,可以把写过的代码存到自己的文本文档里,这也就能知道我们的代码量,为以后找工作做准备。

学编程入门很关键,如果你找到一个好方法入门学习很轻松,如果方法错了,很容易半途而废,C语言编程学会后,完全可以在学习python、java等新的编程语言也无所谓,它们有很多相通之处,可以相互借鉴,互相拿来应用。

Ⅳ 上编程课有什么好处

1、抓住成长黄金期,让孩子更聪明

编程的本质,是一套理解问题、解决问题的方法。

3、打好基础,无缝衔接小学教育

前央视主持人张泉灵,曾在一个活动上感慨:

“在未来,不懂编程的孩子,就像不会英语的孩子一样让人焦虑。”

随着国家政策的推动,编程会越来越普及。

孩子现在开始学,时间比较充裕,上小学之后比同龄人更有优势。

功利一点来看,学习编程还能为萌娃经历增加亮点,幼升小时可以在千篇一律的简历中脱颖而出。

Ⅵ 我想学习编程,但不知道从哪入手,基础也为零,求大神给点建议,推荐基本书籍方法

别人写的一篇关于初学电脑的心得文章,可以给你一些参考。

零基础如何学习编程
心得笔记

自学编程2年来,加过n多群,泡过n多论坛,接触过心怀激情的编程新人,遇到过沉着冷静的技术大牛……编程,吸引了一批又一批的热血青年,或许是为了理想,或许是心中的爱好,不断有新人的加入,也不断有人从编程中退出。编程的入场入口只有一个,出场的出口却很多。自学编程的新人,有很大一部分卡在了入门上,对此,我想写下对编程入门的一些拙见,权当抛砖引玉,或对或错,还望同学们自己鉴定。
1.零基础,打算自学编程,应具备哪些的知识?
答:
对于入门阶段,对知识水平的要求并不算高,或者说很低,大家都应该听说过xxx小学生编程如何如何这般这般怎么样之类的话题,这里,我们不谈长期发展,只谈如何入门。首先,我觉得你应该具备计算机的基本操作能力,如果说你连新建一个文件夹或者说从网上下载资料都不会,那么你应该先买本《windows xx从入门到提高》看,然后再考虑编程这件事,如果你觉得对计算机的基本操作已经熟练后,请继续向下看。
2.学编程应具备哪些条件?
答:
第一:硬件保证,首先你应该具备一台电脑,不管是笔记本还是台式,也不管性能高低,性能对前期学习编程几乎无任何影响,就入门来看,操作系统还是首选windwos。
第二:有xx语言的入门本书,纸做的,具体xx语言是哪种语言,后面我们再讨论这个问题。虽说现在铺天盖地的都是电子书了(保留这句话的确定性),到处是扫描版,还高清呢,但我还是推荐看纸做的书,好处有两点,其一是便于携带,可以随时翻阅;其二是避免眼疲劳,我不信你一直晚盯着显示器看电子书眼睛不会酸;还有一点,尊重图书作者的版权。
第三:时间保证,如果你每天都有一大堆事等着你去处理,先去处理那些事吧,处理完后把剩余时间划出一整块的给编程,进行随时可能被打断的学习,在编程这块,我不认为这是在用功学习,零碎时间去背单词?应该是个不错的选择。
3.你确定要学编程?
答:
这个问题看起来有点多余,但为什么要提出这个问题?要知道,编程不是一朝一夕的事,如果你只是一时的冲动,或者仅仅是要完成心目中的某个小工具,并没有长期写程序的打算,这样的话,编程不学也罢,毕竟编程从入门到能独立写软件会有很长的一段路要走,中途一旦放弃就前功尽弃,并且已经浪费了你大把的宝贵时间,实在是得不偿失。不过,你尽管吐槽说是这是你的业余爱好,有个爱好也挺好,那么,继续往下看吧。
4.如何才能入门?
答:
到底怎样才能入门?其实,只要你有毅力,慢慢折腾个一年半载,肯定能入门,但写这篇文章的目的就是为了把这个周期缩短些,不是吗?所以,下面我就以个人的观点来谈谈怎么才能更快的入门,这里先笼统的介绍下,对于每点,后面单独介绍。
–1>.去了解计算机的基本组成,计算机的发展史和编程的发展史,看起来和编程没什么关系,潜在的影响还是十分大的;
–2>.选择一门简单的语言作为入门语严;
–3>.学会使用搜索引擎;
–4>.知道如何看书;
–5>.要”像”个高手;
–6.>应具备的学习态度;
4.1:了解这些历史的意义:
了解一些编程的实质远比知道如何编程更有意义,不要在编程是怎么回事的情况下就去学习编程,这样对你的学习是十分不利的,作为一个编程爱好者,知道计算机的工作原理,这应该是一件再正常不过的事,你难道不想去知道吗?
4.2>.选择入门语言:
这个问题在入门阶段一直是争议十分大的问题,n多语言,n多推荐,到最后搞到新手一会听说这种语言适合新手,于是学习这种语言,一会又有人说xx语言是垃圾、弱爆了,学了也没用,之类的话,开始推荐你xxx语言,于是新手们又开始学习这种语言,搞到最后,什么语言都没搞懂,时间大把大把的流失,热情消耗殆尽。要解决这个问题,首先要明白一个根本问题,怎样挑选适合入门的编程语言?我推荐从难度这个角度来考虑,这门语言必须简单易学,有趣,而且要有一定的热度,有热度才能有更多的人一起交流讨论,翻开编程语言列表,发现有100多种编程语言,而且这个数还是在不断增加的,这里我们一起来看下2012年5月份的编程语言排行榜,能进排行榜前20的,首先在热度上都已经差不多了,现在要做的就是从排行榜里找到一门简单有趣的语言。
2012年5月编程语言排行
对于上述的语言,这里不可能一个个详细介绍,篇幅有限,最主要的是,这些语言的介绍只需要你打开搜索引擎(网络?谷歌?还是其他?随便你喽。),输入这项语言的名字,搜索一下,就能看到他的详细介绍了,如果你说你不会搜索,那么,请返回第一个问题,一般来说,如果你去论坛提问什么语言适合入门,得到最多的结果应该是C语言,没错,就是上述排行榜排行第一的那个,强烈推荐C语言入门的同学如果看到这篇文章可能会很想吐槽,因为这里笔者要推荐的不是C语言,笔者认为,Python语言对于零基础更适合入门,很多人推荐C语言原因我猜测可能有两个,一是全国大部分的高校的编程课C语言是都有开设的,也可以说是学习过C语言的用户基数大,第二是C语言自身的强大,可谓是口碑好。基数大+口碑好,足以让你得到的结果是C语言居多。
笔者是Python语言入门,接触编程时完全是零基础,现在接触了C、接触了C++、JAVA,Visual Basic 6,回味了下,如果让我再次选择一门入门语言,我绝对不会后悔选择Python,建议每位同学去网络搜索下Python,看下是否真的简单易学,并且强大,如果你想快速写GUI(图形用户界面 )的软件,Python有一大把图形库供你选择,不像C语言,半年下来,还是停留在黑框框里,大大打击了初学者对软件开发的信心,对于写游戏,Python也是绝对不会让你失望的,pygame模块为你提供简单快速的游戏开发,Pygame是 跨平台 Python模块,专为电子游戏设计。 包含图像、声音。 虽说没法和Direct X相比,但对于新手来说,独立写个2D游戏不也是一件很愉快的事吗?
对于Python,笔者就不再详细介绍了,只是推荐,具体选择什么语言,决定权还是在你手里,无论是C语言也好,Python语言也罢,下面所介绍的学习方法都是适用的。
4.3>.学会使用搜索引擎:
之所以推荐使用搜索引擎的目的是培养更好的独立解决问题的能力,通常来说,刚学编程时,可能我们有时候连使用什么软件作为编程环境都不知,或者下载安装了编程环境却不知如何使用,这时搜索就派上大用场了,跑到搜索引擎里输入”xxx 使用教程”,结果就出来了,简直太方便了。
而且,新人都喜欢加很多xx语言的编程群,而且大都是挑人多的加,一旦编程中出现了一点小错误,就立马到群里提问,这是一个很不好的习惯,假如说群里有人在线,为你解决了这个问题,那么你独立解决问题的能力就降低了一分,假如没人在线,你就可能面临着等待,或者把问题放这,不去管它,这样积累的后果你是知道的,最好的方式就是动用搜索引擎,不需要等待,还可以锻炼独立解决问题的能力,何乐而不为?还有一点,许多新人反应说许多知识搜索不到,我很负责任的说,不是搜索不到,是你不会使用搜索引擎,至少我现在在编程上还没有遇到过搜索不到某个知识点的情况,对于搜索的使用技巧,如果你还不知道,去搜索吧。
总之,有问题,就要去搜索。
顺便说句,加很多群不是一个好习惯,群里并不能让你学到太多知识,他的功能在于能找到一群有共同话题的朋友,真实的情况是大多时间都在时一起闲扯一些与编程无关的话题。
4.4>.知道如何看书:
无论是电子书还是纸做的书,都会有页码(txt?当我什么都没说过),要做好学习的计划,每天看多少页?这倒不是,不要忽略目录这个好东西,先认真看下一本书的前言和目录,了解本书的知识点的分布,这样有利于更快的融入这本书,然后按章节作学习计划,按页来你就不怕把一个知识点切成两半?笔者看书时第一遍喜欢浏览,也就是走马观花的看,花一上午或一下午从头把书悠闲的翻一遍,不求记住知识点,只求记住几个名词,知道书里面有这些东西,给大脑一个模糊的印象。
从第二遍开始认真看,不放过任何一句话,碰到不明白的名词,没关系,搜索解决。看书要及时复习,推荐“看五退三”(笔者自造的词)式看书,也就是说一次看五页,下次看书式再向后退回三页,这样可以起到很好的复习效果,遇到确实看不懂的地方,也不要停留太长时间,很有可能当你继续向下看,再返回这个问题时,发现你已经可以理解了,这种情况很常见。
代码是一定要亲手调试一遍的,要亲手输入一个字符一个字符的输入,不是机械的复制粘贴,复制粘贴的后果就是你自己感觉学的差不多都理解了,然后到你上机亲手写代码时,要么写不出来,要么一运行报错一堆。所以,书上的每段代码都要亲自调试(再次强调:学编程,就必须得要亲手实践,不要想着走捷径,捷径在哪?有捷径我早走了。)
对于代码报错,作为新手,正常的不能再正常的一件事,这里说两点,注意单词的拼写错误和符号是不是在英文状态下输入的;还有就是坚持自己找出代码错误,坚持,代码报错不求人,自己解决。
4.5>.要”像”个高手:
在写这几个字的时候我还是在担心等等这句话会不会造成误解,像个高手,并不是让你打肿脸充胖子,而是一种激励自己学习的一种方法,具体就是,要多帮助其他新人,帮助别人可以提高自己的话就不说了,在论坛或群,你可能遇到新人们各种各样的问题,要么代码报错自己检查不出错误,或者想解决某个问题却找不到方法等等,诸如此类的问题,如果你能解决,一定要记得解答一下,不断这样下去,你在你的圈子里说话就会越来越有分量,别人也就更信任你的能力,正式由于这种信任,也渐渐使你背负上了一种高手的责任感,别人请教问题我能不会?即使出于虚荣心,我们也得不断学习,维护我们在别人心中高手的形象,这样也就达到了刺激自己不断学习的目的。
但是需要记住几点;
一:不要误导其他新人,自己不确定的知识不要回答;
二:对于那些弱爆了的问题,你已经回答过很多遍了,如果别人没指明让你回答,那么就把这个机会让给别人吧,确实没必要再在这些弱爆了的问题上浪费时间;
三:每天冒泡回答问题的时间不要过长,否则会影响到你的正常学习进度;
四:发现自己错了就要勇敢承认,等高手出来吐槽时只会让你更难堪,不要以为新手好忽悠,当新手有天成为高手时,他会记得当初是谁在挖坑让他跳;
(悄悄告诉你:假如有人问题你确实不知道的知识,而你觉得这个问题你能解决的时候怎么办?咳咳、有点事,离开一下,一会再回答你。这时候,不用说了,抓紧时间去翻书、上网搜索,高手的形象不能丢哇!)
4.6>.需要具备的态度:
–①:恒心?专注?相信自己?每当看到有人告诉新人学习方法讲要有恒心,要学会坚持不懈之类的我就想吐槽,做什么事不需要这样的态度?编程,要有激情,要有想象力,不局限于书本上的知识点,大胆实验,尝试把已经学习的话知识点组合成新的知识点,就拿C语言的链表来说,几乎所有的C语言入门书都把链表作为单独的一个知识点,如果说所有的书都取消链表这个知识点,当你学完指针、结构体、再告诉你malloc函数的用法,你能想到可以组合成链表这有趣的知识点么?
–②:学会稳定自己的情绪,当在论坛或群意见不合,或者有人无理取闹时,不要动怒,立即潜水,因为没必要动怒,谁对谁非,旁观者自然能看到,有个词,叫冷暴力。
人往高出走,尽量和高手混在一起,尽管在高手眼里你可能会仅仅是个菜鸟,但这样做确实有利于你提高自己,有压力才有动力。需要叮嘱一点:永远不要指望技术大牛经常出现在xx群,高手在哪里?高手多半都在写程序,会有时间泡群?
笔者的阅历,暂时只能提出这么多建议了,不管建议是好是歹,也算是表达出了心中一直想对新同学们想说的话,所有准备踏入编程这片天空的同学,祝你们学习愉快,早日实现心中的那份梦想。
最后,引用《黑客防线》上的一句话,作为本篇文章的结束语,这句话我一直记在心中:程序员是值得尊敬的,程序员的双手是魔术师的双手,他们把枯燥无味的代码变成了丰富多彩的软件。
Mr.Wid
2012.6.1

Ⅶ 最近想在线上给孩子报个编程课学习,请问有什么平台比较好的,好课测评这个平台如何

是最近很火的教育平台哦,很多宝妈都报课了,像英语,语文,数独,编程等等都有授课的。

编程算是是未来就业的大趋势,而少儿编程教育是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力的课程。

简而言之,少儿编程就是培养孩子“解决问题”的能力。一般6岁开始学,小学阶段就是编程学习的黄金期。

在【好课测评】让孩子从简到难来学习,儿童编程教学内容可以大致分为两类:一类是Scratch或是仿Scratch的图形化编程教学,以培养兴趣、锻炼思维为主,趣味性较强。在这里可以创造属于自己的动画,故事,音乐和游戏,这个过程就像搭积木一样简单。另一类是基于Python、C++等高级编程语言的计算机编程教学,这一类不属于大部分儿童编程教育涉及的范畴,暂且不表。

总之,我对这平台还是挺有好感度的

Ⅷ 想上少儿编程的课程,在哪里报名

现在少儿编程课程很多,分为线上线下学习,也有线上线下结合学习的,线上学习多多对比,选择一家少儿编程平台报名咨询就可以了,线下需要实地考察,多了解一些情况再报名,最主要孩子喜欢才最好。

Ⅸ 我想学编程!

怎样学编程

1.明确学习目的

学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能 锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。

2.打好基础

学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。

3. 注意理解一些重要概念

一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。

4.掌握编程思想

学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。

5.多实践、多交流

掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。

6.养成良好的编程习惯

编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。

7.上网学编程

在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。

8.加强计算机理论知识的再学习

学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。

Ⅹ 少儿编程教育未来前景如何我想加入少儿编程这行。

市场概况:

从2019年3月,教育部发布了《2019年教育信息化和网络安全工作要点》,要求中小学逐步推广编程教育。挂钩自国务院,教育部将变成纳入课堂教学及大学考试后,全国主要省市已经陆续完成落地,深圳部分省市还将变成和升学挂钩。

浙江省将信息技术学科,含编程纳入高中生的必学科目,纳入高考的考试科目;
江苏明确在小学阶段开设信息技术课程,南京甚至将编程列入中考特招生的范畴,
天津政府招生办发布的《2018年天津科技特长生招生计划》中,将信息学奥赛,信息技术,人工智能等纳入了招生范畴。
重庆,山东,北京等省市陆续把编程纳入小学及高中课程;
随着人工智能技术在生产、生活、娱乐等领域的广泛应用,可以预见,我们已经踏入一个由计算机与机器人主导的人工智能的时代。
任何人工智能的实现都离不开编程,编程将成为人工智能时代中一种基础的、核心的技能。编程不仅受到国家的重视,还逐渐与升学挂钩,更是人工智能时代的必备技能,孩子早学早受益。
学习编程,选择好的编程课程很重要!

阅读全文

与我想上编程课相关的资料

热点内容
s曲线加减速算法 浏览:399
可编程序控制器原理及应用答案 浏览:454
小熊编程教程 浏览:908
word转换成pdf转换器免费下载 浏览:608
群体智能基本算法 浏览:370
可编程软件分为哪两种 浏览:340
格林什么app可以看 浏览:697
飞卢app仙侠热卖推荐怎么样 浏览:722
飞秋上传文件到共享文件夹 浏览:691
服务器的共享文件夹如何访问 浏览:232
复盛螺杆压缩机讲解 浏览:332
柱在基础插筋需要加密吗 浏览:80
51单片机中断寄存器 浏览:65
压缩文件后有病毒怎么办 浏览:618
苹果ipad怎么登安卓王者账号 浏览:862
街头足球服务器已满是什么意思 浏览:462
androidspeex回音消除 浏览:133
加密会议什么意思 浏览:34
ubuntu命令行联网 浏览:7
37选7中奖概率及算法 浏览:593