拿下斯坦福和剑桥双offer,00后的算法学习之路
董文馨,00后,精通英语,西班牙语。斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习。
10岁开始在国外上学;12岁学Scratch;
13岁学HTML & CSS;
14岁开始学Python & Java;
15岁用Python做了一个连连看的小游戏;
16岁做了一个文化交流的网站;
17岁开始写《你也能看得懂的Python算法书》;
18岁书上市,在学校里创办编程俱乐部,做了一个用Google API做的找餐厅超市的网站。
当大部分同龄人在备战高考的时候,董文馨显然要比同龄人更快一步,一个契机之下,她和我们聊了关于写书、编程和成长的一些事情。
关于写书,关于Python
Python大本营:《你也能看得懂的Python算法书》这本书的写作契机是什么呢?
这本书是王硕老师(本书作者之一)邀请我写的。我和王硕老师曾经是师生的关系,是他把我带领到了算法的世界,让我一下就对算法这个新领域着了迷。我们曾一起在LeetCode网站上刷算法题,在刷题的过程中学习,我当时觉得算法题和就和智力游戏差不多。后来,我们就和另外两位作者张舒行,张洁一起写了这本书。写作的目的一是希望锻炼自己,二是我想把自己的知识以一种有趣的,易懂的方式分享给大家。
Python大本营:这本书你写了哪些章节,是如何写的呢?从中得到了什么呢?
我写了回溯算法、二叉树、最短路径和分治算法。在回溯算法的章节,我讲了经典的八皇后和数独问题;分治算法则有凸包和FFT;最短路径则有戴克斯特拉和A*。
通过写书,我对算法有了更深刻的理解,也觉得是非常有趣的一件事情,另外从中获取的成就感也增加了我对这个领域更感兴趣。
Python大本营:写书过程中有遇到什么困难吗?是如何解决的?
刚开始的第一两篇文章是最难写的,因为不知道怎样把一件复杂的事情讲的通俗易懂,不过慢慢掌握了写书的技巧后,就写的很顺畅了,我会用到各种的比喻和小例子帮助读者的理解。
Python大本营:为什么选择Python?还会什么编程语言呢?
Python是众所周知的最简单的编程语言,也是现在最火的编程语言。用Python教算法有利于初学者学习,因为它最简单易懂。从初二最开始学习Python一直到现在,我对这个语言掌握得也比较有把握。除了Python外,我也学过Java和C++。
兴趣和好奇心是学习编程的最大动力
Python大本营:你是多大开始接触编程?你是怎么学编程的?
我们学校从6年级开始就教编程,一开始学习Scratch,然后学习做简单的HTML&CSS的网站,之后又学习了简单的Python。我从一开始就对编程很感兴趣,所以就通过网络和线上课程学习了更深更多的内容。
Python大本营:你写过什么程序?
我写过很多有意思的小程序,比如用Pygame写的一个连连看,一个模拟太阳系星球运动的网站,一个线上的Hangman小游戏,一个文化交流的网站,还有一个查询附近饭店和超市的定位网站,大多数都是以练习和满足好奇心为目的做的小项目。
Python大本营:我们了解到你曾教小孩学编程,你用什么样的方式教他们的呢?
我主要通过做游戏和挑战的方式带起小孩的好奇心和学习编程的欲望,也通过这些挑战和游戏让他们更轻松地学习。比如,我经常用Kahoot这个软件做游戏,Kahoot是一个课堂互动软件,我会提前设计好问题,小朋友们通过抢答最后会形成一个排行榜。这个游戏小朋友们都愿意玩,因为有一种竞赛的感觉,在比赛过程中他们也会学到很多关于Python的知识
探索精神和热血付出
Python大本营:你觉得哪些经验对你被斯坦福录用非常有帮助呢?
所有经验。我对编程的热爱使我不断地去了解和学习这个领域的知识,我现在仍然认为自己是一个初学者,因为我还有很多的东西没有了解到。但是这份热爱是真实的,也被斯坦福大学的招生官看见了。
斯坦福大学,实际上是任何大学,希望看到你对你所感兴趣的事情进行不断地探索,不断地学习,他们希望看到你的热血。
Python大本营:进入斯坦福后,你对自己的未来有什么规划吗?
有的,之前上过斯坦福大学的一们网课,是关于机器学习的。我现在对计算机视觉和机器学习很感兴趣,也在看关于这方面的书,在斯坦福我希望学习更多关于人工智能的内容。
对于这位认真、努力,对编程满怀信念的姑娘,我们祝愿她能在自己喜欢的事情上越来越精彩。
如果你想更详细了解她在编程方面的学习经验,可以关注她在3月15日20点的线上分享,识别下方二维码,即刻报名,还有机会获得《你也能看得懂的Python算法书》。
▼▼▼
◆
精彩推荐
◆
4月13-14日,CSDN将在北京主办“Python开发者日(2019)”,汇聚十余位来自阿里巴巴、IBM、英伟达等国内外一线科技公司的Python技术专家,还有数百位来自各行业领域的Python开发者,共同探讨Python在不同场景下的的应用优势和实战经验。即刻扫码抢购早鸟票,限量发售!
推荐荐阅读:
00后的算法学习之路:拿下斯坦福和剑桥双offer
Deep Reading | 从0到1再读注意力机制,此文必收藏!
75道常见AI面试题,看看你的知识盲点在哪?(附解析)
10行Python,搭建一个游戏AI | 视频教程
权威预测:未来一年,企业云服务将会如何发展?
“5G 将是一个彻底的失败通信技术” | 畅言
diss一时爽, 打脸啪啪响! "05年互联网不如传真机", 如今区块链也是一种肮脏的...
13岁女学生因两行JavaScript代码被捕!
没有一个人,能躲过程序员的诱惑!
❤点击“阅读原文”,查看历史精彩文章。
相关文章:
Mybatis【配置文件】就是这么简单
配置文件和映射文件还有挺多的属性我还没有讲的,现在就把它们一一补全 映射文件 在mapper.xml文件中配置很多的sql语句,执行每个sql语句时,封装为MappedStatement对象,mapper.xml以statement为单位管理sql语句 Statement的实际位置…

cto denalil
Denali使用准虚拟化技术来提高x86电脑上虚拟机的性能。Denali的虚拟机为因特网服务专门支持了最小化的操作系统。 系统可以运行上千虚拟机。Xen与Denali不同,因为它试图运行适当数量的完整操作系统,而非大量轻量级操作系统。转载于:https://blog.51cto.c…

Redis学习笔记 - 数据类型与API(1)Key
Redis学习笔记 - 数据类型与API(1)Key Key相关命令 1. 常用命令 命令含义时间复杂度keys查找所有符合给定模式 pattern 的 keyO(N), N 为数据库中 key 的数量dbsize计算key的总数O(1)exists检查key是否存在O(1)del删除指定的key-valueO(1)exp…

【Qt】enum和QString的相互
使用Q_ENUM注册enum Q_ENUM使用元对象系统meta-object来注册,因此在enum所在的类中必须包含宏Q_OBJECT或者Q_GADGET。 例子如下 class MyClass : public QObject{Q_OBJECTpublic:MyClass(QObject *parent = 0);~MyClass();enum Priority { High, Low, VeryHigh, VeryLow };Q_…

Gmail全球大规模宕机
整理 | 非主流出品 | AI科技大本营(ID: rgznai100)今天(3 月 13 日),Google 的多项服务在全球范围内出现了不同程度的宕机,包括 Gmail、Google Drive、 Hangouts、谷歌地图等。受影响最大的是拥有超 10 亿用…

搭建域控服务器
作业环境 服务器端(VirtualBox VM) 操作系统:Windows Server 2003 Enterprise Edition SP2 IPAddress:192.168.1.1/255.255.255.0 Gateway:null 客户端(VirtualBox VM) 操作系统:Windows XP SP3 IPAddress:192.168.1.2…

【Git】ubuntu安装git
sudo apt-get install git 图形界面的:sudo apt-get install git-gui 查看ssh服务是否启动 sudo ps -e | grep ssh 如果没有启动执行如下命令; sudo service ssh start 如果没有ssh,使用如下命令安装 sudo apt-get install ssh

Composer 篇
学习网站Composer 中文网 资源包 Packagist Packagist / Composer 中国全量镜像如何安装 Composer下载 Composer安装前请务必确保已经正确安装了PHP。打开命令行窗口并执行php -v查看是否正确输出版本号。打开命令行并依次执行下列命令安装最新版本的 Composer:php …

西工大开源拥挤人群数据集生成工具,大幅提升算法精度 | CVPR 2019
作者 | 周强(CV君)转载自 我爱计算机视觉(公众号id:aicvml)近年来,因为拥挤人群计数在视频监控、公共安全方面的应用广泛,引起了不少学者的关注。简单说来这个任务就是给定图像,返回…

getElementById 不能取得visible=false 的控件解决方法
想要绑定textbox的回车事件到一个按钮上,但不想显示这个按钮,如果你把这个button的visible设置为false,那么你使用 getElementById是获取不到的,或者说取到的为空。这是因为Visiblefalse,在编译后,该控件在页面上不显示…

【Git】在本地创建git库管理自己的代码
1、创建本地库 git init . 新建库 git config --global user.email “hello163.com” git config --global user.name “laoer” git config --global core.editor vim //将默认编辑器由nano更改为vim 2、提交 2.1 git add . 将当前目录下所有文件添加到提交缓冲区 2.2 git …

“智慧血联网平台”亮相军民融合技术装备博览会
该平台可实现血液全程跟踪溯源,为大众提供安全、透明、便捷的用血服务。 一个打造智慧化血液管理新模式的血联网平台最近亮相第三届中国军民融合技术装备博览会。该平台可实现血液全程跟踪溯源,为大众提供安全、透明、便捷的用血服务。 此次博览会以“聚…

AI专利之争:小米超华为,国家电网才是大Boss?
作者 | 一一编辑 | 琥珀出品 | AI科技大本营(ID:rgznai100)以往相关机构发布 AI 专利数量排行榜时,如果表明“中国在 AI 专利申请数量上已经超过美国,中国在 AI 技术实力上已在国际上遥遥领先”,这类榜单会招致对中国科…

SLF4J 的几种实际应用模式--之二:SLF4J+Logback
前面讲的 SLF4J 的用法之一是 SLF4JLog4J,而这里要推出的组合是 SLF4JLogBack。不用 Log4J?难道还有比 Log4J 更好的日志实现吗?是的,答案就是 LogBack。假如你知道 LogBack 和 Log4J 是同出一位大师之手,你就不会觉得…

10行Python,搭建一个游戏AI | 视频教程
昨天为大家推荐了三个Python视频,包含:《利用Python,用4分钟时间搭建一个情感分析系统》、《7行Python代码,搭建一个可以识花的机器学习APP》、《10行Python,搭建一个可以自动作曲的神经网络》,今天营长再为…

ABAP git客户端
Jerry习惯把自己写的小程序放到自己的github上:https://github.com/i042416 对于写的ABAP程序,需要先把SAPGUI里的代码手动拷贝到本地,然后用git客户端push到github上。 但是其实可以直接在SAPGUI里通过一个ABAP实现的git客户端将代码push到g…

【Git】git 与远程库交互
一、远程操作 1、克隆 git clone <url> 2、提交 git add :添加 git commit -m “修改信息” :提交到本地 git branch -a :查看所有分支,红色的是远程分支 git fetch :获取远程分支 git diff HEAD FETCH_HEAD…

[轉]在jQuery1.5中使用deferred对象 - 拿着放大镜看Promise
http://www.cnblogs.com/sanshi/archive/2011/03/11/1981789.html 不錯的JS方面的文章 三生石上

拼多多成立技术顾问委员会,陆奇将领导相关工作
整理 | 琥珀出品 | AI科技大本营(公众号id:rgznai100)美国东部时间 3 月 13 日上午,拼多多(NASDAQ:PDD)公布了截止 2018 年 12 月 31 日的第四季度和全年年的未经审计财务业绩。拼多多创始人、C…

【linux】Valgrind工具集详解(一):简介
一、Valgrind概述 Valgrind是用于构建动态分析工具的仪器框架。它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序。Valgrind的架构采用模块化设计,因此可以轻松创建新工具,而不会干扰现有结…

An internal error occurred during: Launching xxx on WebLogic10.x.
An internal error occurred during: "Launching xxx on WebLogic10.x". java.lang.NullPointerException 蕃薯耀 2018年3月15日 http://www.cnblogs.com/fanshuyao/ 一、问题描述: Myeclipse 将项目部署web服务器报错: An internal error oc…

Android -- TextView与EditText 同步显示
Android -- TextView与EditText 同步显示文章分类:JavaEye方法一.利用View.OnKeyListener"同步"显示Java代码 EditText myEdit (EditText)findViewById(R.id.myEdit); TextView myText (TextView)findViewById(R.id.myText); myEdit.setOnKeyListener(new Edit…

【linux】Valgrind工具集详解(二):入门
一、使用valgrind 1、安装 安装超级简单: sudo apt-get install valgrind 2、使用 运行valgrind -h可以查看详细使用方法,命令格式如下: valgrind [valgrind -h中的选项] 待测程序 [待测程序的命令行参数列表]最重要的选项是–tool决定运行哪种Valgrind工具。 例如,使…

Spring Cloud - Feign调用问题
2019独角兽企业重金招聘Python工程师标准>>> 这两天在改造微服务远程调用方法时,由之前的RestTemplate方式,改为FeignClient方式。 遇到一个及其恶心的问题。 直接上错误提示: 这里面,最重要的一条是: 这个…

开源的Blink和Spark3.0,谁将称霸大数据领域?
来源 | 大数据技术与架构(import_bigdata)作者 | 王知无,阿里巴巴高级大数据开发工程师,先后在京东、阿里等大型互联网公司从事大数据平台、实时计算和离线计算中间件和业务平台开发。2018和2019年是大数据领域蓬勃发展的两年&…

Redis 集群部署及踩过的坑
本文目标 要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑。 安装准备 centos版本:6.7 redis版本:3.2.3 安装方式:源码安装 服务器ÿ…

【linux】Valgrind工具集详解(三):打印信息说明
一、打印信息格式 Valgrind打印信息的格式如下,很容易和程序输出信息区分出来 == 进程ID ==Valgrind的打印信息二、打印到何处 1、打印到文件描述符中 主要是设置打印到终端上,默认情况下为2(stderr标准错误输出)。如果要想打印到其他文件描述符(例如编号9),则可以指…

杨超越第一,Python第二
追星追到程序员们狂热得搞起了编程比赛,长这么大,这种应援架势真没见过。没错,说的就是你们的杨超越妹妹。近日百度贴吧吧主在杨超越吧发帖,呼吁要为自己的偶像组织第一届杨超越杯编程大赛,众粉丝呼应,随即…

SQL Server数据库错误9003(LSN无效)的处理方法
国内一些ERP、财务软件一般后台都使用SQL Server的数据库,SQL Server作为一个中大型数据库是不应该在桌面系统上运行的,小规模企业一般不使用专用服务器,大部分直接使用XP系统桌面引擎MSDE作为SQL数据库的后台服务。这种方案当然就谈不上什么…

新款Tesla最低仅售26.2万,马斯克终于凑齐了S3XY
作者 | 琥珀出品 | AI科技大本营(公众号id:rgznai100)北京时间 3 月 15 日上午许,整整等待了 20 分钟的特斯拉 Model Y 新品发布会终于开场。在台下观众的阵阵欢呼声中,台上的埃隆 马斯克显得神采奕奕。这次ÿ…