本文于2013年录入/高2012级22班肖翱
清华大学学术氛围与活动氛围十分浓厚。这里有各种讲座与学术交流活动,还有各种竞赛,各种技术社团,以及各种网络资源。就讲座而言,基本上每周都有,其中有的是学校组织的,有的是院系自己组织的,还有的是同学们自己发起的,讲座内容涉及学习生活的各个方面,包括心理健康,成功方法,励志案例,文学诗词,前沿技术介绍,戏剧历史等。学院还会邀请之前的优秀、成 功的学长学姐回来给我们讲解关于大学四年的学习与生活,关于未来与理想,关于责任与担当。咱们学院还有自己的科协,组织学生(基本都是本科生)进行一些开发工作。不管是学校还是院系都 有SRT,SSRT科研项目,只要你有足够的实力与热情,都能够挑战自我!至于竞赛,有很多,例如数学建模竞赛,大学生物理竞赛,电子设计竞赛,挑战杯科技创新大赛,ACM程序设计竞赛,校园辩论赛(清风明辩)等等。有很大一部分是跟软件专业密切相关的。而且我们学院还有微程序竞赛, 已及各大IT公司(包括腾讯等)发起的编程大赛······我们学院还跟微软等公司有合作与交流。各种技术社团---科协,互联网协会应有尽有,令人眼花缭乱。
清华大学软件学院,是一个年轻的院系,比较精致。招收人数有限,这也给我们学生带来了极大的方便,机动性强,消息流通什么的特别迅速,能够更早更快的了解软件行业里发生的各种重大事件。而且还让我们特别团结,人数较少交流起来特别方便。而且软件工程成为一级学科也是我们院长孙家广院士(同时也是信息技术学院的院长)在全国首先提出的。清华大学作为首个创建软件工程专业的学校,这是顺应了时代的潮流(信息技术飞速发展,软件已经渗透到人们生活中的各行各业)。全国其他大学也纷纷开设软件专业,在教育界掀起了一股新的浪潮!2013年,我校的软件工程在全国同专业的教学评估中位居榜首!再创一首崭新而华丽的诗篇!
软件工程(又称计算机软件) 培养目标:培养软件系统运营,开发,设计,运维和服务的科学家与工程师,并且具有良好的综合素质,良好的职业道德,扎实的软件理论和软件工程专业基础知识,还应具有良好的软件设计与实现能力,良好的项目管理能力,良好的交流与组织协调能力,较强的参与国际竞争能力和创新能力。
国内外IT公司里的UI交互师,软件测试工程师,程序员,项目经理,架构师,界面设计师,程序维护,技术总监等等(一般是由技术人员向管理层升级的模式,能力够强的话还可以做大BOSS),当然也有涉及其它行业的,比如金融,教育,自主创业(微软,阿里巴巴,苹果等都 是这样被创立起来的,不过也比较辛苦,看自己的选择)等。截止到目前,据官方统计,我专业学生的就业率达100%。不过很大一部分没有选择在本科毕业后就业,而是继续读研,少部分人出国深造。
课程内容:C语言的各种语法,程序设计概述,数据对象与运算,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,指针,结构体,算法引论等。
学习目标:掌握好C语言,培养好编程能力,养成良好的编程风格,为后面的专业课的深入学习打下基础。
笔者看法:熟练书上的语法是比较重要的,再有就是多实际操作,多练。
使用教材:《计算机语言与程序设计》谌卫军,清华大学出版社
参考书:《程序设计基础》吴文虎,清华大学出版社
课程内容:主要以讲座为主(全是院士来讲),大致介绍一下信息技术在各个领域的发展,与 各学科间的交叉合作关系,以及未来的信息产业的发展方向。 学习目标:大致了解信息行业的发展状况,让我们能够更加了解自己的专业,加深对专业的热 爱,也为后面的专业学习做好铺垫。
笔者看法:介绍了信息技术在各个领域的应用与联系,激发我们的兴趣,确实了解到很多我们 平常不甚知晓的东西,能激发我们的好奇心。
使用教材:无。
课程内容:着重于职业素质方面的教育,了解到软件专业人才将来可能从事的哪些职位,以及对职位较为深刻而且详细的介绍,以及各职位对人素质方面的要求(除了技术,还有道德,责任,心态等各方面)还浅谈当今前沿软件技术,并了解了一下浏览器,网页等平常我们司空见惯但并未深入了解的软件相关知识。
学习目标:培养我们作为软件人应该具备的各种职业道德与能力,培养团队合作精神(软件规模稍微大点,就必须是以团队而非个人为单位进行开发等各项工作),使我们更了解自己的专业。 为以后的软件开发,团队合作埋伏笔。
笔者看法:以前是有大作业的,鉴于大一上课程较重,从我们这届开始这节课程免除了大作业。这样的话,课堂就变得轻松活泼许多。所讲的内容很有启发性与趣味性,特别是互动较多,能够参与的就积极参与,还是收益蛮大的。
使用教材:无。
课程内容:学习C++各种语法。
学习目标:熟练掌握除C语言以外的,另一种编程语言。开始培养我们的大规模程序开发的能力。养成我们良好的编程风格与习惯,学会在团队中编程,涉及到实际开发需要注意的事项。
笔者看法:难度较大一上,在逐渐加大。而且特别注重自学能力。自己需要在课外看一些老师 推荐的书,更要勤加练习。
使用教材:无。
参考书:《C++Primer》第四版(中英文不限),《高质量C++编程指南》等。
课程内容:在已知数据类型的基础上加上结构。包括图结构,集合结构,树型结构,线性结构。各种树,表,栈,队列等等。算法的话,各种时间、空间的复杂度,渐进时间复杂度,性能好坏等等,还有排序算法,贪心,动态规划等等。
学习目标:熟练掌握数据结构与算法,为高效,简单且有条理的编写程序打下坚实的基础,这在大规模的软件开发中会有很重要的作用。后面学习的基础,同时以后做项目,搞科研都是必备的。
笔者看法:认真看书,好好听讲,提前预习,多练手,问题应该不大。其实数据结构和算法分的不是那么开。
使用教材:《数据结构与算法》戴一奇,《数据结构(C语言版)》严慰敏,《算法导论》作 者:(美)Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein 著; 殷建平,徐云,王刚 等译。
参考书:《数据结构基础(C++语言版)》张力等译,清华大学出版社
课程内容:傅里叶变换、laplace变换、概率论知识、然后讲matlab、模型等等。 学习目标:通过本课程的学习,使学生了解系统模型、系统建模理论和算法。掌握实验设计和系统仿真的基本方法,处理问题的时候,将抽象的问题具体化。培养学生提出问题、利用理论分析问题和解决问题的能力。为软件工程专业的学习和实践打下基础。
笔者看法:难度大。且没有教材,只有教师的PPT,所以提高课堂效率非常重要,不要走神, 课下多下功夫,要做到弄懂,不要不懂装懂。因为此刻装懂,下一刻更难懂。
使用教材:无。
参考书:System Identification----Lennart Ljung(全英文版)
课程内容:无线网破解或程序语法分析,信息安全的相关法规,以及各种在电影里出现的那些 黑客能干出来的的东西。
学习目标:(并不是培养一群黑客)培养同学们相关的职业素养,以及信息安全方面的知识, 而且知道了如何攻击,便能想出相应的保护办法,保护程序的安全也是很重要的。 笔者看法:从小崇拜黑客的同学可以下番功夫,平时基本无小作业,课程比较笼统,技术细节 较少,蛮抽象,有大作业,需要下较大的功夫,而且分值比重较大。
使用教材:无。
课程内容:软件工程相关的各个方面,从文档,开发规范,到人员配置,注意事项无所不包。
学习目标:为今后的进一步学习软件打下良好的基础,也为以后的实际的团队开发做铺垫。
笔者看法:此课程注重管理方面,而且还有大作业,工作量大,得需要付出很多的努力,而且是以团队为单位,代码已经基本不是障碍,真正需要注意的是“团队”意识,互相协作,写代码的风格也得规范,还要注意与其他成员的代码衔接,一个人不合作,整个团队就会陷入僵局。
使用教材:《软件工程(第四版)》杨卫东译,人民邮电
课程内容:系统分析与控制的基本概念、控制系统的设计、控制系统的数学模型、控制系统的频域分析、控制系统的时域、线性离散控制系统的分析与综合、控制系统的MATLAB语言分析与设计。
学习目标:主要让我们更加了解并掌握系统化的东西,学会对系统进行控制,设计,分析等各种技能。对将来合理有效处理系统相关问题打下基础。
笔者看法:难度相对不大,但要独立认真地完成作业,这样考试就不会有很大的问题。很有趣,注意听听思路部分。
使用教材:《系统分析与控制》清华自编教材。
课程内容:数据结构的加深版。
学习目标:熟练掌握数据结构,为高效,简单且有条理的编写程序打下坚实的基础,这在大规模的软件开发中会有很重要的作用。后面学习的基础,同时以后做项目,搞科研都是必备的。
笔者看法:跟前面学数据结构有异曲同工之妙。而且大作业要早点做,实验报告要精彩。
使用教材:无。
还有一些专业课程就不一一详述了,如计算机与网络体系结构,编译原理,数据库原理,计算机组成原理,人工智能,自动机与形式语言,计算机网络,面向对象原理……有些课是二选一,有些课会根据实际情况作出调整。不过大体还是不变的,对学弟学妹们还是很有参考价值的。