计算机专业学生在大学四年内可以做些什么来丰富简历

如题所述

1. 知识学习:
1.1. 掌握好必备的数学基础,其实简单说在大学程度主要是三门课: a. 微积分 b. 线性代数. c.概率与统计。如果学有余力,还可以看看优化方向的东西,但这个不是强求。
1.2. 掌握好一些基础的计算机核心课程,比如数据库,并行运算,离散数学(暂且把它放到计算机这一栏里面)。至于编程方面的技巧,我倒觉得不是需要做到特别厉害。如果能力有限的话,可以放低对操作系统,计算机结构这种比较偏底层的课程。人生要学会抓大放小,不要苛求自己样样精通。
1.3. 学好Python,了解Python上的编程习惯(PEP8)和语法糖。同时可以多了解一些Python对应的数据科学/机器学习的工具库,比如pandas, numpy,scipy,sklearn等。即使将来你不做机器学习,胶水语言Python的知识还是可以有很大的帮助。选择Python的另一个原因是大部分深度学习框架,Tensorflow/Theano/Keras/Pytorch等都是基于或有Python接口。
1.4. 开始学习基础的机器学习,比较推荐的方法是: a. 观看Andrew Ng 在Coursera上的机器学习课程 b. 同时开始阅读基础的机器学习书籍(比如《集体编程智慧》《Python机器学习》《Introduction to Statistical Learning》等)。这个阶段,最重要的就是不要贪多嚼不烂。如果你浏览知乎,会发现大家都说你必须读Elements of Statistical Learning, PRML之类的大部头。我承认阅读这样的书会有帮助,但不大适合一开始直接阅读,因为有可能会让你“从入门到放弃”。在你有了一定的基础知识后,你已经知道自己需要接着做什么了,我希望把选择权交还给你,而不是推荐成堆的课程和书籍。当然,如果你希望继续深入的话,中文可以阅读周志华老师的《机器学习》和李航老师的《统计学习基础》,英文可以入手《Elements of Statistical Learning》和《Deep Learning》。在这个阶段,重点要形成成体系的知识脉络,切记贪多嚼不烂,切记!
1.5. 学好英语,至少打下阅读和听力的基础。虽然人工智能领域中国现在已经做得很不错,但主流的书籍、期刊和会议,资料都是英文的。我们可以接受翻译版,但最好的方法还是自己有能力直接阅读。即使你将来不做机器学习,英文阅读能力还是会有很大的帮助。
2. 实践经历:
2.1. 尝试尽早接触科研,进实验室。一般来说,大三的时候你应该已经有了基本的机器学习知识,尽管还比较浅。这个时候可以向老师/学长/学姐毛遂自荐进实验室,即使是无偿劳动和做基本的苦力活。进实验室有两个明显的好处:a. 对某个小方向会有比较深入的了解。一般实验室做纯理论的不大需要本科生,做机器视觉或者自然语言处理(NLP)等小方向的比较需要本科生,所以这是很好的深入了解一个方向的机会。 b. 补充了研究经历也可以明白自己是否适合这个领域。如果运气好的话,你也有可能成为论文的作者之一,甚至可以去开会(公款旅游顺道见一下业内大佬)。这对于继续深造和去国外继续学习都很有帮助,有科研经历和论文是很大的筹码,对于找工作来说也绝对有利无害。
2.2. 如果对科研的兴趣一般,可以尝试尽早实习。大部分我们从书上看到的方法其实或多或少都是理想模型,甚至很多都比较过时了。举例,现在大部分教科书里神经网络的激活函数还是sigmoid,而工业界早就不用sigmoid了。机器学习的新手最大的门槛就是学了很多知识,却没有使用和检验的机会,而尽早实习可以给你更直观的感受,防止只有一身屠龙之技。
2.3. 可能科研和实习机会有时候可遇不可求,这时候就要自己找项目来做,用兴趣来驱动项目。比较好的方法包括参加Kaggle竞赛,天池竞赛,或者将机器学习运用于自己感兴趣的事情上。我曾看到知乎上有用机器学习判定红楼梦后40回是否曹雪芹所写,且不说文章是否严谨,但这就是用兴趣推动实践的很好的例子。
3. 社科人文:
3.1. 机器学习作为一个变化飞速的领域,要有自己的“坚持”和“品味”。举个简单的例子,现在的深度学习大放光彩需要归功于一批科学家在神经网络低谷时的坚持。但同时,即使只说机器学习,也不要相信只有深度学习最好,不能固执。如果对机器学习感兴趣,就不要今天觉得网络安全好,明天觉得人机互动(HCI)最有前途。追逐热点往往到手的都是泡沫。
3.2. 多读不同领域的书,比如社科类、经济类、人文类。因为数据科学的起点是以数据为基础,终点提取见解提供反馈。而见解不像数字一样一眼就可以看出高低大小,而需要阅历来多角度分析。很多人觉得计算机学科的人读数学看论文就够了,实则不然,科学总会和社会有交织。举个例子,是否该将人工智能应用于军事就是最近知乎上很火的问题,但回答这个问题就需要你有足够的非计算机知识储备,科技没有善恶,而人有。
3.3. 放低身段,多和别人交流。其实这一点有一点牵强,但我发现做机器学习的小伙伴一般都很有性格,很多也比较内向(包括我自己),这可能适用于大部分理工科的朋友。即便如此,我还是建议大家稍微放开一些,因为以数据为导向的工作大部分都要求互动,比如数据分析师、数据科学家等。
4. 写在最后:
科技日新月异,追逐热点是好的。但就像我刚刚提到的,在这个浮躁的时代,不管选择什么方向最重要的就是独立思考的能力,和去伪存真的勇气。如果一件事情不能证实,不能证伪,那就必须存疑。大学不仅是最美好的时光,更是培养良好科学素养的关键时光。
因此,看了这么多过来人分享经验后,我最希望的是你既不要急着全盘接受,也不要因为不对胃口全盘否定。慢下来,好好想想,这大概才是做科学工作的正确态度。
温馨提示:内容为网友见解,仅供参考
第1个回答  2024-05-31

计算机专业的学习内容非常丰富和广泛,涵盖了从基础理论知识到专业技能的多个方面。以下是计算机专业主要需要学习的内容:

一、基础理论知识

    数学基础:包括高等数学、线性代数、离散数学、概率论与数理统计等。这些数学知识是计算机科学的基础,对于理解算法、数据结构、计算机图形学等领域至关重要。

    计算机科学导论:介绍计算机科学的基本概念、历史、应用领域和未来发展趋势,帮助学生建立对计算机科学的整体认识。

    编程语言与程序设计:学习一种或多种编程语言(如C、C++、Java、Python等),掌握编程的基本语法、编程范式和常用库,培养编程实践能力。

    二、核心专业知识

    数据结构与算法:学习如何有效地组织和存储数据,以及算法分析和设计的基本方法。这包括数组、链表、栈、队列、树、图等数据结构,以及排序、搜索、图算法等。

    计算机组成原理:了解计算机硬件的基本组成和工作原理,包括CPU、内存、I/O设备等。这有助于理解计算机如何执行程序,以及如何优化程序的性能。

    操作系统:学习操作系统的基本原理、功能、结构和管理机制。这包括进程管理、内存管理、文件系统和设备管理等。

    计算机网络:了解计算机网络的基本原理、体系结构、协议和应用。这包括TCP/IP协议族、路由、交换、网络安全等内容。

    数据库系统原理:学习数据库管理系统的基本原理、设计方法和应用技术。这包括关系数据库、SQL语言、数据安全性等。

    软件工程:学习软件开发的全过程管理,包括需求分析、设计、编码、测试、维护等。这有助于培养学生的项目管理和团队协作能力。

    三、进阶专业知识

    人工智能:学习人工智能的基本原理、算法和应用。这包括机器学习、深度学习、自然语言处理等领域。

    计算机图形学:研究计算机图形生成和处理的技术,包括二维图形、三维图形、图像处理等。这有助于开发游戏、动画和虚拟现实等应用。

    计算机网络与通信:深入探讨网络协议、网络架构和网络安全等概念,了解网络通信的原理和技术。

    分布式系统:学习构建高效、可靠的分布式系统的原理和方法,包括云计算、大数据处理等领域。

    四、实践技能

    计算机专业非常注重实践能力的培养,学生需要通过实验、课程设计、项目实践等方式,将理论知识应用于实际问题中。此外,学生还需要掌握一些常用的开发工具和技术,如IDE(集成开发环境)、版本控制(Git)、自动化测试等。

    总之,计算机专业的学习内容涵盖了从基础理论知识到专业技能的多个方面,需要学生具备扎实的数学基础、良好的编程实践能力以及广泛的专业知识。通过不断学习和实践,学生可以掌握计算机科学的核心技能,为未来的职业发展打下坚实的基础。

相似回答