数据结构&Python扫盲篇!计算机小白速速集合了!
相信大部分即将步入大学的同学,都在隐隐期待大学里新的学习环境以及新的好友圈子,向往着未来的大学生活,但要提醒大家的是,千万不要因为玩乐忽略学习哦!美国大学以学分来衡量学生完成学业情况,大家毕业的求职也会和大学学习的专业和成绩息息相关,所以课程的学习与学业的规划变得尤其重要。小编今天帮大家整理了数据结构(Java)和Python等计算机类课程的相关信息,包括了计算机语言及数据结构介绍、专业与计算机语言、教材推荐等方面,让大家对CS专业有个清晰的认识,话不多说,直接上干货啦!我们通常把计算机能识别的信号叫做机械语言,机械语言与我们平时说的话差别还是非常大的,于是计算机科学家就发明了各种各样的编程语言,搭建自然语言与机械语言之间的桥梁,于是就出现了Programming Languages。大家在学习CS专业时,首要学习的就是学会编程语言,学会和电脑沟通,编程语言的分类可以主要分成两种:高级语言、低级语言。我们将更接近自然语言的编程语言称为高级语言,一般接触计算机时,大家都要从高级语言学起,因为它和我们所说的话更接近,同学们更容易理解和上手。C++是一种通用的高级编程语言,它是C语言的扩展,由Bjarne Stroustrup于1980年代早期开发,它的特点有:首先,C++的一大特点是性能很强大,控制底层逻辑,不像Python一样会有很多的消耗和冗余。C++和Java、Python一样都是面向对象编程语言,OOP中object就是物体的意思,只不过对于计算机来讲,不仅表示的是实体的东西,也可以是虚拟的东西,比如银行账户,都可以放在计算机里面去处理。所谓低级编程能力就是C++和C更接近, 并且C++在这三大语言中也是学起来最难的。Java是一种通用的高级编程语言, 由James Gosling于1990年开发,Java的特点是语法结构更复杂,它比Python来讲更安全、更可靠一些。相比叫来说,Python更加自由和简单,缺点是容易出问题,Java主要应用于程序开发、网页开发等等方面,这些都需要用Java语言来写。Python是一种高级、解释型、通用的编程语言, 由Guido van Rossum于1991年创建,它的特点是具有简洁性和可读性,有大量的库和框架,具有跨平台性,能够快速开发。它的火热是有其必然性的,Python语言的简单使得它对底层的控制没有那么强,但是它的简洁性让它的发挥空间变得非常大,像我们熟悉的Chat GPT就是由Python来搭建和开发的。由于Python的简洁性和可读性,有更多的人可以学会这个语言,大模型是建立在数据科学基础之下的,数学、统计领域的专家常常会拿简单易上手的Python作为工具来做科研。由于专家的不断加入,他们对Python做出了不少贡献,比如Python中有很多的模组,每个模组里都有固定的工具,即一些固定函数,让不明白这一领域的人可以直接使用这些函数。相比起Java和C++,Python非常简单,对于非计算机专业的人更容易上手,学习门槛会更低一些。比如在打印操作上,Python只用一行代码就可以运行了,而Java和C++还需要写很多行,并且没有主函数是运行不了的。这是全球科技公司或互联网公司对编程语言的使用的占比,到目前为止 Java使用占比最多,因为 Java 已经非常成熟了,很多东西可以直接拿来用。Python也有很高的占比,但这一语言没有那么成熟,因为一个新兴的东西要取代现有的流行的语言,是需要一些时间的。和Java、Python相比,C++语言占比要低一些,比如涉及到需要自己搭建引擎这样的更大型的系统级别的游戏公司,会用的更多一些。“互联网+”的时代要把所有产业都和计算机联系起来,让计算机提高行业生产力的时候,用简单的语言肯定比用困难的语言要更好,因为行业内的人员不一定都会编程。1)对于计算机专业同学来说,上述计算机语言是都需要学习的,甚至还会有其他更多的语言需要掌握。2)有些学校还会开设Data Science专业,需要学习统计以及数学相关知识,会学习到R语言,其中的数学功能比较强大,有很多的模型和统计公式可以用。3)软件开发,游戏设计专业的同学,也会用到计算机语言,比如会接触到脚本语言,可以操纵游戏中人物的移动和交互等等,这些动作交互等都是有固定脚本运行的。4)学习生物化学相关专业,涉及到实验数据,需要做数据处理的同学,就需要学习一些计算机语言,工科类专业的同学需要学到嵌入式语言,控制硬件的东西。不同的专业用到的语言也会有一些区别,如果同学用数据库需要接触SQL,商学院同学用到Python会比较多,如果学校对数学要求高,除了R语言,还会学习SES这样的语言。此外,有些学校会提供CS minor,同学们除了自己的本专业以外,还可以选择一个辅修的专业,学习很多的CS课程。Python应用场景还是非常广的,像Python开发了Chat GPT这样的大模型,Google和Netflix等大公司对算法要求都比较高,会用到这一计算机语言。比如拿Google来搜索内容时怎样能搜索的更快,为什么输入关键词就可以用几毫秒时间就能把结果输出出来,再比如Netflix可以根据之前看过的电影,为你推荐你感兴趣的电影等等,都会用到Python来设计算法。Java多用于企业级应用开发,它有很多现成的网络框架,当需要把用户的数据和网络,以及用户的使用应用之间进行连接的时候,就会用到一些Java框架。C++常用于系统级开发、游戏开发及嵌入式系统开发,也涉及一些高性能计算、金融交易系统等。当同学们学习了编程语言基本知识后,会接触到更深层次的知识,就是数据结构和算法,下面为大家介绍一下数据结构及其用途,以及大学里数据结构课程设置。Data Structure 是计算机中存储、组织数据的方式,简单解释就是数据的结构,我们可以以不同的方式将数据存储到计算机之中。大家比较熟悉的array就是一种线性结构,它是一个个排列起来的,排列比较固定,不能随意变化,除它以外的线性结构还有很多。相比起array,链表就比较自由和灵活,它可以随时截取出来或者添加节点,可以用来应对一些灵活的场景。除了上面的几个线性结构以外,还有很多的这种非线性结构。树型的结构比较好理解,比如公司的管理系统,大家不是平级的关系,而是依次向下展开的关系,一个节点可以对应很多个不同的节点,而且下面的节点不能向上管理。图像型结构可以参照Facebook在对用户信息进行存储时,把每个用户的信息模拟成一个节点,把所有属性都塞到里面去,通过建立节点之间的联系,就构成了一些图像性质的结构。首先,数据结构用来提高运行和存储的效率,比如Google是通过高效的网页标记方式等操作,才把算法变得如此之快。其次,它还用来解决复杂的问题,比如上文中讲到的Facebook在存储用户信息时,通过建立节点间的联系,构成了图像性质的结构,大家在软件上查看谁和谁是好友,形成各种关系链。数据结构在生活中的应用比较广泛,比如地铁图的规划,需要综合很多的信息,比如人流量,或者城镇需不要在这里建造地铁等等,反映在电脑中,就是对应的数据结构。当同学们学完编程基础之后,就会去学Data Structure,一般是在大二的时候,当然也有一些学校越来越卷,会把数据结构放到大一。大家再往后学是更高级的算法,如何使用学过的Data Structure,此外同学们还要学习一些额外的代码及使用规则等等,能够更高效的完成任务。1.Effective Java, 3th Edition
2.Learning Python, 5th Edition
3.C++ Primer, 5th Edition
4.Introduction to Algorithms, 3th Edition
以上几本书都是在各自语言领域都非常出名的书,大家对哪个语言感兴趣都可以拿来先了解,在一开始学习教材时,同学们觉得困难都是很正常的,毕竟大家都是第一次接触大学教材。在这里建议大家可以找一些网上的教程视频,搭配着书来学习,会降低学习难度,有不会的地方要及时去查阅资料或向专业的人去提问解决问题。好啦,以上就是数据结构&Python的扫盲内容啦,相信你看完一定对CS专业有了一个清晰的认识~祝大家都有个开心的大学旅程!为帮助同学们提前掌握大学必修课,为专业课的学习打好基础,TD将于2026年暑假开启「大学预备系列课程-暑假班」助力大家提前掌握大学通识课!本期暑假班涉及科目为线性代数、数据结构(Java)、离散数学、概率论、学术写作、数理统计、多变量微积分、中级宏观经济学、中级微观经济学、Python、C++共11科课程。2026年暑假班第一期将于6月13日开课,7月26日结课;
2026年暑假班第二期将于7月18日开课,8月30日结课。
线性代数、数据结构(Java)、离散数学、概率论、数理统计、多变量微积分、中级宏观经济学、中级微观经济学、Python、C++共10科,每科均涵盖:30小时直播正课 + 10小时助教课 + 完善课后练习体系 + 全程助教答疑 + 录屏超长保留2年,助力扎实掌握课程内容,顺利衔接大学学习。学术写作涵盖:12小时直播正课 + 10小时助教课 + 完善课后练习体系 + 3篇文章精批 + 全程助教答疑 + 录屏超长保留2年,助力增强写作能力,顺利衔接大学学习。感兴趣的同学们可以戳下方「阅读原文」,或添加下方小马甲微信可获取预排课表以及了解课程详情哦~