最近看了哈佛大学David主讲的计算机科学入门,给我一个最大的感受是计算机编程语言真的不重要,重要的是编程者的思想。

1、同一个问题可以就Scratch解决,也可以用C,用Python,用JavaScript 解决,只是语法特性不一样而已。

2、当你在集中精力用某一编程语言时,自然而然的只会关注该语言的特性,而编程思路是一样的。

3、不必过多关注底层细节,函数库由前人已经封装好了,知道怎么用就行了。

4、大部分你不会的函数功能都可以猜出来,见名知义,同时也可以用几组测试数据输入,看看输出是什么,后知后觉,然后再记住该函数的功能。

5、程序运行不是你预期的结果,那肯定是你的错,计算机很傻,很笨,很精确,他是不会出错的,你要他干嘛就干嘛。

最近也在学习C和PHP、JavaScript,不用过多关注语法细节,重要的是思想,牢记这一点解决了我以前的许多疑惑。

以前在大学里面是学过许多编程语言,C、C++,Java,C#,ASP,PHP,JS.

但是每次学习都是只学习了基础语法部分,由于各种原因就没有继续学习下去了,现在看来自己学习的那种所谓的几种编程语言,其实换汤不换药,我都学习一些重复的东西,过多的关注每种语言的编程特性,其实每种语言都是那几个知识点,变量,数组,三大结构,运算符,每种编程语言都一样,说实在的我在大学学的那些“许多编程语言”,顶多就是学习的许多编程语言的“”语法特性“”,仅此而已。

这也导致我认为自己不会编程,不适合编程,没有兴趣,毕业的时候一度想脱离计算机行业,去追求公益梦想,去自己感兴趣的英语行业,大不了自己去当老师。

发现自己扯远了,这些值得写一篇关于职业困惑的文章了。

David用浅显生动的语言描述在底层计算机的是什么,底层计算机就是由多个电路组成的0,1,电路的开关闭合两种状态是最容易表示,开就是1,关就是0,和太极的思想一样,两极么,这样出错的情况会很多,如果用三位数表示计算机的状态,则需要三种状态,出错了可能性也会大。32位计算机就是用32个这样的01电路来表示2到32次方的状态,也是65535个状态,内存也只需要4G就足以处理那么多的位数了,多了会被浪费掉。

ASCII码是怎么来的,用128位就可以表示英文中的所有字符,就是电脑中的文本,图像 是怎么来的,就是用RGB三原色按不同比例混合而来,视频是怎么来的,图片移动就成了视频。

数据在内存的中的存在形式就像一个个小的盒子,数组一般是一片连续的存储空间,可以很容易的进行前后遍历,而指针的处理就更灵活可以随意指向哪片存储空间,这就是RAM,随机访问存储,其实数组是一个特殊的指针,就是拥有连续空间的指。

David用各种例子阐述计算机内部是如何工作的,让计算机不再神秘。

其实计算机的工作原理也来源于生活,只要和生活中的各种场景和处理方式进行类比,就很容易的理解计算机的处理方式,记得以前看过一本计算机操作系统的处理哲学,通俗易懂,都来源于生活。

计算机很简单,编程也很简单,我不要被他打到,从战略上鄙视他,要记得CS50是哈佛大学的老师教的,哈佛大学的学生是世界上最好的学生, 就等同于我和他们一起上课,我也能听懂就说明我不差,可能是因为我有计算机的基础的,但这些基础可以用时间和精力补回来,哈佛大学的人也是人,我不必他们差,他们可以学会,我相信我也可以。加油!

Lectture 0

Text :binary digit ---> byte(8bits) --> ASCII(English character)

Image:binary digit ---> byte(8bits) --> Red---

                Green---(different amount of Red, Green and Blue ) constitute one pixel  of color block ----> lots of them become a image .

                Blue  ----

moving image in milliseconds become a video

转载于:https://www.cnblogs.com/luoxuw/p/10963621.html

Harvard's CS50相关推荐

  1. 2019 6月编程语言_今年六月您可以开始学习650项免费的在线编程和计算机科学课程...

    2019 6月编程语言 Seven years ago, universities like MIT and Stanford first opened up free online courses ...

  2. 夏天和空调_您可以在今年夏天开始学习650项免费的在线编程和计算机科学课程...

    夏天和空调 Seven years ago, universities like MIT and Stanford first opened up free online courses to the ...

  3. devops开发模式流程图_2020 Web开发人员路线图–成为前端,后端或DevOps开发人员的视觉指南

    devops开发模式流程图 There are many ways you can go about picking up the skills you need to become a develo ...

  4. udacity开源的数据_评论:Udacity数据分析师纳米学位计划

    udacity开源的数据 by David Venturi 大卫·文图里(David Venturi) 评论:Udacity数据分析师纳米学位计划 (Review: Udacity Data Anal ...

  5. 计算机编程课程顺序_九月份可以开始提供650多种免费的在线编程和计算机科学课程

    计算机编程课程顺序 Seven years ago, universities like MIT and Stanford first opened up free online courses to ...

  6. 六逻辑层次 职业规划案例_我如何在六个月内改变职业并找到了一名开发人员...

    六逻辑层次 职业规划案例 by Christian Jess Mark 克里斯蒂安·杰西·马克(Christian Jess Mark) 我如何在六个月内改变职业并找到了一名开发人员 (How I c ...

  7. 学妹:大学四年以算法为重还是技术为重?

    经常有学妹问我(其实学弟也爱问): 大学应该更偏向技术还是算法和数据结构这类. 大家都是成年人了,这还用选吗? 当然是两者都要重点啃下来呀,算法和技术相辅相成的,一定不要有二选一的想法! 算法和数据结 ...

  8. 算法训练营 重编码_完成编码训练营后的第一年,我学到了教训。

    算法训练营 重编码 by Mario Hoyos 通过马里奥·霍约斯(Mario Hoyos) 完成编码训练营后的第一年,我学到了教训. (Lessons I learned the first ye ...

  9. VirtualBox增强功能包

    最近一直用Harvard的CS50 Applicance学C语言,可惜蛋疼的网速想同步 文件都难,因此决定设置共享文件夹,虽然折腾了好几个小时了,不过这增强 功能包竟然连分辨率都搞掂了,以后我不用一直 ...

最新文章

  1. 初步学习“C#枚举”
  2. 简述控制反转ioc_深度理解Spring IOC(控制反转)
  3. SocialFish-kali下社会工程学钓鱼工具
  4. 论文浅尝 | 知识图谱相关实体搜索
  5. php 编程祝新年快乐_第一门编程语言选什么好?
  6. MFC PreTranslateMessage介绍
  7. 复旦大学python期末考试_在复旦大学当学渣是怎样的?
  8. 关联规则挖掘算法综述
  9. MySQL 递归查询下级
  10. android 热点 连接电脑上网,安卓手机做wifi热点让笔记本上网的方法
  11. 2017年总结:人生百味,有你真好
  12. 总结一下vue添加收藏取消收藏功能
  13. ulimit -u
  14. 1美元从零开始训练Bert,手把手教你优雅地薅谷歌云TPU羊毛
  15. CTU-UHB Intrapartum Cardiotocography Database 产时CTG信号数据下载与读取(2021.7.9 新增阿里云盘下载)
  16. 迈向更灵活,贝壳 OLAP 平台架构演进历程
  17. 为什么跨平台扫盲很重要
  18. 工控服务器性能指标,5点弄懂工控机内存条
  19. 阿里巴巴总裁马云经典语录。
  20. VVC帧内算法-PDPC

热门文章

  1. Silverlight DataGrid超出列表高度时自动滚屏
  2. 转代码判断邮箱是否合法
  3. 周五:IPC连接及远程执行
  4. (转)SQL操作全集
  5. C++语言之Lambda函数与表达式
  6. C#编程语言之常见的异常类型
  7. sc delete:指定的服务已经标记为删除
  8. 进程和线程的关系与区别
  9. 检测到USB设备插入写法1
  10. idea中刷新项目快捷键_解决 IDEA 使用过程中让你觉得不爽的一些问题