Data Structure & Algorithm Lecture 1 – Course Introduction JJCAO Steal some from Prof. Yoram Moses Course Introduction • Lecturer: Junjie Cao • Email: jjcao @ dlut.edu.cn • Webpage for the course: – http://www.jjcao.net/algorithmdatastructu re.html – http://www.jjcao.net/c.html 2 Problem Solving by Computer input Manipulation output 3 Problem Solving by Computer input Algorithm output 4 What is an Algorithm? Data input Data manipulation Data output 5 Purpose of learning the course: Solving problems by computer • Data: information being analyzed e.g.: numbers, words, movies • Algorithm: a computational procedure for solving a problem • Data structure: The way the data is organized 6 Objectives and Philosophy • Objectives – Scientist (thesis + research) – IT, even other job (interview + work) – Mathematician + programmer in short period • Coding with C++ • Design appropriate data structures • Implement smart algorithms • Philosophy – Interest examples driven – Useful Problems driven – Practice makes perfect! 7 Preliminary Knowledge 1. Little programming background is acceptable 2. IDE: Visual C++ 2010 3. Language: C++ • How to learn them now? – Learning by practice (homework assigned in this course) 8 讨论 • 各位目标 – 学好? • 考试高分 • 编程高手 – 混学分? • 应付考试 • 希望的技能 – C or C++? – Turbo C/C++ or Visual C/C++? • 授之以鱼,不如授之以渔 • Enjoy coding Course Introduction • 48 hours / 3credits • Final Grade = 30%*(Overall grade) +70% *(Score on Final Exam) • Overall grade: attendance, homework, midterm exam 不允许抄袭! 10 How to teach/learn? Data Structure & Algorithm “秘诀在于,我摸索出一套有效的方法, 能够在最短的时间内, 帮助学生快速提高编程的能力!” -- 刘利刚 http://www.math.zju.edu.cn/ligangliu/Resources/GraduateRecruiting.htm 11 Requirements(1) • 代码编写 – 符合一定的规范 – 代码清晰 – 适当注释 Requirement(2) • 作业提交 – 文档说明:运行参数,操作等 – 编译通过,程序能运行 – 压缩打包上载到课程FTP • 去除不必要的文件,如\debug目录 • 文件命名规则: DA_yourID_HomeworkID#_name.zip • 举例:20091003_Homework1_张三.zip Requirement(3) • 必须在规定的最后期限之前递交 • 超过最后期限,扣分 Requirement(4) • 独立完成 • 相互帮助 • 团队合作 • 绝不允许抄袭! Course FTP • ftp://202.118.75.60:21 – Username: homework – Password: homework • 只有上载权限,没有下载和删除等其他权限 • Hand in your homework – Upload by FTP – DON’T send via E-mail References Books 2. to Algorithms [Skiena2] Steven S. Skiena, The Algorithm Design Manual 2nd, 3. [Samet] Hanan Samet, Foundations 4. [Lafore24] Robert Lafore, Teach 5. [LRJ21], Teach 1. 6. [CLRS] T.H. Cormen, C.E. Leiserson and R.L. Rivest, Introduction http://www.algorist.com/ Structures in 24 hours of Multidimensional and Metric Data yourself data structures and algorithms Yourself C++ in One Hour a Day [McConnel2] Steve McConnell, Code Complete, 2nd 17 Reference Courses 1. ZJU 06191170, Data Structure, 2011, http://www.math.zju.edu.cn/ligangliu/Courses/DataStructure_2010-2011/default.htm 2. Technion 044268, Introduction to Data Structures and Algorithms, 2009 (Interesting sliders, homework and Reading Material are not in English), http://eecourses.technion.ac.il/044268/ 3. SBU CSE 373, Analysis of Algorithms, 2011 (Steven S. Skiena, Comprehensive) http://www.cs.sunysb.edu/~skiena/373/ 18 Referenced websites • http://www.algolist.net/ 19 Computer Graphics & Vision 20