A. 小白,想入门程序员,应该从什么开始学,顺序是什么
小白想要成为程序员,首选是选择一门合适的语言,比如说:Python、Java、C、C++、GO语言等;其次,选择合适的学习方式,比如培训,周末班、脱产班还是网络班。
如果完全没有编程基础,建议大家学习Python,Python入门简单、语法清晰、通俗易懂,非常适合零基础人员。
B. 信息奥赛哪个学科好学简单
具体需自身评估。
信奥是全国中学生学科奥林匹克“五大学科竞赛”中的一门,其他四个学科为数学、物理、化学、生物学,学科奥赛是由国家认可的权威性比赛。信息学,主要是指利用计算机及其程序设计来分析和解决问题的学问。信息学奥赛由中国计算机学会主办,主要考察信息学,即编程的相关知识和能力,主要包括三级赛事:全国青少年信息学奥林匹克联赛、全国青少年信息学奥林匹克、国际信息学奥林匹克竞赛。
信奥赛的地位:
首先,在1984年2月16日,邓小平同志的一句话:计算机普及要从娃娃抓起!这句话就标志着一个时代的开启,当年中国科协和教育部联合举办了首届全国青少年计算机程序设计竞赛活动,这也是信息学奥赛的前身!
其次,教育部2018年公布的高中新课标里,编程和计算机思维已经成为了必修,浙江省更是率先试行把编程纳入了高考,南京市也把编程纳入了中考科目。在2019年的9月,广东教育出版社出版的覆盖中小学阶段的《编程教育》教材,已经率先进入深圳、佛山、清远等3个城市试验后,反馈良好,正式通过了审查!
另外,信奥与数学、物理、化学、生物竞赛同为教育部认可的五大学科竞赛,但是信奥与它们不同的是,信奥是一门对逻辑思维能力、数学能力、编码能力甚至是英语能力都有要求的学科竞赛,这些能力对一个孩子综合素质的提升是贯穿一生的,而小学阶段正是这些能力形成的关键时期,这也是为什么说学习信奥的最佳时期是从小学开始的原因。
信奥赛对学生具体的作用:
作为理科五大学科竞赛之一,信息学的认可度和含金量极高,最直接的好处就是有助于升学,无论是小升初、中考、高考、海外留学,还是申请奖学金、保送研究生,获得信息学奥赛的好成绩都会有重要的助力作用。
升学择优录取
信息学奥赛获奖可以享受名牌大学降分录取等优惠,初中阶段参加NOIP获奖也可作为特长生被重点高中录取。
名牌大学保送
获得NOI奖牌的选手可以直接保送清华北大等一流名校。
比如:
入选IOI(国际信息学奥林匹克竞赛)2021国家集训队,刚刚升上“广大附中”高一的彭博同学,便成功被保送到北京大学计算机系“图灵班”。
2019年国际信息学奥林匹克中国队选拔赛(CTS2019)以91.23的总分位居第一名,成为IOI2019国家队队长的钟子谦,也顺利被清华大学提前录取。
增强出国留学竞争力
奥赛获奖对申请国外院校也大有帮助,国际竞赛获奖可国外知名大学录取,美国、英国、德国、新加坡、日本等发达国家对计算机教育普遍重视,认为奥赛获奖学生的抽象概括和逻辑思维能力远远强于其他学生。
所以,信息学奥赛是帮助孩子圆名校之梦的一个较好选择。
信息学奥赛相比于其他竞赛有何优势?
信息学相比于其他四门学科有着明显的优势。
首先是难度。五大学科竞赛中,数学和物理奥赛都太“难”,北京数学奥赛金牌教练汪老师曾表示:只有不到5%的学生适合学奥数,其很大程度是拼天赋;而物理则需要学生具备浓厚的兴趣和探索精神,而且动辄百万的报考人数也使难度攀升。化学和生物奥赛一定程度上是考察知识积累,由于专业就业较难,已日趋边缘化。
信息学奥赛则相对容易一些,有初一的数学基础就完全可以学习,而且学生基础水平相当,成绩不会有较大差别,所以越早接触信息学越容易出好成绩,而且只要肯下功夫,多半孩子都能拿奖。相比其他学科,信息学是目前发挥个人潜力最广,发展空间最大,专业选择面最全的课程。
第二是竞争压力小。以2017年为例,国内五大奥林匹克竞赛一等奖总人数从2016年的7595人递增到了2017年的8727人,增长率达14.9%。其中,信息学奥林匹克竞赛一等奖人数超过数学奥林匹克竞赛740人,在占比上超过数学奥林匹克竞赛8%。
与全国数百万学习“奥数”的中小学生相比,目前参加信息学奥林匹克竞赛的学生不到8万,形成强烈的反差。在总获奖人数上却是数学的1.4倍,由于参赛人数上差异大,信息学竞赛在部分省份获奖率超数学联赛的十数倍。
青少年如何入门学习信奥?
首先,我们要知道信奥赛虽然是编程类竞赛,可是它的官方指定参赛语言从2022年起,就仅存C++这一门编程语言。
C++读作”C加加“,是”CPlusPlus“的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新花样,所以叫”CPlusPlus“,就像iPhone6S和iPhone6P的区别,虽然同为手机,但是屏幕尺寸6P的更大,分辨率6P的更高,芯片运行速度6P的更快。
在编程语言里,C++就是对C语言的扩充和延伸,并且对C语言提供向后兼容的能力,并且C++具备运行速度快、效率高、安全稳定等特征,在很多领域具有不可替代的作用,因此也使得C++作为信奥赛的官方指定唯一编程语言哦!
了解了C++,我们再来看看信奥赛的考试内容,信息学奥赛主要考的是运用计算机分析问题、设计算法以及上机编程、调试程序的能力。其中对C++的掌握能力是核心,信息学奥赛首先需要学习的就是C++。
试题方面,一部分是计算机的基础知识,内容包括计算机的特征(硬件和软件)、网络的特征和基本概念、信息的输入输出、信息的表示和处理、新兴应用等,常以选择题形式出现,主要依靠平时多积累,有意识去记忆,留下印象。
一部分是数学内容,范围很广,比较重要的内容大概包括:
排列、组合、辗转相除法、容斥原理等。还有数据结构会考的基本类型(整型、长整型、浮点型、字符等)和数组。
比较容易在初赛中出现的数据类型有树、栈、队列等。树:二叉树、完全树等;栈:先进后出特点;队列:先进先出特点。
还有一部分是程序完成(也就是算法),这部分完全靠做题经验,没有捷径,所以平时需要大量时间刷题训练。
当孩子正式入门C++后,经过系统学习,建立基本的编程思想,掌握基本指令:
(包括输入输出语句、运算符、变量的使用、顺序结构、分页结构、循环结构的基本使用)等。
这时可以对复杂的数学和逻辑问题有着更好的理解。
有了一定的基础,想要往更深层次进阶学习的同学,就可以考虑通往竞赛之路啦!参加信奥赛的孩子数据结构和算法都会经过大量的训练,对编程有更深入的理解。
如何选择靠谱的信奥教学服务机构?
作为信奥赛指定官方语言C++,可想而知它在这项赛事中重要性有多强。想要学好信奥C++,首先要有信心和耐心,毕竟这条赛道也是需要比拼毅力的。
其次就是要选对培训机构,好的机构拥有一流的师资、一流的教学服务,并且在C++竞赛领域中,拥有傲人的成绩,这样的机构才能助力孩子更好的成长。
C. 生物背景入门生物信息学,需要补哪些计算机知识
学会Linux的基础操作,譬如常见的ls,grep,less,ark等即可。当然最开始接触Linux的时候会各种不习惯,比较好的学习手段是把自己的笔记本装成Linux,大多数人喜欢mate界面的fedora。然后在Linux里听歌看电影,如果写文档就用虚拟机或者bps。这么用个1-2个月就比较舒服了。学一门编程语言,会简单的文本处理。现在知乎上首推python,据说语法清晰入门简单。认认真真看个1个月加练习,基本上普通的文本处理就没什么问题了。本条目可以和第一条一起用,在Linux下用python有加乘效果。如果想稍微进阶一下,需要学习和了解常见的数据结构,譬如什么是二叉树,什么是哈希表,什么是链表,哈希碰撞是怎么产生的,链表相对数组有哪些性能优劣等等。这些基础数据结构大概花费几天即可掌握,不需要深入。如果在处理文本时能使用恰当的数据结构,则会事半功倍。那么如果能花1-2个月把上述问题都搞明白了,顺便做个简单的项目,譬如写个fast.Oz的过滤脚本,那么后面的进度就很简单了。目前主流二代测序的数据分析本质来说也就是用些开源软件倒腾下然后网上找公开数据库折腾。并没有多高的技术壁垒。反而是对生物学意义的理解更为重要。最后,编写代码方面,需要一些技能是光上一点基础课学不来的,必须在战争中学习战争。比如说会写了python或者C,java,但是还是需要一些高级技术以及技术细节。之前在做测序数据分析的时候要求写成并行的程序,这样服务器跑起来快,免得结果等好几天。如此种种还有很多,解决程序运行中出现的形形色色的幺蛾子需要扎实的经验积累。
D. 怎么样才能学好计算机科学技术
当你走进这陌生的大学教室,手捧着崭新的课本,一定有许多问号出现在你的脑海。尤其是面对计算机课本,你一定既渴望又神秘。我想,就一年级的新生如何学好计算机基本知识,如何尽快掌握使用计算机的能力谈一点个人看法。 要想尽快进入学习的最佳状态,首先要适应大学生活,提高自己处理问题的能力。能力主要有这样几个方面:从跟着老师学习的中学的学习方法转变成老师引导、自己主动学习的大学学习方法;从父母处理生活转变成个人料理生活的方式;从和同学松散联系的中学生活转变成和班级集体紧密相连的大学集体生活。这样必然要求每个大学生尽快提高自己各方面的协调能力和道德修养,对同学要宽容、忍让、关心、帮助。所以,新生入学后是提高每个人的能力和素质的第一个关键时期,过渡得越快越好,就能尽快地进入最佳学习状态。 其次,要明确为什么要学习计算机。有了明确的思路,才有持之以恒的学习动力,否则,兴趣很难持久。我们大家知道新世纪的经济是知识经济,经济的发展在很大程度上取决对知识的发掘和积累,所以,知识经济中的一个重要的特点就是信息化。因此,我们也把21世纪叫做信息社会。只有依靠先进的信息处理技术才能跟上时代的步伐,才能尽快地完成知识的积累和发掘,才能真正做到科学技术就是生产力。所以,我们通常将计算机和外语的基础当成最重要的基础知识之一,把计算机和外语能力当成大学生最重要的能力之一,而将计算机和外语水平当成大学生素质的最重要的一个内涵。特别是随着我国市场经济的发展,大学生在人才市场中寻求发展,计算机和外语水平也成为用人单位聘用的一个最重要的条件之一。年轻的朋友们,努力吧!学好计算机技术就相当于有了一把打开知识宝库大门的金钥匙。 第三,要弄清学习计算机技术主要学什么。我们知道学习计算机目的是了解它、掌握它,并熟练地应用计算机解决实际问题。所以,我认为应该学习这样三个内容:其一是入学后通过对计算机课的学习,要了解计算机的基本结构和工作原理,特别要通过实际的观察和操作来了解计算机的硬件结构和操作方法;其二,是学习好一门计算机语言,给今后自己根据需要学习其他各种适用性的语言打好基础。并熟练地掌握常用的计算机应用软件,如:文字处理软件、图形处理软件、数据库开发软件等;其三,学习计算机网络的知识,并通过讲座、报告对计算机网络进行了解,要学会在Internet上的各种应用操作。 最后,要有好的学习方法。计算机理论和技术是实践性很强的技术。所以,在学习中要注重实践环节的学习和锻炼,并在实践中得到能力的提高。建议采取下列方法和途径:首先,要学好大学一年级计算机应用基础这门计算机文化课,并通过实验学习计算机的操作技术。如有条件,最好能进行一次计算机散件的组装和调试过程;第二,要利用一年级一周机房教学时间熟悉计算机的各种常用应用软件的使用,这样就可以有计划的应用软件进行相应的数据处理练习;第三,要通过计算机应用基础课的网络基础知识的学习,建立计算机网络的概念之后,利用校区校园网的条件进行Internet网上的浏览和冲浪以掌握常用的Internet网上的浏览器和其他应用平台的使用。有了这方面的初步学习,就可以认为你已经掌握了计算机的基础。但学好计算机最重要的是今后四年中自觉地有计划地不断地学习和实践。 我相信,只要我们这些一年级新生能尽快地适应大学的学习和生活,调整好自己的心态,明确学习计算机技术的目的,弄清计算机学习的目的,弄清计算机学习的内容,在充分利用现有的设备条件,有好的理论和实际相结合的学习方法,就一定能学好计算机。插上一对翅膀,翱翔在科学技术的蓝天上。 提倡自学 对初学者,老师引进门很重要,但以后就要靠自学。自学能力对于计算机学习尤为重要,原因就是计算机发展奇快,掌握了自学方法,具备了自学能力,才能应付计算机日新月异的发展形势。有人说,"自学,谈何容易!"我说别的学科自学可能较难,而计算机却相对容易一些。为什么这样说呢?因为计算机越来越"平易近人",让人能够看得见、摸得着。能够让人动的东西就好学,比如几岁的娃娃就敢去开电视机和调台,能够去控制VCD等,难道电视机和VCD机不是高科技产品吗?计算机作为学习对象,理论知识和实践环境是统一的,学习内容和进度自己可以掌握,自学当中有弄不懂的东西,大多可以通过上机加以解决。因此,我说它易于自学、便于自学。当然,有一本便于自学的指导书就更好了。 强调动手 算机这个学科实践性特强,不动手是学不会的。计算机从诞生那天起就被人蒙上了神秘的面纱,许多专着像"天书",让初学者望而生畏。但是,很多小孩子为什么能把计算机用得那么好呢?窍门在哪儿呢?动手!一动手就会感到"原来如此"、"没有什么了不得"!这样,就会越学越轻松、越学越有兴趣。边动手边动脑是计算机学习的基本模式,可以自然而然地摈弃那种死记硬背、"纸上谈兵"的学习模式,既动手又动脑,形成生动活泼的学习氛围。动手,还能强化理论联系实际的优良学风、培养实干精神。 注重应用 在学习计算机知识与技能的过程中,要想到"用","用"到自己的学习、工作和生活中。作为智力工具,作为人脑的延伸物,让计算机帮助我们思维、论证、决策,以提高分析问题和解决问题的能力。参加信息学奥林匹克活动的孩子们为什么能在国际大赛中摘取金牌,就是他们学以致用,在"用"中加深理解,把计算机变成了得心应手的工具。人们常说"熟能生巧",泛指学用一般工具,对学用计算机这种智力工具,就不仅仅是"生巧"了,而且还"益智",即有利于开发智力。计算机中浓缩着人类智慧的结晶,集成着现代人的思维方式和科学方法,通过人脑指挥电脑、电脑帮助人脑的过程,会使人越来越聪明,越来越能干。在新世纪大智大勇,富有创造才能的人,一定是会使用电脑帮自己工作的人。 专家谈“如何学好电脑”(中) 上网 计算机教育不仅仅是学科教育,更重要的是一种文化教育。目前,分布在五大洲的几千万台计算机已经联到了互联网上,形成了一种新的文化氛围;会不会使用网络成为衡量现代人文化水准的一个新尺度。在网络文化氛围中,获取信息、处理信息、交流信息的能力十分重要,这也是现代人的一种基本能力,从某种意义上看,"网络就是计算机"。学习网络方面的知识与技能是十分重要的,谁不充分认识这件事的重要性,将来就会追悔莫及。另一方面,文化不等于文明,网络上存在着很多很有用的东西,但也有糟粕,怎样区分有用的信息和无用的信息,识别香花与毒草的能力,也是现代人的一种基本能力。在上网这件事上,"因噎废食"不可取,打点"预防针"却是必要的。 计算机教育不仅仅是学科教育,更重要的是一种文化教育。目前,分布在五大洲的几千万台计算机已经联到了互联网上,形成了一种新的文化氛围;会不会使用网络成为衡量现代人文化水准的一个新尺度。在网络文化氛围中,获取信息、处理信息、交流信息的能力十分重要,这也是现代人的一种基本能力,从某种意义上看,"网络就是计算机"。学习网络方面的知识与技能是十分重要的,谁不充分认识这件事的重要性,将来就会追悔莫及。另一方面,文化不等于文明,网络上存在着很多很有用的东西,但也有糟粕,怎样区分有用的信息和无用的信息,识别香花与毒草的能力,也是现代人的一种基本能力。在上网这件事上,"因噎废食"不可取,打点"预防针"却是必要的。 刘瑞挺:全国高等院校计算机基础教育研究会副理事长、天津南开大学计算机与系统科学系教授、《个人电脑》杂志社总编 "计算机普及要从娃娃抓起"已经成为一条公理。家长、教师、学校、社会都对孩子的电脑教育给予了极大的关怀。就在这时,少儿NIT出现了,而且,立刻引起社会的热烈反响。教育部考试中心的咨询电话整天不断,已有28个省市自治区承办。那么,什么是少儿NIT呢? NIT是全国计算机应用技术证书考试的缩写,现在要把它推广到少年儿童中,所以称为少儿NIT。小孩要这种证书有什么用呢?也许还有人会火冒三丈:"为什么要用考试来摧残幼小的心灵?"且慢,弹钢琴不是也有考级吗?没有人说它在摧残孩子。原因是这些孩子有音乐细胞,而且乐此不疲。如果,孩子并无音乐天赋,家长非骂即打地硬逼他弹琴,那就真是摧残了。其实考试不等于就是应试教育,而且少儿NIT考试的"只记成功、不记失败"更与摧残毫不沾边,它以上机培训为主,一边学一边通过,乃是推动素质教育的利器。 大多数孩子都会喜欢电脑,这是由电脑的特性决定的。孩子的童心是好奇、好问、好学、好玩、好动、好斗、好强、好胜,而电脑丰富多彩的软件正好能满足孩子多方面的渴望。把这些辅助智力工具尽快、尽早地交给孩子,他们会终生受益。只要孩子有一种爱好,就可以通过这一爱好让他喜欢上电脑。爱好语文的可以用它写文章,爱好算术的可以用它解题,爱好美术的可以用它绘画,爱好音乐的可以用它作曲。他们可以通过不同的途径喜欢上电脑。那么,会不会有的孩子无论如何也不喜欢电脑呢?会的。但这又有什么关系呢?这种孩子不会超过5%,恐怕需要特殊方式来关怀他们。 现在,少儿NIT已推出十个模块:操作基础、文字、表格、画图、上网、音乐、动画、编程、多媒体、数据库。每个模块都由过程式培训、作品设计、上机考试组成。凡获得三个模块证书者,可申请少儿NIT铜牌证书;获得六个者,可申请银牌证书;获得十个者,可申请金牌证书。这些证书肯定能成为他们走向信息化、数字化的坚实台阶,为他们成为新世纪的建设者奠定稳固的基础。
E. 如何学好生物信息学
我硕士读的是细胞生物学,今年4月开始在boss要求下自学perl,打听了下,<learning perl>这本书不错,就买来开始看,等5月份去北京参加公司的培训班时,<learning perl>读了一遍,<intermediate perl>看了一部分。培训回来,我们的项目就开始做了,9月拿到所有原始数据和分析结果。然后,我对照着公司的分析报告,试着自己走一边分析流程,中间遇到问题,自己解决不了的,就发邮件求助。有几点需要注意:1. 我能理解你想早些玩儿数据的愿望,但是在这之前,最好要有一个outline.需要知道数据从哪儿来的,怎么产生的?其实就是测序仪的工作原理。然后是数据质量检验,为什么需要数据过滤?接着是reads拼接和组装。总之,要对整个流程有一个认识,而后在学习的过程中,再不断回头对比这个流程,这样才不会有迷失的感觉。2. 有了基础知识的铺垫,就可以尝试着自己做些练习了,paper上面都会给出他们的数据、原码地址,可以找来自己试试,先看看自己能不能做出一样的效果。当然,这时要是你手里正好有项目,那就更好了。3. 学生物信息,paper肯定是要跟踪的。覆盖生物信息有趣的论文, 算法,以及生物科学问题。这个网站还汇集了很多生物信息领域科学家的博客。再如BGI的主程罗瑞邦, SAMtools、BWA的作者Heng Li都有在这里出现。[RNA-Seq Blog](RNA-Seq Blog) 推荐新的论文、工作、培训课程、大型会议等。如果你是生物背景的,那么计算机方面的知识需要补一下:需要能在linux环境下舒服的工作。比如从源码编译安装软件PATH配置,再比如舒服地使用google找到问题的答案。学会使用python/perl。比如有的时候运行一个软件老是报错,可能就是因为在一个包含几十万行的文本文件里,有随机的那么几千行的末个位置,多一个冒号, 这时候你知道需要怎么做了? 学会R。要从一大堆基因里面找出表达水平变化的基因来,需要统计分析和显着检验;而要把我们的数据更直观地展示出来,最好的方式就是图形了吧。这两个需要,R都能满足。当然matlab也是可以的,区别在于R是开源工具。具备了上述技能,那么常用的软件就能用起来了。随着学习的深入,可能你的问题别人也没遇到过,这时候就需要自己动手,要么修改现成的工具,要么自己做一个出来。这时候,除了python/perl,或许还可以学C/C++/java,或许需要研究下比如BWT、De Bruijn Graph背后的原理。