- ホーム
- > 洋書
- > 英文書
- > Computer / Languages
基本説明
This text is the first to teach programming with Scala, one of a new generation of languages that combine the best from the procedural, functional, and object-oriented paradigms of programming.
Full Description
With its flexibility for programming both small and large projects, Scala is an ideal language for teaching beginning programming. Yet there are no textbooks on Scala currently available for the CS1/CS2 levels. Introduction to the Art of Programming Using Scala presents many concepts from CS1 and CS2 using a modern, JVM-based language that works well for both programming in the small and programming in the large.
The book progresses from true programming in the small to more significant projects later, leveraging the full benefits of object orientation. It first focuses on fundamental problem solving and programming in the small using the REPL and scripting environments. It covers basic logic and problem decomposition and explains how to use GUIs and graphics in programs. The text then illustrates the benefits of object-oriented design and presents a large collection of basic data structures showing different implementations of key ADTs along with more atypical data structures. It also introduces multithreading and networking to provide further motivating examples.
By using Scala as the language for both CS1 and CS2 topics, this textbook gives students an easy entry into programming small projects as well as a firm foundation for taking on larger-scale projects. Many student and instructor resources are available at www.programmingusingscala.net
Contents
Introductory Concepts: Basics of Computers, Computing, and Programming. Getting to Know the Tools. Scala Basics. Conditionals. Functions. Recursion for Iteration. Arrays and Lists in Scala. Loops. Text Files. Case Classes. GUIs. Graphics. Sorting and Searching. XML. Recursion. Object-Orientation, Abstraction, and Data Structures: Object-Orientation. Bigger Programs/New Tools. A Project (Drawing Program). Abstraction and Polymorphism. Other Collection Types. Multithreading and Concurrency. Stream I/O. Networking. Stacks and Queues. Linked Lists. Priority Queues. Refactoring. Recursion. Trees. Regular Expressions and Context-Free Parsers. Spatial Trees. Binary Heaps. Direct Access Binary Files. Actors. Augmenting Trees. Wrapping Up. Appendices. Bibliography. Index.