| 选课类别:专业任务 | 教学语言:双语 |
| 课程类别:通识必修课 | 开课单位:计算机科学与工程系 |
| 课程层次:本科 | 获得学分:3.0 |
比较依赖自学的一门课。
马老师讲课信息密度略低,但是也算比较细致了,人感觉非常好。
Project 挺好玩的,善用 AI 可以节省非常多工作量。
只给四颗星是因为缺勤了一次没签到,总评直接给我扣了两分,导致我错失 A+,十分可惜。
后来者注意这个课比较突如其来的签到,这个学期下半学期才开始签到。
本人此课一节没听,只拿 A 实属活该🙏
不用太惧怕英语授课,重点都会重新用中文复述一遍。
本学期 proj 是推箱子,调用游戏引擎有奇效。但是记得必须是 java 实现的游戏引擎。
考试就是基础知识大赏,反正我估摸着错了不少,通过看 ppt 应该能解决。
一节课没听,不能给后来者建议,致歉。
这门课需要自学不少内容,对计算机方面完全白板的同学不算友好,但如果是OI佬,这门课会相当简单(;
马老师人超好(只有80个人的教室却有100多人签到,是为什么呢),课上内容也会讲的比较细,但是有些地方不会太深。;
虽然是英语课,但是马老师会在重要的地方用中文复述,(并且讲段子只用中文;
期中做project,两人一组,项目贡献比可以由学生商议的,所以可以去抱紧大腿(也别太过分啊,会被老师否决的(比如只请另一位吃饭就拿50%的贡献;
还有就是,project找队友一定要谨慎啊!!!;
期末考试是闭卷笔试,题目较简单(与CSP-J/S初赛相比),基本课能理解就不会有什么问题;
rp++;
马老师讲课很幽默,虽然是英文授课但是还是会用中文重复一遍的,相当于划重点了。
作业及时交、抽查的几次考勤都在,project满足基本需求就能收获相当可观的平时分了。(当然期末考试还是有一定难度的,想要高分还是要好好复习的)
最重要的是project要主动一点
如果你有一定的自学能力,这门课非常推荐。你将收获满满!
| 评价维度 | 关键 |
|---|---|
| 课程内容 | 东西很杂。涵盖编程语言的方方面面。为什么选择Java作为CS prerequisite ,据说是因为比较好实现GUI。 前面的内容都是一些编程语言基础,后面的内容就以面向对象为主了。 GUI学得很晚,这一部份对于project 很重要,得自学。 |
| 教学方式 | 上课会演示代码,所以理论课也要带电脑。 前半节课难度不高, |
| 教师能力 | 授课是否清晰? 是否需要答疑?解答是否清晰? 在 domain 里有何地位?根据这一地位,所教授的内容是否关联学科前沿? |
| 负荷 | 还好, |
| 考核方式 | 10分考勤——马老师不严格考勤,有签到;lab课每次都会考勤。 20分project——用java实现一个小游戏,找队友是关键。虽然我和队友都是零基础的,但最后也拿了90分,重点是沟通。 30分作业,千万别赶deadline,在丰富的测试工具的帮助下,感觉难度显著降低了。 40分期末考试,这部分内容很多人觉得八股和陌生,我觉得还行,这些内容在lab课应该已经做过很多次了,而且现在期末考试简单题目分值变高,填空题已经不考察异常处理了,没有那些边角料情况,难度并不算大。 我觉得只要平时lab和assignment都没完全靠AI,取得一个高分并不算难。 |
| 课堂氛围 | 我那节课有几个非常活跃的人天天乱叫,题一些很无聊的问题,马老师也不管管(😅) |
| 资源支持 | project有demo,但是那个demo不好用,得自己重构。 |
| 学习收获 | 收获不小。面向对象的思维挺有用的。 project怎么合作,怎么沟通,都是从这里开始的,让两个小白也收获了不错的分数。 |
| 公平性 | project 的 contribution ratio算法有点离谱,这不是强迫强的和强的组队,弱的和弱的组队吗,感觉不是太灵活。 |
| 推荐指数 | 对于后续计算机系的学习价值还是挺大的。来选吧,并不算特别难,还没有期中考试。 |
| 受众 | 上面对选课提到了我提供一个新的角度吧。 如果你后续不打算学更多计算机课程的话,那这门课是绝对不适合你的,因为这门课程起到了一个入门作用,很多内容都是为了后续铺垫的;这门课的内容本身并不完整。 |
| Fun Fact & Hint | 上课有不少冷笑话。 关于project,有学长自制的“高分指南”里,建议做project时直接放弃面向对象原则,感觉这样就本末倒置了,不建议这么做。 记得加互助课堂的qq群。 |
说实话,这门课程自学含量太高。
考虑到给我向上取整到A+了,给个9分吧。
Project的贡献比制度有很大的漏洞。贡献比由学生商议,但是老师可以否决。这就导致不能为了团队牺牲。
一个很强的搭配一个很弱的,为什么不能让很强的那个独自完成呢?
我感觉这门课程可以讲更多的内容,既然是英文授课,为什么要再用中文重复一遍呢?
因为自己有一点OI基础,所以来选JavaA试试水。
不知道为什么25fall选这门课的同学好多,投了好多分才选上。
5% 理论课考勤(25fall采用在倒数第二节课课间5min左右之内给老师发自己坐在哪的邮件的方式,且突如其来,好像有同学没来被扣分了😳)
10% 实验课考勤(写签到题)
25% 作业(共5次,每次4-5题)
20% Project
40% 期末考试
马老师的讲课语气很平淡,基本没什么波澜,不过中间会穿插一些小幽默和冷笑话(如果get到的话真的非常好笑哈哈哈哈哈哈)
讲课的过程马老师会边敲代码边讲,不过感觉这门课的内容不多,所以理论课的信息密度比较低,有的时候可以忙点自己的事,期中之后忙忙Project也不错。
实验课相当于理论课的浓缩版,会讲一些理论课不讲的内容(枚举类),25fall的实验课有三个时段可供选择,点赞一波沈老师的实验课,十分耐心地帮debug🥳
实验课签到题大多数难度不是很高,基本熟练起来都可以有效地完成,如果发现实在做不出来的话也可以下周再交。
前两次作业基本可以无痛解决,第三次作业类似小型project(25fall是写停车计费系统)难度陡增,明显感到吃力,大概花了4-5个小时才全部解决(包括debug时间)。第四次和第五次作业也是类似小型project,但是无痛很多,解决很容易。
特别注意:不要提交非自己编写的代码,被查重后果很严重。
Project的工期长达半个学期,工作量奇大(挤占了我很多其他科目的时间和课余休息时间),需要做好充足的心理准备和物理准备。
25fall的Project是中国象棋,做之前老师会发一个光秃秃的demo版(基本什么功能都没实现而且美工一般),我和队友是在demo的基础上改成了自己的框架,用JavaFX重新做了美工。
寻找合适的队友非常重要,要提前联系好你的队友,找到一个一起合作的好队友相当于成功的一半。
Project的分数好像和以往相比改了,现在默认贡献比都是50%,双方可以协商。
Project很像过关斩将的过程,一个一个功能实现,基础分大部分很容易拿到,一个或者两个部分需要自己去思考怎么完成,相对不那么容易,最主要的还是各个功能之间的相互兼容问题。
Project的加分项而言,美工相对好做(重做绘图,背景音乐,动画等等,个人觉得JavaFX的效果要比swing好很多,建议同学们有必要可以学一下JavaFX),其他功能性的部分,比如人机,联网就需要花费很多时间了(可能大部分时间都在这上面),差不多做出三四个加分项就可以满分了,所以Project满分不是那么容易但也没有想象的困难。
期末考试并不是很难,但是相对八股,很套路,需要认真复习课上讲过的PPT,但是因为PPT量很多,信息密度低,所以更好的方式还是结合自己对于知识的理解,可以快速过PPT。
25fall的期末形式是判断,选词填空,选择题,写输出结果,手写代码五个部分,还有一个附加部分,整体而言比较好做,不会刻意难为同学们。
不论你是否意向计算机系,JavaA都是一门稳定且可以获得很大提升的计算机通识课。Project虽然会花费大量时间,但是真正做出属于自己的东西,成就感是不可比拟的,有编程或者OI基础的同学可以来选,无编程基础但是想挑战一下的话也可以冲。
首先声明,本人毫无编程基础(选这门课纯属是因为能符合大多系进系要求
最后 我觉得没啥基础的慎选!!(或者先自己看看网课)
马老师上课讲的还是比较细的,没讲清楚的老师后面可能会在群里补充或者录个视频来讲清楚。至于实验课,跟楼上那位一样给沈学姐点个赞。整体难度不高。
想吐槽的是Project部分,虽然没主动找队友的我自己也有问题,但是随机到的队友真的是摆过头了。下周就要考高数大雾的我居然还要为了Project焦头烂额,全都拜那位摆哥所赐。当然焦头烂额完以后的94%贡献度还是让人比较舒服的,但现在回想起来还是很生气啊喂。讲这一段的目的就是给后面的同学一点忠告,找队友要主动一点主动一点!!
老师挺好,课上也有拓展
特别点赞实验课老师沈昀