计算机程序设计基础

(马昱欣)CS1092025秋 2024秋 2023秋 2022秋  
2025秋 2024秋 2023秋 2022秋
9.3(14人评价)
  • 课程难度
    中等
  • 作业多少
    中等
  • 给分好坏
    超好
  • 收获大小
    一般
选课类别:专业任务 教学语言:双语
课程类别:通识必修课 开课单位:计算机科学与工程系
课程层次:本科 获得学分:3.0
课程主页:暂无(如果你知道,请点右上角“编辑课程信息”添加!)
点评写点评
排序学期
评分评分14条点评
user avatar   Xiao_La     2025秋
  • 难度:简单
  • 作业:很少
  • 给分:一般
  • 收获:一般

比较依赖自学的一门课。

马老师讲课信息密度略低,但是也算比较细致了,人感觉非常好。

Project 挺好玩的,善用 AI 可以节省非常多工作量。

只给四颗星是因为缺勤了一次没签到,总评直接给我扣了两分,导致我错失 A+,十分可惜。

后来者注意这个课比较突如其来的签到,这个学期下半学期才开始签到。

user avatar   byvaT     2024秋
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

本人此课一节没听,只拿 A 实属活该🙏

不用太惧怕英语授课,重点都会重新用中文复述一遍。

本学期 proj 是推箱子,调用游戏引擎有奇效。但是记得必须是 java 实现的游戏引擎。

考试就是基础知识大赏,反正我估摸着错了不少,通过看 ppt 应该能解决。

一节课没听,不能给后来者建议,致歉。

user avatar   Neil     2024秋
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:一般

这门课需要自学不少内容,对计算机方面完全白板的同学不算友好,但如果是OI佬,这门课会相当简单(;

马老师人超好(只有80个人的教室却有100多人签到,是为什么呢),课上内容也会讲的比较细,但是有些地方不会太深。;

虽然是英语课,但是马老师会在重要的地方用中文复述,(并且讲段子只用中文;

期中做project,两人一组,项目贡献比可以由学生商议的,所以可以去抱紧大腿(也别太过分啊,会被老师否决的(比如只请另一位吃饭就拿50%的贡献;

还有就是,project找队友一定要谨慎啊!!!;

期末考试是闭卷笔试,题目较简单(与CSP-J/S初赛相比),基本课能理解就不会有什么问题;

rp++;

user avatar   chy     2024秋
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

马老师讲课很幽默,虽然是英文授课但是还是会用中文重复一遍的,相当于划重点了。

作业及时交、抽查的几次考勤都在,project满足基本需求就能收获相当可观的平时分了。(当然期末考试还是有一定难度的,想要高分还是要好好复习的)

最重要的是project要主动一点

user avatar   麻烦一场空     2024秋
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

如果你有一定的自学能力,这门课非常推荐。你将收获满满!

user avatar   steady_learner     2024秋
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

 

 

评价维度关键
课程内容东西很杂。涵盖编程语言的方方面面。为什么选择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的贡献比制度有很大的漏洞。贡献比由学生商议,但是老师可以否决。这就导致不能为了团队牺牲。

一个很强的搭配一个很弱的,为什么不能让很强的那个独自完成呢?

我感觉这门课程可以讲更多的内容,既然是英文授课,为什么要再用中文重复一遍呢?

 

 

user avatar   John     2025秋
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

收获最大的一门课

因为自己有一点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

Project的工期长达半个学期,工作量奇大(挤占了我很多其他科目的时间和课余休息时间),需要做好充足的心理准备和物理准备。

25fall的Project是中国象棋,做之前老师会发一个光秃秃的demo版(基本什么功能都没实现而且美工一般),我和队友是在demo的基础上改成了自己的框架,用JavaFX重新做了美工。

寻找合适的队友非常重要,要提前联系好你的队友,找到一个一起合作的好队友相当于成功的一半。

Project的分数好像和以往相比改了,现在默认贡献比都是50%,双方可以协商。

Project很像过关斩将的过程,一个一个功能实现,基础分大部分很容易拿到,一个或者两个部分需要自己去思考怎么完成,相对不那么容易,最主要的还是各个功能之间的相互兼容问题。

Project的加分项而言,美工相对好做(重做绘图,背景音乐,动画等等,个人觉得JavaFX的效果要比swing好很多,建议同学们有必要可以学一下JavaFX),其他功能性的部分,比如人机,联网就需要花费很多时间了(可能大部分时间都在这上面),差不多做出三四个加分项就可以满分了,所以Project满分不是那么容易但也没有想象的困难。

关于期末

期末考试并不是很难,但是相对八股,很套路,需要认真复习课上讲过的PPT,但是因为PPT量很多,信息密度低,所以更好的方式还是结合自己对于知识的理解,可以快速过PPT。

25fall的期末形式是判断,选词填空,选择题,写输出结果,手写代码五个部分,还有一个附加部分,整体而言比较好做,不会刻意难为同学们。

总结

不论你是否意向计算机系,JavaA都是一门稳定且可以获得很大提升的计算机通识课。Project虽然会花费大量时间,但是真正做出属于自己的东西,成就感是不可比拟的,有编程或者OI基础的同学可以来选,无编程基础但是想挑战一下的话也可以冲。

user avatar   匿名用户     2024秋
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

首先声明,本人毫无编程基础(选这门课纯属是因为能符合大多系进系要求

  • 先说大课   马老师讲的其实挺好的,一般一边敲代码一边讲知识点,比较容易理解。语言上也不用担心,马老师的英语完全能听懂,也会用中文重复一遍重要的东西。但是,因为我没啥基础,到了类与对象那一部分,光听大课已经不足以战胜作业了,这个时候赶紧去看网课,还好最后都弄明白了
  • 其次lab课   沈姐姐超好的!平常的ppt会加一些很典型的代码让我们判断结果,也会画一些内存图方便理解。作业有好几个点实在过不了了,lab课去找她,沈姐姐会比较耐心地去帮你debug的!
  • 作业   作业其实不算太多,都是给你要求你去写代码,六次作业均匀分布在整个学期,最后也不会跟期末考试和lab课打架。我做的还是挺慢的吧,没怎么找GPT,但是自己敲完了成就感和收获都挺多的,写完了很多知识点也就懂了
  • project  这个我给不了啥建议,实话说这个比作业还令我头大,很多东西都要自己学。就是很感谢我的队友,我们俩开始弄project比较早,每周商量一次,推进一些,这样最后也没怎么熬大夜,反正他分配啥任务我就去干。
  • 考试     这个我可以给点建议  首先只要平常认真写作业基本的东西肯定已经懂了,这样最后手写代码的题就不是问题了。考前复习把PPT全过一遍,熟悉英文单词,还有一些定义性质啥的。我最后刷了四套题,找到一些大大小小的问题,感觉适当做点题是有用的。那个给代码填结果的题,不会就自己跑一遍看看结果,然后举一反三,把一些地方改改(特别是继承的动态绑定,计算符的优先级),再跑一遍。
  • 最后 我觉得没啥基础的慎选!!(或者先自己看看网课)

     

user avatar   Chaos_Z     2023秋
  • 难度:简单
  • 作业:中等
  • 给分:超好
  • 收获:很多

马老师上课讲的还是比较细的,没讲清楚的老师后面可能会在群里补充或者录个视频来讲清楚。至于实验课,跟楼上那位一样给沈学姐点个赞。整体难度不高。

想吐槽的是Project部分,虽然没主动找队友的我自己也有问题,但是随机到的队友真的是摆过头了。下周就要考高数大雾的我居然还要为了Project焦头烂额,全都拜那位摆哥所赐。当然焦头烂额完以后的94%贡献度还是让人比较舒服的,但现在回想起来还是很生气啊喂。讲这一段的目的就是给后面的同学一点忠告,找队友要主动一点主动一点!!

user avatar   nuxiak     2023秋
  • 难度:中等
  • 作业:很多
  • 给分:一般
  • 收获:很多

老师挺好,课上也有拓展

特别点赞实验课老师沈昀


teacher avatar

马昱欣

计算机科学与工程系

教师主页

其他老师的「计算机程序设计基础」课

马昱欣老师的其他课