《我的26年计算机生涯.ppt》由会员分享,可在线阅读,更多相关《我的26年计算机生涯.ppt(31页珍藏版)》请在三一文库上搜索。
1、我的26 年计算机生涯:,十年计算机教育 本科(北大), 研究生(北大), 博士生(OSU) 十六年工作(微软, Continuum, MicroTechnology) 参与制作 Visual Studio, Visual InterDev Studio, SQL Server, Access, Office, MSN . 数项美国软件专利/学术文章 北大,上海交大,北航的客座教授 北大软件学院软件技术系系主任,反思我的十年教育,在学校学的东西大部分对我后来的工作没有帮助 我在工作中碰的大部分问题在学校没有学到,大学生混的最高境界 (考试版) - zms1844, 开复学生论坛 人:什么?明天
2、要考高数? 得道:什么?下节课要考高数? 入仙:什么?刚才考的是高数? 成佛: 什么?昨天有考试? 高级佛爷:高数?刚才考的不是英语? 我寝室一哥们:高数是什么树? 回帖 小帆,开复学生论坛 夸张之后有真实 搞笑之中有辛酸,生存的境界,改变你能改变的;有度量接受你不能改变的;有智慧区分能改变的和不能改变的。 - 圣经 问题:让我们想一想,在现有的条件下,有哪些是可以改变的,使得我们能最大限度的实现自己的理想?,教育的本质,当你把学校学的东西都忘了的时候,剩下的就是你的教育留给你的最本质的东西。 - B. F. Skinner, 引自开复学生网 问题:让我们想一想能不能做些什么使得我们将来忘得少
3、一些,留下来的多一些呢?,如果我能再回到 学生时代 .,凌小宁博士 微软研究院总部 长沙,2006 年4月,学习的境界,学会答案 学会一个解 学会方法 学会一个方法 学会学习 学会找到方法的方法 学会做事 学会超越“纸上谈兵,与实际“融会贯通 学会做人,学会做人,学会不要别人提醒,要求,强迫,就能自觉地承担起你的责任和义务。,学会做人(2),学会在群体中体现你的价值,学会与你的群体共荣共辱,学数学的境界,学会解数学题 物理问题 数学问题 实际问题 物理问题 数学问题 实际问题 物理问题 数学问题 软件解,数学与计算机,离散数学 (布尔代数,集合论,数理逻辑,图论) 计算机基础的基础 代数/数论
4、 算法分析,计算机安全(加密解密) 傅利叶变换 信号处理 (语音识别,) 概率,随机过程 机器学习,数据挖掘,语音识别,信号处理 . 几何学 计算机图形 数理逻辑/证明方法 可计算性,计算复杂性,算法 - 程序员之魂,学会基本算法及其性能 学会算法设计常用方法 学会算法设计中的Trade-off 学会发明新算法解决实际问题,学编程的境界,学编程 学写作 学会写程序 学字,词,文法,句法 学会高效地写程序 学会流畅地写文章 学会写高效的程序 写简洁明快的好文章 学会设计程序 选择结构,流程,方法 学会设计有用的程序 写人们喜欢看的文章,我最佩服的一位程序员,Jim Gray,软件工程的要素,是研
5、究大规模软件生产的学问 不是关于编程的学问! 要素:大规模软件生产的 过程 方法 工具,软件工程对编程的特殊要求,程序的 可读性 可测试性 可调试性 可扩充性 可维护性,卡内基梅隆大学 软件学院,院长:Dr. Raj Reddy 首席教育家:Dr. Roger Schank 培养工程硕士 (两年),Dr. Roger Schank,计算机科学家,心理学家,教育家 CMU 教授 曾是西北大学,斯坦福大学,耶鲁大学教授 美国政府部门的高级顾问,读书是获取知识的最重要的部分 错! 只需要努力争取好分数就能学习成功 错! 学习可以脱离现实 错! 学生被告之应该学什么 错! 有些不会被用到的东西是值得学
6、习的 错!,Roger: 教育中常见的错误,Dr. Roger 的方法:,卡内基梅隆软件学院的课程设计,如果我能重新开始学习计算机 ,掌握五种核心的知识和技能,软件产品商业开发,软件产品规划,设计,软件产品开发,管理,测试,软件生产过程,现代企业文化,基础,确立一个相对明确的职业目标 根据这一目标, 确定要掌握的专业/课程/技能/知识 做大量的课程实践项目 对每一个实践项目, 确立一个模拟的实际工作中的用户场景(scenario) 尽量以实际工作中的方法和标准作每件事 注重项目过程 碰到没学的东西, 去问,去学. 在用中学,带着目的学.学会最有效地解决问题的手段/方法 联合同学做团队项目, 做
7、好自己的部分,帮助团队整体成功,采用一定规模的实用的或模拟的软件项目 以软件公司生产架构组织团队 以实际软件生产流程组织课程项目流程 少上课;!多花时间做项目! 在做项目中学;有问题请教老师,同学 以按要求按时完成项目作为成功的标准,例一:算法学习知识库,联合同学和老师组成一个团队 找出几个大家共同感兴趣的算法问题 对每个问题设计出多个算法并计算出理论性能 对每个算法编出程序统计实际性能 比较分析理论性能与实际性能,写出报告 把算法,程序,报告放在网上,建立起湖南大学软件学院算法学习知识库,例二:排课系统,学校每学期都要进行一件非常费时、费力的事情,就是安排教室。因为一个教师可以任多门课程、这
8、多门课程的教学对象(学生)又不相同;每门课程的听课人数不同;教室分多媒体、普通教室两类,有的教师需要多媒体进行讲课,有的教师不需要多媒体;有个别教师需要特殊照顾(例如,爬楼有困难);每个教室的座位数不同;而教室管理部门又希望在某个时间段按物理位置集中使用教室(例如,晚上、周末相对课少,希望楼上的教室尽量不用,便于管理),并能够保留某些教室以作临时调用。 现请开发一个能够既考虑方方面面的因素、又符合学校教学计划的“教室-排课”互联网服务软件,帮助进行这项工作。 这个服务软件应集成到校园网中。 - 上海交大软件课程实习项目,团队组织结构,产品部 产品主管,总设计师,商业开发经理,测试部 测试经理,
9、开发部 开发经理,规划设计部 规划经理,若干规划经理,若干程序员,若干测试工程师,通过这些项目学习:,商务计划/规划 (product manager, product planer) 市场分析,可行性分析,资源需求分析,时间线,商业开发 项目管理 (program manager) 需求分析,说明书,过程管理,负有按时完成的权责 开发(software design engineer) 按说明书设计,按编程标准(coding guideline) 实现系统 测试(testing engineer) 根据说明书,制定测试标准,编写测试文件,实现自动测试工具,测试 团队,沟通,演讲,谈判,技术写
10、作,,项目流程,Software Concept, analysis, plan,Requirements Analysis/spec,Architecture design,Milestone One: Detailed design, code, debug, test Core UI, Scheduling Alg, Database access (Web-based),Milestone Two: Detailed design, code, debug, test Tracking, Monitoring, Analysis, .,Milestone Three: Detailed
11、 design, code, debug, test Security, Scalability, Integration with Intranet,Alfa test,Beta test,Release To Service, Deployment,Web Service Platform, App architecture, Scheduling, Database App,Statistics, data mining, performance analysis, reporting,Hacker attacks/prevention, Incident handling, Web app architecture,Testing, Internal interaction,Testing, External interaction,Seamless deployment,谢谢! 问题?,
链接地址:https://www.31doc.com/p-3199397.html