CS61A

CS61A是UC Berkeley开设的计算机科学的入门课程,定位是给没有任何计算机科学相关知识和经验的同学开设。教师John DeNero教授将MIT的著名课程SICP改编后,重新以更加通俗易懂的方式教授给大家。课程主要运用的编程软件是Python,后期还会学习Scheme, SQL等,以换换口味,增长见识。从暑期开始,我将跟着20Fall的内容,将15个week的内容全部跟着自学完成,祝我自己好运。

Week 1 Lesson 1

what is computer science

To study this discipline, the first thing we need to do is to figure out what exactly we are learning and what problems we need to figure out. So Prof. DeNero gave us an introdution to what we are trying to accomplish in this course.
I think, an important part of this discipline is the interation between users and computation. And through time, computation slowly progressed in the form of computing machines using technology like digital and analog electronic. And hence comes computer science.
In Prof. DeNero’s words: Computer Science is the study of what problems can be solved using computation and how to solve these problems and also what techniques lead to effective resolutions. It means that we are not here to study the electronic circuits of computer’s structure, but we are here to understand how to better manage and control the mathmatical logic of a computer and how to dispatch computer’s inside to work better to a better solution using its computational skills.
Computer Science is more of a general field composed of a lot of sub-fields like Computer System, Artificial Intelligence, Computer Network, Compiling Environment, Object Orientation and so on. And to expand enen more, these sub-fields can be elaborated to sub-sub-fields which is made of even more disciplines.
In this course, we want to master the ability of abstraction, which can be used to solve large problems combining different programming languages.We will be learning the fundamentals of Python and are expected to fully understand it. Apart from that, we will be learning different programming languages and how computers interpret programming languages.
In all, I think it’s a great course for me who do not have a systematic knowledge of computer science and want to learn by myself.

Getting Started

Python is an efficient programming language. I think it’s a good thing that I have experiences in C and C++, which can be helpful when understanding basic grammar of Python.
To begin this course, we have to set up our computers. In the course’s website, we can find in the column below, a chart, which demonstrates what we would do on a weekly schedule. In lab00, we could learn how to configurate our computer.
After configuration, we should have control of a software called Git Bash.

This is what we call a Terminal. I don’t fully understand it, yet. I think of it as an interface that can run in a Python Environment and execute our commands from our keyboards more visually unlike our interpreter like Visual Studio or Visual Studio Codes. It can also execute our commands to control our computers to some extent.
In a Windows environment, we use py (sometimes python or python3) to begin our commands. If successful, we can see a clear prompt, and something like this:

Here, we can interact with Bash using Python.
For example, it can execute some simple mathmatical commands.

It can also manipulate our text of some sorts.

It can also using other built in functions to other purposes.

Here, I use pi from math to put value of pi on this expression.
Now, basically, that’s the content of the first class. It’s just a simple Introduction, but I expect the course to get a lot harder as time goes on.

Lesson 2 Elements Of Programming

  1. Call Expression:
    Call expressions are the most important compound expressions. So first, we need to understand what is call expression and what it is made up of.
    Call expressions apply functions to their arguments.

    Like this call expression, it is composed of sub-expressions: the sub-expression that precedes the parenthesis is an operator, which is like the name of the function and encloses a comma-delimited list of operand expressions. In this call expression, number 1 and number 2 are the operands. In this example, we say this call expression is evaluated with arguments 1 and 2, and returns the value of 3.

Summary

This part of the course is very much like programming language C, we can use the method of analogy to study the meanings and principals of call expression and Python environment. It’s very simple and easy, but, we need to strap on, because it’s about to get exciting and hard in the next few courses!

CS61A 学习笔记Week1相关推荐

  1. CS61A学习笔记(作业篇)

    为了制止我半途而废,以及散落各处找不到的笔记,决定在这里记录学习笔记和作业遇到的困难等等. Lab 03 Q4: Repeated, repeated In Homework 2 you encoun ...

  2. UCB CS61A 学习笔记(持续更新一起学习ing)

    week 1-2 本章介绍了基本的变量设定.函数定义,比较简单,有一个例题和作业题比较考验对基本概念和算法运算过程的理解,记录如下. 例1: f = min f = max g, h = min, m ...

  3. Linux学习笔记week1

    概要 1.虚拟机的安装与CentOS的安装 2.LInux系统特性 3.Linux命令基本格式 4.vi编辑器简要 5.获取帮助,查看文件命令使用方法 6.其他常用命令 一.VMware环境搭建Lin ...

  4. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  5. 吴恩达 - 卷积神经网络 学习笔记(一)

    转载来源:http://www.cnblogs.com/marsggbo/p/8166487.html DeepLearning.ai学习笔记(四)卷积神经网络 – week1 卷积神经网络基础知识介 ...

  6. CS61A 课时笔记 efficiency

    CS61A Spring 学习笔记 原文地址: http://composingprograms.com/pages/28-efficiency.html Measuring Efficiency 计 ...

  7. 《学习如何学习》Week1 3.4 名人采访3: 如何写作?

    week1: 3 Optional Further Readings and Interviews <学习如何学习>Week1 3.4 Interview with Writing Coa ...

  8. CS230(DeepLearning)Leture2的学习笔记(2)之深度学习

    CS230_Leture2的学习笔记2之深度学习 我们先来回顾下第二章的学习目标:        而对于第二章Week1的学习目标已经完成,具体学习内容参考博主另一篇博客,站内搜索 CS230(Dee ...

  9. CS230(DeepLearning)Leture2的学习笔记(1)之深度学习简介

    CS230_Lecture2的学习笔记_1 [Leture2_1](http://cs230.stanford.edu/files/C1M1.pdf) Leture2_1 本节讲义主要是针对深度学习做 ...

  10. 《Inetnet History,Technology and Security》学习笔记

    前言 本文为观看Cousera的Michigan<Internet History, Technology and Security>教程的个人学习笔记,包括了每个week的概要和个人感想 ...

最新文章

  1. 学习 慕课网 PHP工程师学习计划--我的笔记汇总
  2. boost::boost::directed_graph用法的测试程序
  3. 【oracle】关于创建表时用default指定默认值的坑
  4. JAVAWEB(笔记)
  5. Python+matplotlib使用雷达图技术绘制五角星
  6. 今天终于辞职,投奔SoftBank
  7. 工资计算问题,类似计算某天是一年中的第几天的问题
  8. keil5.24 +注册机 下载
  9. 用Python统计新浪微博各种表情使用频率
  10. 课程设计matlab仿真,MATLAB与仿真系统课程设计报告
  11. GMS Apps安装
  12. jmeter参数化测试-姓名生成
  13. 微信公众号开发2自动回复
  14. On the Generality of Facial Forgery Detection论文原文翻译以及阅读笔记
  15. ADAS/AD控制器模块开发01 - 行业背景、基本概念名词介绍
  16. qt.network.monitor: Could not get the INetworkConnection instance for the adapter GUID.QT关闭时程序异常结束
  17. 分时操作系统和实时操作系统
  18. Tensorflow笔记(八)——Estimator
  19. 【技术推荐】WebLogic 反序列化漏洞深入分析
  20. cube的意思中文翻译_cube是什么意思_cube的翻译_音标_读音_用法_例句_爱词霸在线词典...

热门文章

  1. 浅析View的事件分发机制
  2. 图解机器学习算法(11) | LightGBM模型详解(机器学习通关指南·完结)
  3. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.6
  4. 拼多多sdk php,学习猿地-【扩展分享】拼多多 API SDK【拼多多开放平台】
  5. 一些常用的Maven命令的作用
  6. XXX单板类热仿真分析
  7. plsql如何显示表结构图_如何用PLSQL导出数据库存表结构信息
  8. min函数python_python内置函数之min
  9. 语音识别算法、模型等解析
  10. OSEK网络管理入门