This is my repo contains courseware, notes, exercises when I am learning CS50 on edx. CS50 is really an excellent course for beginner:)!!!
Lecture notes, slides and descriptions of problem sets are copy from CS50 website. All of the problems sets are solved by myself and passed the test.
CS50是一门很好的计算机科学导论课,非常适合计算机科学入门,我在edx上完成了这门课程(没做结课项目)。我将这门课的讲座笔记,PPT,习题集等都保存到了这个仓库。由于精力有限,我只给习题集加了简单的中文描述,其余都是英文文档。另外,大部分作业都基于CS50的提供的一个库 cs50.h
,在本地运行需要去官网下载头文件。
以下是每个讲座大致讲课的内容:
利用Scratch介绍编程的基本思想。很强的是第一节就把编程的基本概念都讲述了,变量,表达式,控制流,函数等等。作业时用Scratch做一个小游戏。我的作业
把上周在Scratch讲过的编程思想迁移到C上,然后介绍了CS50的IDE,库。
- 如何调试
- CS50作业的一些注意事项
- 加密文本(Cryptography)
- 字符串
- 基本操作
- 底层表示
- 命令行参数
- 简单的排序和搜索算法
- 大O符号
- 字符串的实现
- 程序运行时的内存布局
- 指针
char*
swap
- 动态内存分配
- 检测内存泄漏:
valgrind
- 检测内存泄漏:
- 图像的表示
- bmp
- jpeg
基础数据结构
- 链表
- 栈和队列
- 树
- 哈希表
- Trie树
计算机网络基础
- HTTP
- HTML
- CSS
- POST
机器学习基础
- 图像分类
- 最小邻近算法
- 聚类算法
- Python基础
-