最近看了哈佛大学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

Harvard's CS50的更多相关文章

  1. docker cs50 ide 安装

    ECS上搭建Docker(CentOS7): https://help.aliyun.com/document_detail/51853.html docker官方文档: https://docs.d ...

  2. CS50.4

    1, PDF,portable document format 便携式文档格式 2, 关于文本编辑器(文字编辑器)和文档编辑器(文字处理器),前者可用来写程序的源代码?名字挺难分辨的. *3, “-o ...

  3. 2018.7.28 A murder that scandalised Harvard and the world

    A murder that scandalised Harvard and the worldVisiting Boston in 1868, Charles Dickens was asked wh ...

  4. Harvard数据库课程CS 265: Research Topics in Database Systems

    CS 265: Research Topics in Database Systems Announcements Quiz 3 will be posted. Good luck! Quiz 2 h ...

  5. 院校-美国:哈佛大学(Harvard University)

    ylbtech-院校-美国:哈佛大学(Harvard University) 哈佛大学(Harvard University),简称“哈佛”,坐落于美国马萨诸塞州波士顿都市区剑桥市,是一所享誉世界的私 ...

  6. [CS充实之路] CS50 WEEK 1

    前言 大学电子专业,幸好自学了JAVA,遂有幸工作了三年,但这期间一直在焦虑,一个是基础不扎实的担心,另一个是未来方向的不确定.去年开始终于下定决心,一方面走一遍CS之路,巩固知识体系,另一方面部署自 ...

  7. 风雨哈佛路(Homeless to Harvard: The Liz Murray Story)-献给困境中的人

                                                     今天无意中看到一部很老的电影<风雨哈佛路>,一曲感人励志向上的美国影片,整个故事震撼人心. ...

  8. CS50.5

    函数,全局变量,参数,返回值. 1,类型转换. 各种数据类型进行转换 2,API函数 应用程序编程接口. application programming interface 写写随笔吧,先说计算机.. ...

  9. CS50.3

    1,int()取整函数 2,RPG(role playing game )角色扮演游戏 3,代码写了,要跑,需要compiler (编译器) 4,CLI(command-line interface) ...

随机推荐

  1. DataX的使用——大数据同步技术

    准备工作: 1.视频教学http://113.31.104.47/portal/#/course/dashboard/b34d160db64624732ef152a1118af11a 2.DataX的 ...

  2. hash类型的应用场景 —— Redis实战经验

    hash类型是一个string类型的field和value的映射表,每个 hash 可以存储 232 - 1 键值对(40多亿),hash类型主要有以下应用场景. 1. 购物车 以用户id为key,商 ...

  3. selenium获取缓存数据

    爬虫呢有时候数据方便有时候登入获得cookies,以及获取他存缓存中的数据 一.获取缓存中的数据其实很简单js注入就好了 localStorage_1 = driver.execute_script( ...

  4. 信号处理之DFT、IDFT

    一.DFT之前言部分 由于matlab已提供了内部函数来计算DFT.IDFT,我们只需要会调用fft.ifft函数就行: 二.函数说明: fft(x):计算N点的DFT.N是序列x的长度,即N=len ...

  5. char、vchar、nvarchar 的区别

    Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧. 一般如果用到中文或者其 ...

  6. opencv —— erode、dilate 腐蚀与膨胀

    腐蚀与膨胀是形态学滤波.其中,腐蚀是最小值滤波,膨胀是最大值滤波,即分别选取内核中的最小值与最大值赋值给锚点.若内核为 N×1 或 1×N 形状,可用于横纵方向直线检测. 膨胀:dilate 函数 v ...

  7. C语言程序设计(实验一)

    实验项目:1.3.2,1.3.3,1.3.4,2.3.1,2.3.2 姓名:邹琼   实验地点:家 实验时间:2020年2月28日 一.实验目的与要求 1.实验目的 掌握DEVC++的安装方法,并实现 ...

  8. 四种常用的通知类型(xml)

    1.maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  9. 论文阅读笔记(十四)【AAAI2020】:Appearance and Motion Enhancement for Video-based Person Re-identification

    Introduction 本文的贡献:提出了基于视频的行人重识别模型:Appearance and Motion Enhancement Model(AMEM).该模型对两类信息进行提取:提出了App ...

  10. demo Django-基础书籍添加删除(单表)

    小demo使用---- 1.pycharm-2019.2 2.python-3.7.2 3.mysql-5.7.25 4.django-2.2.4 使用过程中的一些注意事项和出现的常见错误的解决地址 ...