123
返回列表 发新帖
楼主: happydreamer
跳转到指定楼层
上一主题 下一主题
收起左侧

小白自学cs - HarvardX: CS50

🔗
 楼主| happydreamer 2019-1-15 13:46:49 | 只看该作者
全局:
In week 0, we learned that algorithms were a series of steps to solve a problem, given some inputs and outputs:
box with word "algorithms"
And to represent those inputs and outputs in computers, we needed to understand bits, binary digits, atop which we discovered abstractions like ASCII for text characters, Unicode for emoji, and RGB for pixels in images and videos.
We wrote some algorithms down in pseudocode, and were already able to discuss running time of algorithms in terms of steps required to solve a problem of size n:
chart with: "size of problem" as x-axis; "time to solve" as y-axis; red, steep straight line from origin to top of graph labeled "n"; yellow, less steep straight line from origin to top of graph labeled "n/2"; green, curved line that gets less and less steep from origin to right of graph labeled "log n"
Finally, we were introduced to Scratch, where we practiced using these new programming concepts.
Then, in week 1, we transitioned to learning C, where we used only text to write source code, which was then compiled into machine code, binary that our computer could actually run.
In week 2, we learned more programming features like functions, arguments, and discussed memory, where we could change bytes on the hardware of our computer, to store and work with data:
computer chip with grid overlaid
In week 3, we learned about strings in C, which led us to discover pointers. In week 4, we used pointers to build data structures like a trie:
array with blanks, and letters M, P, T; each letter points to another array, with blanks, and some letters that each point to other arrays and letters in them
In week 5, we learned about (many) web technologies like HTTP, DNS, IP, HTML, CSS, and JavaScript. We looked at request headers and response codes in HTTP, and we looked at HTML’s Document Object Model (DOM) that represents a webpage in the browser:
simple webpage mapped to a tree with each element as a node, nested
And as an aside, in one year’s Harvard-Yale football game, some Yale students actually managed to prank much of the Harvard audience to hold signs that read “WE SUCK”!
In week 6, we learned Python, a higher-level language that includes features like linked lists and hash tables, so we don’t need to implement them ourselves before we start writing more useful programs.
In week 7, we looked at one particular paradigm of web programming, Model-View-Controller, which is just one popular pattern for organizing our code:
request (HTTP, CLI, etc.) from a client goes into a Controller, which demands from a Model (Database, WS, etc) and receives data that it then sends to a View (Templates, layout) which are sent back to the client as a response (HTML, RSS, XML, JSON, etc.)
Finally, in week 8, we looked at SQL and databases more generally, with which we can query data efficiently and cleanly.
回复

使用道具 举报

🔗
 楼主| happydreamer 2019-1-15 13:50:34 | 只看该作者
全局:
Summary of the course in week 9 lecture note as copied in the previous post and in the link:  https://cs50.harvard.edu/college/weeks/10/notes

Particularly, In week 6, we learned Python, a higher-level language that includes features like linked lists and hash tables, so we don’t need to implement them ourselves before we start writing more useful programs.
回复

使用道具 举报

🔗
 楼主| happydreamer 2019-1-15 13:54:44 | 只看该作者
全局:
https://www.youtube.com/watch?v=mgBpcQRDtl0

Python short video on week 6

Total length of the video: 39 minutes  - much shorter than the video lectures of this course.
回复

使用道具 举报

🔗
 楼主| happydreamer 2019-1-15 23:41:06 | 只看该作者
全局:
Shortened summary:
Week 0 - algorithms, bits, binary digits, abstractions.  Pseudocode, running time of algorithms

Week 1 - C, where we used only text to write source code, which was then compiled into machine code, binary that our computer could actually run.

Week 2- functions, arguments, and discussed memory, where we could change bytes on the hardware of our computer, to store and work with data:

In week 3, we learned about strings in C, which led us to discover pointers.


In week 4, we used pointers to build data structures like a trie:
array with blanks, and letters M, P, T; each letter points to another array, with blanks, and some letters that each point to other arrays and letters in them

In week 5, we learned about (many) web technologies like HTTP, DNS, IP, HTML, CSS, and JavaScript. We looked at request headers and response codes in HTTP, and we looked at HTML’s Document Object Model (DOM) that represents a webpage in the browser:
simple webpage mapped to a tree with each element as a node, nested

回复

使用道具 举报

🔗
 楼主| happydreamer 2019-1-15 23:41:30 | 只看该作者
全局:
I like the Udacity course with a big picture overview in the beginning.
回复

使用道具 举报

🔗
ci-hanker 2020-11-23 11:59:30 | 只看该作者
全局:
LZ在学CS50的时候觉得难么,我小白入门,做speller作业的时候要抓狂了。
回复

使用道具 举报

🔗
 楼主| happydreamer 2020-11-23 23:21:49 | 只看该作者
全局:
I think it is too difficult for me to follow the long videos.  I found a facebook group for CS50.  Maybe you can ask questions there too.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表