一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1675|回复: 9
收起左侧

初学者求教:该继续跟什么公开课?

[复制链接] |试试Instant~ |关注本帖
neverdies 发表于 2015-6-22 09:27:41 | 显示全部楼层 |阅读模式

[其他]any #1 - 2015-06-21@any

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
大家好,我正在自学CS, 最近比较迷茫。。。

我本科硕士都不是CS且非CS相关的,本科时候的CS背景就是必修的C语言的简单的循环,连指针都不会编程序来写,只会定义可以应付一下理论期末考试,没做过project..
我是从今年3月左右开始自学CS的,因为我本身是full-time RA而且还要上课,所以时间也不是很多
自己很认真地学完了CS61B, 跟视频,抄笔记记了大几十页,10个HW, 因为水平实在有限,3个proj没有做
这个过程是很痛苦的, 一般一个作业写个十个小时也是常事,因为我完全没有CS的素养,很简单的问题都完全没思路,这个时候会借助一下github上别人的代码,了解一下思路,不过看完后会马上关掉,然后完全自己实现。可能做到第7,8个HW的时候稍微有点感觉了,不会连怎么构造constructor里面应该写啥都不知道

学完CS61B之后已经到五月了,因为下学期有门课是用Python的,我想就先学习一下。
于是跟了Coursera上的introduction to interactive programming in python(Part 1)入门一下Python, 不过当时课程已经结束了,所以我是看的课程资料,不过好在HW都能提交,然后mini-project本身就是互评的模式,所以我自己对照着也能改。可能刚学了Java, 所以学这个觉得比较简单,学完之后想接着看Part 2, 可是Coursera上还没有放出来,所以没办法继续跟。
然后到了五月下旬, 出了Principal of Computing, 是introduction to interactive programming in python的后续课程,不过是默认已经学完了Part 1&2, 因为我没学Part 2, 所以有些它默认我已经会的知识比如dictionary, set, tuple , for 循环的写法等等我还不会,不过因为本身Python不难,所以在遇到不会的时候现查一下还是可以解决。不过这次的mini-project明显变难了很多,但是还在接受范围,所以跟着五个星期也学完了(今天刚交完最后一个mini-project XD)


以上大概就是我的基础了,不好意思,啰嗦了一大堆。
关于以后呢,我保留读完现在的硕士之后再读CS硕士的可能,因为其实我发现我上手挺快的,而且连续编程完全不枯燥,也有可能做本行业与类似模拟编程相关的工作(我隔壁实验室就是专门开发我们行业的计算软件的。。。)


最近Princeton的Algorithms又开课了, 我现在有点纠结要不要是继续学Java还是专心学Python?
因为虽然学了CS61B, 但我对自己写的代码很不自信,毕竟是初学,现在回去看着都炒鸡烂,而且test case比较少,可能会有没考虑的边界条件(比如我跟着Coursera常有自己跑完看着差不多了,结果一上交只有60分的情况TT)。 不过也有人建议我继续深入学Python, 因为本身对于初学者来说学两门语言就比较负担大,我没有整块的时间,暑假现在也是full time RA。

不知道大家有什么建议,如果是继续学Python的话,有什么推荐的后续课程么?
感谢看完我的一大堆碎碎念,谢谢!

评分

2

查看全部评分

love1point 发表于 2015-6-22 09:53:48 | 显示全部楼层
在美国,能java尽量java?
回复 支持 反对

使用道具 举报

liusicong999 发表于 2015-6-22 11:15:51 | 显示全部楼层
跟LZ的情况一模一样!现在也是在读ms,准备再读cs ms,也在跟cs 61b, 能否跟LZ私信交流?!比如qq
回复 支持 反对

使用道具 举报

pyx115 发表于 2015-6-22 11:42:06 | 显示全部楼层
本帖最后由 pyx115 于 2015-6-22 11:44 编辑

学编程语言的话,在了解基本语法之后,再想要提高,主要是靠多写多用,而不是上课。

我理解的话是lz目前属于已经学了Java和Python但是觉得还不熟练的程度?这样的话其实不用在专门上语言的课了,主要是要多用。

比如上算法和数据结构的课,可以用Java和Python来分别写,最开始的时候两种语言写出来基本没有差别,这时候就要试着运用不同语言的特性,好处是一来可以增强对算法和数据结构的记忆(等于多做一遍题),二来对两门语言理解会更加深入。

比如Python里面的list对很多题目来说比Java的array好用,但是有的时候固定数组容量反而不适合某些题目。比如Python的built-in functions like reversed(),map( ), reduce( ),或者像一个函数返回多个结果,用Java写可能就要多写很多代码。同时用两门语言会比单纯用一门语言长进快得多。
所以同时用两门语言我觉得是可行的选择。

评分

4

查看全部评分

回复 支持 反对

使用道具 举报

wowmomsos 发表于 2015-6-22 13:46:10 | 显示全部楼层
楼主本科硕士都不是CS的,自学这个是为了找工作吗?
如果是的话,建议学java。
回复 支持 反对

使用道具 举报

 楼主| neverdies 发表于 2015-6-22 21:23:05 | 显示全部楼层
pyx115 发表于 2015-6-22 11:42
学编程语言的话,在了解基本语法之后,再想要提高,主要是靠多写多用,而不是上课。

我理解的话是lz目前 ...

好的 谢谢建议! 的确因为多编写一些程序~  我会继续学Algorithms加强对算法的理解和实现
回复 支持 反对

使用道具 举报

j_jessica 发表于 2015-6-24 00:28:15 | 显示全部楼层
同是非CS出身~现在正在跟着CS61B学习~
我和楼主相反,是先学了一点Python,后来感觉Python即使作为一个skill,应该是辅助性质的,主要技能还是应该focus在Java或者C++,所以转学Java。以前学的Python不用很快就生疏了。所以楼主如果和我一样,都没有很好的CS基础,只是自学,如果不强化多编程练习,学的编程语言很快会生疏。同时练习两种语言对我来说负担比较大,我现在订的目标就是专心学Java,先跟着CS61B学,以后再用Java学习一些高级课程(现在还没想好上什么,但肯定是继续强化Java,不会学习其他语言,贪多嚼不烂)或者开始刷题、找project做之类。宁愿会一种很熟的语言,也不要会几种不熟的语言。

评分

2

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| neverdies 发表于 2015-6-24 01:43:52 | 显示全部楼层
j_jessica 发表于 2015-6-24 00:28
同是非CS出身~现在正在跟着CS61B学习~
我和楼主相反,是先学了一点Python,后来感觉Python即使作为一个s ...

感谢回复, 我现在已经听从建议,在跟着普林的算法啦。 的确有这种感觉,但是Java学的要死要活,两个月没用又有点忘记了。。。 所以还是好好多练习吧,我之所以中间学Python 是因为下学期选的一门machine learning的课是用Python来讲的 我想提前熟悉一下~  现在看来还是暑假自己好好学Java, 等那门课开始了再继续用Python写了 加油加油
回复 支持 反对

使用道具 举报

jy_121 发表于 2015-6-24 20:28:38 | 显示全部楼层
同样转cs,前些日子也是跟CS61B,10个Homework都做完了,也是project没做。最近开始做lintcode里简单的题了
回复 支持 反对

使用道具 举报

晓梦殇 发表于 2015-7-13 01:36:10 | 显示全部楼层
What?大牛你怎么去学cs了。。。。。。。。。。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-3 10:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表