这门课的名字叫做计算机程序设计基础。我常常强调其中的一个词:设计。设计这个词,常常用在像服装设计、广告设计、或者像室内设计等等,“指的是把一种设想通过合理的规划、周密的计划、通过各种方式表达出来的过程”。程序也需要设计,但正是因为它是一种设计,所以它并没有标准答案,不过还是有它的衡量标准:准确(accurate)和高效(efficient)。这门课是计算机基础课,所以并不要求高效这一点,但是准确这一点绝对是这门课的需求,你设计的程序至少应当准确完成其应该做到的任务。
更多的,你们还会接触到面向对象编程的设计思想,学会类的继承多态封装。在这个阶段,希望大家也能多问问自己为什么。例如:这样的特性的优点是什么?为什么我们用它?为什么我们不用它?
希望同学们在学完这门课之后,可以熟练运用Java这门语言,并掌握面向对象的程序设计思想。
Please enjoy!
-
多尝试,少纸上谈兵
- “计算机是一名做中学的学科,不是会了再做,而是做了才会”
-
要学会适当地囫囵吞枣
- 1+1=2大家幼儿园就知道,但是我想大部分同学都不知道怎么证明1+1=2吧。同理,在初学编程时,不需要死挖深挖,重在记住怎么做就行。比如
System.out.print
可以打印一句话,至于它怎么做到的,对于初学者的你们并不重要,就像我们从来不让小学一年级的同学们学习为什么1+1=2。
- 1+1=2大家幼儿园就知道,但是我想大部分同学都不知道怎么证明1+1=2吧。同理,在初学编程时,不需要死挖深挖,重在记住怎么做就行。比如
-
杜绝一直死记硬背,摸到套路才是重中之重
- 开始的时候确实得死记下来一些语句、用法
- 继续摸清楚各种用法的相同之处,提炼一些常用“定式”
- 熟练运用上述“相同之处”和“定式”,你会发现你看得懂更多代码了!
-
学会用计算机的方式思考问题
- 计算机能做到什么?
- 基础指令(比如
System.out.println("hello world");
等) - 按照既定的顺序执行这些指令
- 基础指令(比如
- 你们需要掌握的到底是什么?
- 清楚理解这些基础指令的具体效果
- 学会如何排列组合(这就是编程!)这些基础指令,去达到你想要的目的
- 计算机能做到什么?
-
理论与实践并行
- 理论课:学习有哪些基础指令,学习一些奇怪的输出结果是为什么,学习计算机是怎么“存储”世界的
- 实验课:用指令!尝试能不能做到你想做的事情呢?
-
jdk8(Windows):https://dl.cra.moe/download/Java/Oracle-JDK/jdk-8u271-windows-x64.exe
-
jdk8(MacOS):https://dl.cra.moe/download/Java/Oracle-JDK/jdk-8u191-macosx-x64.dmg
-
jdk11(Windows):https://dl.cra.moe/download/Java/Oracle-JDK/jdk-11.0.1_windows-x64_bin.exe
-
Intellij IDEA(Ultimate)(Windows)(最终版,功能齐全,但需要教育邮箱认证。南方科技大学的同学可以使用自己的邮箱认证哦~):https://dl.cra.moe/download/JetBrains/IDEA/ideaIU-2020.2.1.exe
-
Intellij IDEA(Community)(Windows)(社区版,无需认证但有些功能没有):https://dl.cra.moe/download/JetBrains/IDEA/ideaIC-2020.2.1.exe
-
Intellij IDEA(Ultimate)(MacOS):https://dl.cra.moe/download/JetBrains/IDEA/ideaIU-2020.2.1.dmg
-
Intellij IDEA(Community)(MacOS):https://dl.cra.moe/download/JetBrains/IDEA/ideaIC-2020.2.1.dmg
- Intellij IDEA:在后面这个页面选择对应的操作系统和想要下载的版本就好了,https://www.jetbrains.com/idea/download/
- jdk8:Java Archive Downloads - Java SE 8 (oracle.com) 请在这个页面寻找,需要注册一个oracle账户才行哦
ps:上述链接本人均未测试是否有效,若有误请帮忙指正,谢谢!