Reality of CS Majors

bigboxSWE
17 Nov 202304:15

Summary

TLDR视频脚本讲述了计算机科学学位的现实情况,指出了学习过程中的挑战和困难。从基础编程课程到高级主题,如算法、数据结构和密码学,学生需要投入大量时间和精力。此外,还需要完成项目和实习,以获得实际工作经验。尽管过程中会遇到许多困难,如睡眠不足、社交活动减少和学业压力,但对于那些真正热爱编程和计算机科学的人来说,这是一条值得追求的道路。

Takeaways

  • 🎓 计算机科学学位的现实情况是,大多数学生并非天才,而是在不同国家和学校接受教育,学位的影响因素主要是学习地点。
  • 🚀 大学第一年通常学习计算机科学导论,主要教授编程基础,如变量、循环、函数等,常用编程语言包括Python、Java、C等。
  • 📚 编程入门课程也起到筛选作用,淘汰那些因为社交媒体影响而选择该专业的人。
  • 🎒 学生可能需要随身携带学生贷款和MacBook,有时甚至需要在纸上手写编程作业。
  • 📈 第一年除了编程课外,还需学习数学、科学或工程等相关的非计算机科学课程。
  • 🖥️ 第二年会接触更多计算机科学的其他主题,如计算机系统、计算逻辑、算法和数据结构等。
  • 🥺 随着学习深入,学生可能会牺牲睡眠、社交和健康,以适应高强度的学习压力。
  • 📊 数学课程难度会根据专业方向增加,包括离散数学、统计学、微积分和代数等。
  • 🔍 学生需要在学习之余,利用技术构建项目和刷LeetCode问题,以提高就业竞争力。
  • 🧠 随着课程的深入,学生将学习更高级的编程,如编译器设计、密码学、图形引擎开发等。
  • 🎯 最后一年通常涉及实际的Capstone项目,为真实公司构建项目,这可能包括处理困难的团队成员和高压的工作环境。
  • 🧠 学生还可以选择研究路线,深入学习机器学习、密码学或计算机视觉等领域。

Q & A

  • 计算机科学学位的现实情况是什么?

    -大多数人学习计算机科学并不是天才影响者在哈佛大学学习,你学位的最大影响因素在于你在哪里学习。有些国家提供3年、4年甚至5年的学位。在第一年,你会学习计算机科学导论,通常使用Python、Java或C语言教授编程基础。

  • 为什么说计算机科学导论课程是一个筛选过程?

    -计算机科学导论课程教授基本的编程技能,如变量、循环和函数,并解决常见的编程问题。这个课程更像是一个筛选过程,用来淘汰那些因为看到TikTok上的内容而选择该学位的人。

  • 在计算机科学学位的早期阶段,除了编程课程外,还需要学习哪些内容?

    -除了编程课程外,早期阶段的学习还包括数学课程和与专业不直接相关的科学或工程选修课程。这是因为成为一名软件工程师与获得计算机科学学位之间的关系,有点像通过化学学位成为厨师。

  • 在计算机科学学位的第二年,学生会接触到哪些新的主题?

    -第二年,学生会接触到其他计算机科学主题,如计算机系统导论(讲解计算机软硬件层面的工作原理)、计算逻辑或更著名的算法和数据结构课程。

  • 为什么说算法和数据结构课程是关于绘制圆圈和线条,以及玩Big O复杂度的Where's Waldo?

    -这个比喻是用来形象地描述算法和数据结构课程的内容,其中涉及到理解和应用不同数据结构的概念,以及分析算法性能的Big O复杂度。这可能看起来像是一个寻找隐藏信息的游戏,但实际上是在教授重要的计算原理。

  • 在计算机科学学位的学习过程中,数学课程的难度如何变化?

    -随着学位学习的深入,数学课程的难度会增加,根据专业方向,可能需要学习离散数学、统计学、微积分和代数等更高级的数学知识。

  • 在大学学位期间,为什么学生需要在学习和兼职工作之外,还要构建项目和解决LeetCode问题?

    -学生需要构建使用实际技术的项目,并解决LeetCode等平台上的问题,以便在求职时展示自己的技能,并获得软件工程师的工作。

  • 在计算机科学学位的后期,学生会接触到哪些更高级的编程任务?

    -在学位的后期,学生会接触到更高级的编程任务,如创建编译器、密码学入门、可能还会尝试构建图形引擎等。

  • 计算机科学课程中的选修课程有哪些类型?

    -选修课程可以是任何类型,从完全无用到只是令人痛苦,这取决于学生选择学习的内容。

  • 在学位的最后一年,学生会进行哪些实践性的工作?

    -在最后一年,学生会进行更多实践性的工作,如为实际公司构建项目,这些通常被称为顶峰项目(Capstone projects)。

  • 学生在顶峰项目中可能会遇到哪些挑战?

    -在顶峰项目中,学生可能会遇到无用的队友、无偿加班、不关心的主管以及交付一个半成品的挑战。

  • 如果学生对计算机科学感兴趣并希望在毕业后找到相关工作,他们应该如何准备?

    -如果学生对计算机科学感兴趣并希望在毕业后找到相关工作,他们应该努力学习编程,对计算原理有深入的理解,并通过实习、项目和解决LeetCode问题等方式积累实践经验。

Outlines

00:00

🎓 计算机科学学习现实

本段讲述了大多数计算机科学学生并非天才或名人,而是受到所在学校影响极大的普通学生。介绍了计算机科学学位的基本构成,包括第一年的基础编程课程,如Python或Java,以及一些基础的编程技能,如变量、循环和函数。同时,也提到了学生在学业、贷款、设备等方面的压力,以及教育系统中存在的问题,如学生需要在不使用电脑的情况下完成编程作业等。

📚 计算机科学课程概览

这一部分详细介绍了计算机科学学位课程的内容,包括第一年的基础课程和后续几年的深入学习。提到了诸如计算机系统、计算逻辑、算法和数据结构等课程,以及学生在这些课程中可能会遇到的困难,比如缺乏睡眠、社交活动和健康问题。同时,也强调了学生需要在学业和兼职工作之间保持平衡,以及为了获得技术雇主所需的技能而进行的项目构建和代码问题解决。

🚀 深入计算机科学领域

在这一部分中,讲述了学生在计算机科学领域的深入学习,包括创建编译器、密码学、图形引擎等内容。强调了这些高级编程技能对于未来工作的重要性,并且提到了学生在大学期间需要处理的各种课程,包括一些可能看起来不那么有用的选修课。此外,还提到了学生在学位后期可能选择的研究路线,如机器学习、密码学或计算机视觉等。

🎉 计算机科学学位的成果与挑战

最后一部分讨论了学生在完成计算机科学学位后可能面临的挑战和成果。提到了学生在完成学位后可能会经历的困难,如找不到工作、债务问题和过度资格化。同时,也提到了那些坚持下来并热爱编程和计算机科学的学生,他们将有机会在毕业后获得更多的生活和工作机会。最后,提到了赞助商brilliant.org,这是一个帮助人们学习数学和科学基础概念的应用和网站。

Mindmap

Keywords

💡计算机科学

计算机科学是一门研究计算机及其应用的学科,涉及编程、算法、数据结构、计算机系统等多个领域。在视频中,计算机科学是主要讨论的对象,描述了学习该专业的经历和挑战。

💡编程基础

编程基础是计算机科学中的入门课程,主要教授如何使用编程语言编写代码,包括变量、循环、函数等基本概念。它是学习计算机科学的重要起点。

💡算法和数据结构

算法和数据结构是计算机科学的核心技术之一,涉及如何高效地组织和处理数据,以及设计解决问题的步骤和方法。它是提高编程能力和解决复杂问题的基础。

💡计算机系统

计算机系统是指由硬件和软件组成的计算机的整体结构和工作原理。了解计算机系统的工作原理有助于更深入地理解软件开发和硬件交互。

💡数学课程

数学课程在计算机科学教育中占有重要地位,因为许多计算机科学概念和问题解决策略都需要数学知识作为基础。

💡项目经验

项目经验是指在实际工作中使用技术解决问题的经验。对于计算机科学专业的学生来说,通过完成项目可以提高实践能力和技术应用水平。

💡实习经历

实习经历是指在学习期间在公司或组织中进行的短期工作经历,它可以帮助学生了解职场环境,积累工作经验。

💡编程语言

编程语言是用于编写计算机程序的标准化通信代码,它允许开发者向计算机发出指令。在计算机科学教育中,学习不同的编程语言是非常重要的。

💡学习资源

学习资源是指用于辅助学习的各种材料和工具,如教科书、在线课程、教育应用程序等。优质的学习资源可以帮助学生更有效地掌握知识和技能。

💡职业发展

职业发展是指个人在职业生涯中的进展和成长,包括技能提升、职位晋升和行业认可等方面。对于计算机科学专业的学生来说,职业发展是一个长期且持续的过程。

Highlights

计算机科学学习并非人人都是天才或在哈佛等名校学习,学位的最大影响因素在于你在哪里学习。

一些国家的计算机科学学位可能是三年、四年甚至五年制。

第一年你会学习计算机科学导论,这门课程主要教授编程基础。

编程基础通常使用Python、Java、C等语言进行教学。

计算机科学导论课程的目的是筛选掉那些因为看到TikTok而选择该专业的人。

在这门课程中,你将学习基础的编程技能,如变量、循环、函数,并解决常见的编程问题。

根据你所在的学校,你可能需要携带学生贷款和MacBook,有时甚至需要在纸上编写程序。

除了编程课程,你的课程表还将充满数学课和与专业无关的科学或工程选修课。

如果你能坚持到第二年,你将接触到更多计算机科学的其他主题,如计算机系统、计算逻辑、算法和数据结构。

随着你深入学习,你将不得不牺牲睡眠、社交和身心健康,以适应高强度的学习压力。

数学课程的难度将根据你的专业方向增加,包括离散数学、统计学、微积分和代数。

在学习的同时,你还需要构建雇主实际使用的技术项目,并解决LeetCode问题以获得工作机会。

随着你向学位迈进,你将开始进行更高级的编程,如创建编译器和学习密码学。

在处理深入的计算理论的同时,你还需要保持对选修课的关注,这些课程可能是有用或痛苦的。

在最后一年的学习中,你将进行更多的实践工作,如为实际公司构建项目,这些通常称为顶峰项目。

顶峰项目可能会让你体验到实际软件工程的挑战,包括无用的队友和无偿加班。

你也可以选择研究路线,深入学习机器学习、密码学或计算机视觉。

如果你在大学毕业后仍然对编程充满热情,并且对计算感兴趣,那么你将能够成功应对未来的挑战。

视频还提到了赞助商brilliant.org,这是一个应用程序和网站,旨在帮助人们轻松学习数学和科学的基本概念。

brilliant.org使用目标驱动的学习方式,为忙碌的人提供简洁直观的课程。

Transcripts

play00:00

so the reality for most of us studying

play00:02

computer science is that we're not

play00:03

genius influencers studying at Harvard

play00:06

the biggest influence on your degree is

play00:07

where you study some countries have a 3

play00:09

four or even 5year degree in your first

play00:11

year you'll have intro to computer

play00:13

science which is where you learn

play00:14

programming fundamentals this is

play00:15

normally taught in python or Java but

play00:17

sometimes even in C or list this class

play00:19

is more of a weeder to get rid of the

play00:21

people that chose their degree off Tik

play00:23

Tok you learn a lot of basic programming

play00:24

skills like variables loops and

play00:26

functions and do common coding problems

play00:28

depending on where you study you're

play00:30

going to have to keep your student loan

play00:31

finan MacBook in your backpack because

play00:33

you may have to write your programming

play00:35

assignments on pen and paper showing how

play00:37

awesome are current education system is

play00:39

another class is intro to programming

play00:41

paradigms like functional or

play00:42

objectoriented which are just outdated

play00:44

styles of programming because real

play00:46

production level code is spaghetti react

play00:48

and that's all the coding for your first

play00:49

year because the rest of it is filled

play00:51

with math classes and unrelated

play00:53

mandatory science or engineering

play00:54

electives that's because becoming a

play00:56

software engineer from a CS degree is

play00:58

kind of like becoming a chef from a

play00:59

chemistry degree if you've made it this

play01:01

far into your degree without switching

play01:02

to a business major or starting an only

play01:04

fans account your second year will be an

play01:06

intro to other CS topics like intro to

play01:08

computer systems which is about how

play01:10

computers work from the software to the

play01:12

hardware level or introduction to

play01:13

computational logic or more famously

play01:15

algorithms and data structures which is

play01:17

a class about drawing circles and lines

play01:19

playing where's Waldo with Big O

play01:21

complexity and maybe writing a little

play01:22

bit of code at this point in your

play01:24

college career you can forget about

play01:25

things like sleep partying friends or

play01:28

mental and physical health and get used

play01:29

to listening to the soothing voice of

play01:31

abduli while chugging Red Bull and

play01:32

eating Mig Goring the math also gets

play01:34

harder depending on your specialization

play01:36

you'll have to do discreet math

play01:38

statistics calculus and algebra and

play01:40

they'll definitely come in handy at your

play01:41

day job while you're spending 40 to 60

play01:43

hours on your University degree and

play01:45

potentially working a part-time job

play01:46

you're also going to need to build

play01:48

projects with technology employers

play01:49

actually use as well as grinding leak

play01:51

code problems to actually get the job

play01:53

only for your inbox to be filled with

play01:55

these now if you've made it this far to

play01:56

your degree without getting a therapist

play01:58

you'll notice the classes start getting

play01:59

emptier and the kid with the arch linic

play02:01

ThinkPad is officially working at Google

play02:03

you'll also start forgetting your

play02:04

fundamentals from the lack of sleep and

play02:06

your only social interaction being with

play02:08

this guy now while you're grinding your

play02:09

unpaid internship and failing the online

play02:11

hacker rink assessments from no-name

play02:13

companies your computer science classes

play02:15

start throwing you into the deeper end

play02:16

of the swimming pool you'll now do more

play02:18

big boy coding like creating compilers

play02:20

for your own programming language

play02:21

introduction to cryptography which is

play02:23

just more math disguised as programming

play02:25

you might also be building a graphics

play02:27

engine and learning all this makes using

play02:28

C at your jobs so much more easy while

play02:31

juggling deep Computing Theory you'll

play02:33

have to stay on top of your electives as

play02:35

well which can be anything from

play02:36

downright useless to just painful

play02:38

depending on what you choose to study in

play02:39

your final year you'll be doing more

play02:41

Hands-On work like building a project

play02:42

for an actual company on behalf of the

play02:44

University these are normally called

play02:46

Capstone projects and if you haven't had

play02:48

an internship so far this will give you

play02:50

the greatest experience for reif

play02:52

software engineering like completely

play02:53

useless teammates that disappear for the

play02:55

year or working unpaid overtime for

play02:57

supervisors that don't care and

play02:58

delivering a half bit a barely working

play03:00

product you can also go down the

play03:02

research route and dive deeper into

play03:03

machine learning cryptography or

play03:05

computer vision but let's face it you

play03:06

studied computer science for Life After

play03:08

University which is watching other

play03:10

people get into Fang spending all your

play03:12

time stressing out over not getting a

play03:13

job while being the most overqualified

play03:15

Burger flipper now if this video doesn't

play03:17

stop you from getting a CS degree nor

play03:19

does the thousands of dollars of debt

play03:20

and you genuinely enjoy programming and

play03:22

are fascinated by Computing good luck

play03:24

you're on your

play03:25

own now a word from our sponsor

play03:28

brilliant.org brilliant is an app and

play03:30

website that makes it easy to learn

play03:32

fundamental concepts in math and science

play03:34

brilliant uses a goal-driven learning

play03:36

approach that is completely tailored for

play03:38

you it's also designed for busy people

play03:40

lessons are concise and intuitive while

play03:42

packing great fundamental concept if I'm

play03:44

on the train and I want to do something

play03:45

productive I can just open up brilliant

play03:47

and have a quick lesson on astrophysics

play03:49

brilliant also offers multiple methods

play03:50

of reinforcement learning such as

play03:52

quizzes puzzles and experiments these

play03:54

fundamental concepts get deeply

play03:56

ingrained don't believe me you can get

play03:58

started with brilliant for free for 30

play04:00

days and the first 200 people to sign up

play04:02

with my link get 20% off that's

play04:04

brilliant.org bigbox Suite please check

play04:07

them out and thank you so much to

play04:08

brilliant for sponsoring this video and

play04:10

thank you for your time I am big

play04:14

box

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
编程基础学习挑战教育系统数学课程项目实践实习经历理论深化职业准备技术行业学习资源
Benötigen Sie eine Zusammenfassung auf Englisch?