为什么我在编程的时候感受不到那种乐趣,也不是说程序难?怎么培养?
自我介绍一下,简单说说我大学学习的历程,成绩,感受。(1分钟)
我一直觉得这个年级很多同学一开始害怕编程是因为大一没有很好的引导。他们在计算机学习上没有开好头,动手能力长期跟不上。他们对理论和实践一窍不通,把自己拖到了高三。最后选择考研或者抱怨工作不好找。我也帮助过很多这方面比较弱的同学,但是因为基础不好,总是很难提高。我一直希望学校能让学生在大一的时候就明白学习的重要性,打好扎实的专业基础。现在终于有这样的机会站在这里,为指导大家如何在大学专业技术学习的道路上开个好头做点贡献。
今天我结合自己的经历和对计算机的理解,对编程的理解,对大学学习的理解给大家做一个报告。
首先问三个问题:
1)QQ聊天软件是用什么语言写的(问题第二天改)?
在正确的演讲之后停留。我会亲自教他宝贵的经验。如果没人回答,那就可惜了。
2)谁玩电脑游戏比较好?
嗯,人多,大家都很热情,很好。
给我看看我写的人工智能黑白棋游戏,声明真正的程序员基本不玩游戏。
(结合大四学生长期沉迷游戏最后找不到工作的例子,说明一个严重的问题,玩游戏没用,玩游戏只有好处。鼓励大家好好学习,让会玩游戏的同学也能热爱编程,最后能自己写游戏。)
请记住:光玩游戏没用,玩游戏才是好的。
3)有没有人对计算机特别感兴趣(为什么)
如果有兴趣的话,对学习计算机会有很大的帮助。
兴趣是最好的老师。鼓励他们和其他人。兴趣是可以培养的。学会培养兴趣。
2.概观
计算机“科学”和“技术”包括两个层次。
“科学”是指对计算机硬件、软件和应用的理论研究。
“技术”是指软件开发、工程实践等技能和方法的培养。
我主要说一下如何学习技术(计算机技术)
说话之前先澄清一点,计算机技术不等于编程技术。
编程只是一个工具。编程没学好,不代表技术学不好。
计算机技术应该是与计算机软件、硬件和网络相关的各种科技成果和应用的综合,包括多媒体、数据库、操作系统、嵌入式系统、计算机安全、计算机网络、计算机管理与维护、计算机应用、人工智能、模式识别、管理信息系统等。计算机技术在我们生活的各个方面几乎无处不在。
在当今社会,它几乎与我们的生活息息相关。
(大学和高中学习方式的区别)(学好技术的重要性)
在大学里,学习的方式和高中或者小学有很大的不同。大学更大,大学更自由,不再完全跟着老师走。不再是只要理解老师教的内容就万事大吉了。从我目前的情况来看,很多同学,尤其是女生,在大学里还是沿袭高中的学习方式,很努力,每天自学,很认真,上课做秘籍,理论学的很扎实。但是严重忽视实践能力的培养,理论考试分数很高,课程设计却什么都不会。显然这种学习方法是错误的,和高中的偏科有本质区别。
我觉得理论学习和技术学习同等重要,两者都不可小觑。没有重点是不可能的。至于如何专注,如何在两者之间找到平衡,就看你自己的人生目标了。如果喜欢学理论,想继续考研可以稍微向理论倾斜,打好扎实的理论基础。毕业后可以留校任教,也可以去科研院所发展。如果你想走技术路线,那么你可以稍微偏向技术一点。不离开理论学习也能学好技术。毕业后可以去IT企业发展或者自己创业。有一技之长就不怕没饭吃了。不要完全忽视技术,最后成为一个书呆子或代码搬运工。
大家,从现在开始,一定要下定决心学好技术。那么,如何学好技术呢?
3.如何学好技术
3.1制定好学习计划
3.1.1大一大二:打好基础
3.1.1.1学习计算机基本技能
包括很多计算机应用技术学习和常见硬件维护。
(每个人都要尽可能掌握计算机的基本技能,比如Word excel PPT Access * Photoshop * Flash * Dreamweaver *。根据我的经验,这些基础都是我大一没有电脑的时候学的。举个研究生在Excel里不会查到自己名字的例子。如果这些基本功都没有,我只能说电脑还没入门。高二有了电脑后,终于有机会自己修电脑了。我要学习常见的硬件维护(系统崩溃怎么办,操作系统怎么安装,怎么分区等等。)
3.1.1.2专业理论基础和编程基础的学习
技术就是要把理论应用到实践中,不能轻视理论。没有理论,就没有应用。计算机中的“科学”和“技术”应该是相互依存、相互促进的。
第一,学好高级语言程序设计,数据结构等专业课。有了扎实的理论基础,学习应用技术会更容易。
编程基础:学C++(为什么),考虑过渡到java或者C#(最好只学一个,为什么)。
(编程的学习后面会详细讨论。)
3.1.1.3珍惜这两年大学免费学习的黄金时间。
(我曾经和一个公司的经理开玩笑,总经理感慨地说,现在大学里真的很难找到一个有能力的学生帮忙做项目。我说可以,大学四年,大一还在打基础做不到,大二才刚刚起步没有足够的能力去做,大三课程会比较紧,没有时间去做。大四学生都去找工作了,没人做。)
3.1.2大三:深入学习,确定方向(技术方向,职业规划)+多实践。
第三年会有很多专业课,包括非常重要的操作系统、汇编、组成原理、编译原理、数据库、计算机网络、软件工程等。大家会深入学习计算机的核心课程。这个时候大家的基础都差不多了。可以选择自己感兴趣的技术,确定自己技术的一个方向,比如j2ee,。NET、WEB技术、数据库技术、嵌入式、linux内核开发等等。当然,也会有非常丰富多彩的专业选修课可供选择。这段时间可以利用课程设计的机会锻炼自己。
3.1.3高三:实践与进步
大四,如果不打算考研,工作定下来后可以尝试做项目。高三基本没课,相对轻松。这个时期是获得经验、金钱和巨大进步的黄金时期。
3.2注重专业课的学习
要学好数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络、离散数学等基础课程。
除非你足够优秀,否则请一定要认真听专业课,比如数据结构、编译原理、组成原理、操作系统等。你要连续几个月看老师一分钟能让你明白什么。
3.3培养良好的思维能力
数学是最适合锻炼和思考的东西。是你思考问题最有效的工具。它体现了你的思想。只有在编程中思考,才能编出好的程序。
另外要重视离散数学、数值分析、线性代数、数字逻辑等课程,对培养良好的思维能力大有裨益。
3.4激发创新意识
创新太重要了,不管是什么学科,计算机也需要。
3.5培养独立分析和解决问题的能力。
当你遇到问题时,首先要学会独立思考,而不是事事依赖别人,试着自己去解决,在独立解决问题的过程中你才能取得更大的进步。解决不了的再去问别人也不迟。
3.6培养自学和快速获取知识的能力。
自学能力的重要性(大学和高中学习风格的区别)
可以说,高中靠老师,大学靠自己。要做到严格自律,就要学会自学。
学习的过程也是学会学习的过程。
要充分利用图书馆和网络中丰富的学习资源,培养计算机新知识、新技术的自主学习能力,学会如何通过网络、书籍和文献自主、快速地获取我们需要的知识和信息。
3.7培养团队合作精神
在大型项目中,通常需要所有参与者紧密合作才能取得成功。大家从现在开始就要注重团队精神的培养,学会与人沟通,善于表达,注重提高自己的综合素质,成为综合型人才。
3.8学好英语
包括现在的大学英语和未来的专业英语。
也许有人会问,英语和技术关系大吗?你知道吗,随着计算机的快速发展,新技术在世界上不断涌现。如果今天国外出现了一项新技术,或者出版了国外技术书籍的新版本,相关资料的中译本要到猴年才能出来,现在很多出版物的英文原版书籍越来越多。
每个人都要学好英语,培养阅读专业外文资料的能力。刚开始他们不会懂,但是读多了自然就精通了。
(说到四六级,四六级最好一次过,六级最好在大二结束前过。)
3.9及时关注新技术
了解学科发展趋势,与时俱进。
3.10好好学习努力练习持之以恒。
学好技术不是一蹴而就的,要长期坚持。
4.没有人
5.没有人
6.学习编程
6.1为什么要学编程?
编程是软件开发的基础。学计算机只学编程是绝对不行的,但是不学编程是绝对不行的。
(根据这个年级的情况,我来说说现状和学习的重要性等。)
6.2编程真的那么难学吗?
(说说编程的苦与乐)
编程真的那么可怕,那么无聊,那么无聊吗?如果是这样,为什么世界上有那么多优秀的人乐此不疲?
其实编程并不可怕,可怕的是你的心态。
编程当然很难。长时间面对屏幕对你的健康没有好处。而且因为考虑不周,你会经常遇到各种错误和麻烦,新手很容易处处受挫。
但其实编程很有趣,编程充满了无穷的快乐。
首先,通过编程得到想要的结果的过程是一种创造性的快乐。
有用的东西被编译出来的那一刻会有一种奇妙的成就感。
其次,你开发了有用的软件,方便自己或他人,方便自己,享受他人,贡献自己。
再次,如果你开发的软件得到了用户的认可或好评,会有一种解脱感和满足感。
还有,你可以按照自己的意愿去写自己想要的,通过自己的努力去实现自己的愿望。
那么,编程也是一个挑战自己的过程。想办法解决困难的过程就是一个思考的过程,思维是可以锻炼的。
最后,代码里有一种看不见的美,就像诗歌一样,美都是你的,你可以为所欲为。
编程真的很有趣。它不仅满足了我们内心深处的创造欲望,让我们的思维变得灵活,也愉悦了每个人的内心感受。
6.3学好编程的建议
6.3.1请热爱编程。
如果你想成为一名伟大的程序员,请热爱编程。有兴趣最好,没兴趣也无所谓。你可以慢慢培养,感受到编程的乐趣你就会爱上它。
6.3.2不要害怕困难
很多初学者经常会遇到很多困难。经过多次挫折,他们的自信心受到打击,对编程失去兴趣。
每个人都会遇到这些困难,我初学编程的时候也遇到过。关键是看你以什么样的心态对待,是努力解决困难还是选择逃避。很多问题其实有很多解决方法。比如看书的时候,可以暂时跳过不理解的部分,先回头看,再回头看前面跳过的部分,往往会让你觉得豁然开朗。再比如,编程调试的时候如果找不到一个错误,会很郁闷。这时候很多同学会无所适从。其实只要在程序的不同部分添加output语句,运行一下,看看有什么输出,就可以逐步缩小错误的范围,确定错误的位置。等一下。。。
不要害怕困难,而是用你的智慧去克服困难。
6.3.3多练习,多交流。
学习编程的秘诀是:编程、编程、再编程;(说说怎么练)
在学校的实验室里,即使你犯了一万次错误也没有人会骂你。如果你在公司,那就试试吧!所以我去实验室用电脑的次数更多了。现在我犯错很多,毕业后会少犯错。多实践,从失败中学习,积累经验。要勤奋,三天打鱼两天晒网是学不好的。学过的东西,过一段时间就很容易忘记,练得越多,记得越牢。
现在大家都大一了,可能有人会说没有电脑不方便。事实上,实验室并不只是在老师安排的实验时间内才有。对计算机专业的学生免费开放。有时间的话可以去实验室实习,拿着学生证就行,或者干脆跟阿姨说你是电脑。航海楼七楼的机房,图书馆的电子阅览室也是可以的。大一的时候甚至去阳光网吧编程。
到大二大三的时候,课程设计会更多。大家一定要自己做,不要随便在网上搜一个。
多和别人交流,分享自己编程的乐趣和经验,取得进步。
6.3.4多看书,多看代码。
编程不一定要在电脑上学。看书和书上的代码也是一种学习方式。你可以自己尝试改进那些代码,最后你可以在电脑上调试自己的结果。
千万不要忽视书后面的练习。
6.3.5养成良好习惯
细节很重要。
谨慎,静下心来编程,戒骄戒躁。
养成良好的习惯,注意编程风格,尽量写代码注释,把写好的代码保留下来,以后会有用的。
6.3.6善于思考
用脑子解决问题。
注意基础
要打好编程基础,除了熟悉基本语法,还要深入了解指针、引用、面向过程的思想、类、模板、标准库、接口、继承机制、面向对象的思想等。,并尽量在课后做所有的练习。
刚才说了,有精力的可以学习photoshop图像处理,flash动画,3dmax或者maya 3D建模,dreamveaver网页设计,但是不要让他们花太多时间影响你的基础学习。那些都是应用技术,你会学得更好,不会有什么丢人的。一旦你打好了基础,以后学什么都容易了。
基础没打好的时候,不要以为你的程序只能在黑白DOS窗口下运行,那就去学VC做漂亮的窗口吧。如果3d程序有意思,就去找OpenGL或者DirectX,这些都是高级应用,没有基础会很难学。
有扎实的基础。不要因为C#没有指针就把C++扔掉。不要今天看C#,明天搞java。
要有明确的方向,计算机技术发展太快,新技术不断涌现。了解一下就好,不要随波逐流,要冷静。
6.3.8选择开发环境。
选择一个合适的开发环境,熟悉它就可以了。不要今天摆弄Visual Studio,明天研究Eclipse,后天来netbeans,把时间浪费在学习工具的使用上。
6.3.9选择好的编程语言
我在选择语言的时候,走过一些弯路,浪费了一些精力。我在这里选择一些主流的编程语言,对语言特点和环境做一个简单的介绍,希望能帮助你尽快了解和选择,少走弯路。
c(多用于对性能要求高的场合,如操作系统、嵌入式系统)
C++(应用最广泛、最成熟、最强大、最复杂,具有高性能、易于构建大型程序的优势,基本上是衡量一个国家软件产业发展的核心基础)。
Java(由著名的SUN公司推出,面向对象、安全、跨平台、强大、健壮,需要Java虚拟机的支持)
C#(一种由微软推出的新的、简单易学且功能强大的语言,运行于。NET框架环境)
Python(一种新的面向对象的脚本语言,跨平台,清新易用,代码像数学一样漂亮,非常易学)
PHP(用于动态网站开发的最流行、最强大、最健壮的脚本语言,语法类似于C++)。
ActionScript (Flash编程脚本,最新版本支持面向对象,可以开发基于Flex的RIA应用)。
此外,还有VB、VB.NET、ASP.NET、JSP、ASP、Ruby、JavaScript等等。
这么多不同的语言,大家可能会觉得眼花缭乱。
其实语言只是语法不同,编程思路都是一样的。精通一科,通晓多科,方为上策。
“程序=算法+数据结构”没有编程语言,描述语言只是程序员与计算机的编译器交流的工具。程序员用某种语言来表达程序的逻辑结构,计算机中相应的编译器或解释器理解这种语言,编译得到二进制程序或直接解释执行。
以上语言我都是在大学前三年学的,有深有浅。因为人的精力毕竟有限,很多语言学过了之后就很少用了,几乎是白用。现在我深深地意识到,
你学一门语言越多越好。有针对性地掌握一门学科,总比泛泛而谈而不精好,其他的都是类推。
就大家而言,希望你能学好C++。当你学习到一定程度后,可以继续学习C++的各种库,也可以从中选择自己感兴趣的新语言。如果你打好了C++的基础,后期的学习就会轻松很多。
最流行的语言不一定是最好的语言,拥有最多人的语言不一定是最好的语言。
请记住,没有最好的语言,只有最适合某个领域的语言。只是在不同的环境下选择不同的语言。
6.3.10注意数据结构和算法。
理论上,任何计算机编程语言都可能被淘汰。随着时间的推移和计算机软硬件的飞速发展,新的语言会产生,旧的语言会过时,但不会过时的是数据结构和优秀的算法。一个真正的大师,应该善于设计优秀的数据结构和算法,应该具备独立分析和解决问题的能力,并运用计算机程序来实现。他的思想应该是一种超越语言,更高层次的升华。
如果有一天,你深刻认识到,真正重要的不是语言,而是思想,那就意味着你可以开始了。