软件技术基础第一讲内容•算法和数据结构•数据库•操作系统•软件工程参考书——算法和数据结构•C程序设计的抽象思维,EricS.Roberts著,闪四清译,机械工业出版社参考书——数据库•数据库系统概念,AbrahamSilberschatz,机械工业出版社参考书——操作系统•现代操作系统,AndrewS.Tanenbaum,机械工业出版社为什么学这门课?•学会用计算机来建模和解决复杂问题为什么学这门课?•学会用计算机来建模和解决复杂问题–对问题进行抽象–学会递归思考–对解决问题的方法进行量化分析为什么学这门课?•学会用计算机来建模和解决复杂问题–对问题进行抽象–学会递归思考–对解决问题的方法进行量化分析建立起一套抽象词汇库来表示和解决各种问题为什么学这门课?•学会用计算机来建模和解决复杂问题–对问题进行抽象–学会递归思考–对解决问题的方法进行量化分析什么是递归?•斐波那契数:•0,1,1,2,3,5,8,13,21,…•递归定义:–fib(n)=n;ifn=0或1–fib(n)=fib(n-1)+fib(n-2);否则用递归解决问题就是将问题分解成形式相同但规模更小的问题。为什么学这门课?•学会用计算机来建模和解决复杂问题–对问题进行抽象–学会递归思考–对解决问题的方法进行量化分析解决问题要多久?编程工具•Code::blocks另一个目的•学会编写风格良好的代码另一个目的•学会编写风格良好的代码•什么是风格良好的代码?另一个目的•学会编写风格良好的代码•什么是风格良好的代码?•易于理解、易于使用的代码另一个目的•学会编写风格良好的代码•什么是风格良好的代码?•易于理解、易于使用的代码•别人能基于你的代码进行编程吗?下节预告:C语言速成