1 / 20

Programming Thinking and Method (0)

Programming Thinking and Method (0). Zhao Hai 赵海 Department of Computer Science and Engineering Shanghai Jiao Tong University zhaohai @cs.sjtu.edu.cn. Outline. Course Motivations Course Syllabus ( 教学大纲 ) Prerequisites Course Teaching Method Course Schedule Course Requirements.

Download Presentation

Programming Thinking and Method (0)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming Thinking and Method (0) Zhao Hai 赵海Department of Computer Science and EngineeringShanghai Jiao Tong Universityzhaohai@cs.sjtu.edu.cn

  2. Outline Course Motivations Course Syllabus (教学大纲) Prerequisites Course Teaching Method Course Schedule Course Requirements

  3. Course Motivations Reform the thinking way of current programming courses. Explore a new teaching strategy. Reveal different problem nature related to domain-specific and domain-independent. Emphasize that different developing tools can be used for problem-solving.

  4. Course Motivations Combine individual lab assignment and group project.

  5. Course Syllabus Part I: Python Programming (16 Lectures) Introduction to Computer Science Introduction to Python Value, Type, Variable, Assignment, and Type Conversion String, List, Tuple and Dictionary Conditional and Loop Statement Function and Parameters Recursion

  6. Course Syllabus Part II: Introduction to Computer Simulations, Applications and Data Structures (10 Lectures) Simulation and Optimization Introduction to Computational Linguistics Data Structure and Application: Traversal and Search Graph and Scientific Application

  7. Course Syllabus Part III: Looking at Programming Methodology (8 Lectures) Programming Language and Paradigm Algorithm Design, Correctness and Efficiency Noncomputability, Intractability and Undecidability Computational Model: Parallelism, Concurrency, and Alternative Models

  8. Prerequisites General interest in science. No prior programming experience is expected. Math background is required.

  9. Course Teaching Method Present the basic concept of computational thinking and explain the basic thinking and method of programming. Adopt one of the developing tools - Python for giving lectures and demos, let students understand thinking and method of problem-solving and have a great interest in the application of such thinking and method.

  10. Course Teaching Method Introduce classroom discussion in teaching procedure, let students blend computational thinking in different specialities well. Learning after class makes students study more background knowledge to resolve problem themselves, find suitable tools and component library. Thus, cultivate students' self-learning consciousness and ability of problem-solving.

  11. Course Schedule Curriculum Schedule Note: During the course, the students will accomplish a group project to resolve a more complex real-world problem using Python programming language.

  12. Course Requirements Grade Distribution (percents maybe revised later) Attendance and Assignment 30% Project 30% Final Examination 40% Text Book Allen Downey, Jeffrey Elkner and Chris Meyers. How to Think Like a Computer Scientist: Learning with Python. Green Tea Press. April, 2002. ISBN 0-9716775-0-6.

  13. Course Requirements References John M. Zelle. Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates, 2004. ISBN 1-887902-99-6. David Harel and Yishai Feldman. Algorithmics: The Spirit of Computing (3rd Edition), Addison-Wesley, 2004. ISBN 0-321-11784-0. Nell Dale, John Lewis. Computer Science Illuminated. Jones and Bartlett Publishers. 2002. ISBN 0-7637-1760-6.

  14. Course Requirements Course Assistants To be announced Course Website A backup for the courseware is available on the website: http://202.120.38.156/PTM-Python/ http://bcmi.sjtu.edu.cn/~zhaohai/ptm2013/index.html

  15. Course Requirements On this website, if necessary, we will also provide other course material to help you during your study.

  16. Course Requirements Computational Thinking Reference: J. M. Wing. Computational Thinking. Communications of the ACM. Vol. 49, No. 3. March 2006. p33~35.

  17. Course Requirements Through understanding Computational Thinking and learning this course, we hope that students for “thinking” of programming will: have a comprehensive understanding of the role computation plays in solving scientific problems. value computation as foundational tool in scientific discovery.

  18. Course Requirements have explored the impact of different algorithms on efficiency and performance. have understood and applied basic programming principles. have a basic understanding of programming allowing the exploration of other programming language. have a basic understanding about the limits of computation and intractable problems.

  19. Course Requirements Through understanding Computational Thinking and learning this course, we also hope that students for “method” of programming will: analyze and abstract a problem. design and implement an effective software solution for scientific problems. effectively use modules of software libraries described by functional specifications.

  20. Course Requirements understand the use and functionality of basic data structures. write programs that accomplish useful goals; and visualize the results appropriately. read and adapt existing programs.

More Related