zoukankan      html  css  js  c++  java
  • Fundamentals of Python: Preface

    Welcome to Fundamentals of Python. This text is intended for a complete, first year study of programming and problem solving. It covers the material taught in typical Computer Science 1 and Computer Science 2 courses(CS1 and CS2) at the undergraduate level.

        This book covers five major aspects of computing:

        1 Programming Basics---Data Types, control structures, algorithm development, and program design with functions are basic ideas that you need to master in order to solve problems with computers. This book examines these core topics in detail and gives you practice employing your understanding of them to solve a wide range of problems.

        2 Object-Oriented Programming (OOP)---Object-Oriented Programming is the dominant programming paradigm used to develop large software systems. This book introduces you to the fundamental principles of OOP and enables you to apply them sucessfully.

        3 Data and Information Processing---Most useful programs rely on data structures to solve problems. These data structures include strings, arrays, files, lists, stacks, queues, tress, sets, dictionaries, and graghs. This book gives you experience using, building, and assessing the performance of data structures. The genera concepts of abstract data types is introduced, as is the difference between abstraction and implementation. You’ll learn to use complexity analysis to evaluate space/time tradeoffs of different implementations of ADTs.

        4 Software Development Life Cycle---Rather than isolate software development techniques in one or two chapters, this book deals with them throughout in the context of numerous case studies. Among other things, you’ll learn that coding a program is often not the most difficult and challenging aspect of problem solving and software development.

        5 Contemporary Applications of Computing---The best way to learn about programming and problem solving is to create interesting programs with real-world applications. In this book, you’ll begin be creating applications that involve numerial problems and text processing. For example, you’ll learn the basics of encryption techniques such as those that are used to make your credit card number and other information secure on the Internet. But unlike many other introductory texts, this one does not restrict itself to problems involving numbers and text. Most contemporary applications involve graphical user interfaces, event-driven programming, graphics, and network communications. These topics are presented in optional, standalone chapters.

    Why Python?

    Computer technology and applications have become increasingly more sophisticated over the past to decades, and so has the computer science curriculum, especially at the introductory level. Today’s students learn a bit of programming and problem-solving, and are then expected to move quickly into topics like software development, complexity analysis, and data structures that, twenty years ago, were relegated to advanced courses. In addition, the ascent of object-oriented programming as the dominant paradigm of problem solving has led instructors and textbook authors to bring powerful, industrial-strengh programming languae such as C++ and Java into the introductory curriculum. As a result, instead of experiencing the rewards and excitement of solving problems with computers, beginning computer science students often become overwhelmed by the combined tasks of masting advanced concepts as well as the syntax of a programming language.

        This book uses the Python programming language as a way of making the first year computer science more manageable and attractive for students and instructors alike. Python has the following pedagogical benefits:

        Python has simple, conventional syntax. Python statements are very close to those of pseudocode algorithms, and Python expressions use conventional notation found in algebra. Thus, students can spend less time learning the syntax of a programming language and more time learning to solve interesting problems.

        Python has safe semantics. Any expression or statement whose meaning violates the definition of the laguage produces an error message.

        Python scales well. It is very easy for beginners to write simple programs in Python. Python also includes all of the advanced features of a modern programming language, such as support for data structures and object-oriented software development, for use when they become necessary.

        Python is highly interactive. Expressions and statements can be entered at an interpreters prompts to allow the programmer to try out experimental code and receive immediate feedback. Longer code segments can then be composed and saved in scripts files to be loaded and run as modules or standalone applications.

        Python is genera purpose. In today’s context, this means that the language includes resouces for comtemporary applications, including media computing and networks.

        Python is free and is in widespread use in industry. Students can download Python to run on a variety of devices. There is a large Python user community, and expertise in Python has great resume value.

    To summarize these benifits, Python a comfortable and flexible vehicle for expressing ideas about computation, both for beginners and for experts as well. If students learn these ideas well in the first year, they should have no problems making a quick transition to other languages needed for courses later in the curriculum. Most importanly, beginning students will spend less time staring at a computer screen and more time thinking about intetesting problems to solve.

    dominant /ˈdɔmɪnənt/ adj more powerful, important, or noticeable than other people or things

    paradigm /ˈpærədaɪm/ n [C] technical a model or example that shows how something works or is produced

    assess  /əˈses/ v [T] to make a judgment about a person or situation after thinking carefully about it

    isolate /ˈaɪsəleɪt/ v [T] to separate one person, group, or thing from other people or things

    contemporary /kənˈtempərəri/ adj belonging to the present time

    curriculum /kəˈrɪkjʊləm/ n plural curricula /-lə/ or plural curriculums [C]
    the subjects that are taught by a school, college etc, or the things that are studied in a particular subject

    relegate /ˈrelɪgeɪt/ v [T] to assign or refer (a matter) to another or others, as for action or decision

    ascent /əˈsent/ n the process of becoming more important, powerful, or successful than before

    overwhelm ['əʊvər'hwelm]

    pedagogical /ˌpedəˈgɔdʒɪkəl/ adj relating to teaching methods or the practice of teaching

    violate /ˈvaɪəleɪt/ v [T] to disobey or do something against an official agreement, law, principle etc

    expertise /ˌekspəːˈtiːz/ n [U] special skills or knowledge in a particular subject, that you learn by experience or training

  • 相关阅读:
    一次优化web项目的经历记录(一)
    自己做的萌萌哒的js宠物挂件~
    最近的两个小项目,2:Python webapp的docker镜像
    最近的两个小项目,1:在Vscode里写C/C++
    Markdown写接口文档,自动添加TOC
    使用SqlAlchemy时如何方便的取得dict数据、dumps成Json
    【漏洞预警】SaltStack远程命令执行(CVE-2020-11651、CVE-2020-11652) 植入挖矿木马的应急响应 salt-minions salt-store挖矿程序跑满cpu
    pycharm 常用配置
    gitlab + jenkins + docker + k8s
    Microservice 概念
  • 原文地址:https://www.cnblogs.com/cbkun/p/3259963.html
Copyright © 2011-2022 走看看