没有学过java和oop,如何写data structure作业和提升编程能力

LZ在一个还不错的学校读经管phd,但是看着这几年毕业的学长学姐找学术界工作越来越tough (基本只能去top50左右的公立或者去业界或者回亚洲任教),所以觉得得留个backup,于是开始考虑上学校的CS课。
之前的bg都是economics,本科上过introduction to CS, C语言,计算机网络, database (约等于CS没啥基础)。平时做empirical research都是用python和R,上过applied ML/DL之类的,但是感觉离科班出身的人还是差了不少。比如暑假找DS实习时候,发现OA经常做不出来,或者做的很慢
这个学期选了data structure,上周刚上第一节课,发现自己啥也听不懂,老师说原则上上这门课之前需要学过java, oop,有朋友知道这个如何自学吗?打开eclipse发现run一个现成的程序都不行,后来发现需要添加到path (python/r不需要这些,所以不太懂)。
LZ目前暑假准备在学校上一些fundamental cs课,后边准备再上一下本科生的oop/算法/nlp课

学过C++吗?只学过C确实理解oop有点吃力。

学java和这没关系

1 个赞

没 读本科时候想读econ phd,选的都是数学课方便申phd,后来逐渐接受现实,所以现在开始补了

数据结构跟oop没什么关系,所有的算法都能用python写

至于eclipse,首先你应该把它丢掉,换一个更有友好的IDE:jetbrains家的clion(for CPP), 和IDEA (JAVA)。LZ如果用过他们家的pycharm应该很好上手

5 个赞

学校图书馆有没有提供免费的 O’Reilly Learning 书库?有的话推荐这本书

3 个赞
2 个赞

不是应该直接刷力扣吗

1 个赞

好像学长学姐也说刷leetcode做OA会更有针对性一些

ds和语言没关系,纯算法的东西,不会java就用其他顺手的语言

提升编程能力最好方法是跟个demo项目,比如做烂了的XX管理系统,XX购物平台,都跟一遍你会对前后端、数据库有很直观的概念

2 个赞

目前我见过的案例,挺多只会刷题,其他基础不行的,很难找到工作。有个哥们儿刷了900+,但是很难找到工作。所以我觉得最起码还是应该有点基础,免得开口就露馅儿了,根本进不到要写算法题的阶段(oa之后)

2 个赞

推荐学一下伯克利的cs61b

1 个赞