Book description
This text 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. It teaches fundamental problem solving and programming in the small, illustrates the benefits of object-oriented design, and presents data structures showing different implementations of key ADTs. It also covers advanced topics such as multithreading and networking. Ancillary resources, including video lectures and more exercises, are accessible from the book's website.
Table of contents
- Preliminaries
- Acknowledgments
- Preface
-
Part I Introductory Concepts
- Chapter 1 Basics of Computers, Computing, and Programming
- Chapter 2 Getting to Know the Tools
- Chapter 3 Scala Basics
- Chapter 4 Conditionals
- Chapter 5 Functions
- Chapter 6 Recursion for Iteration
- Chapter 7 Arrays and Lists in Scala
- Chapter 8 Loops
- Chapter 9 Text Files
- Chapter 10 Case Classes
- Chapter 11 GUIs
- Chapter 12 Graphics
- Chapter 13 Sorting and Searching
- Chapter 14 XML
- Chapter 15 Recursion
-
Part II Object-Orientation, Abstraction, and Data Structures
-
Chapter 16 Object-Orientation
- 16.1 Basics of Object-Orientation
- 16.2 Revisiting the API
- 16.3 Meaning of case classes
- 16.4 import Options
- 16.5 End of Chapter Material
- Chapter 17 Bigger Programs/New Tools
- Chapter 18 A Project (Drawing Program)
- Chapter 19 Abstraction and Polymorphism
- Chapter 20 Other Collection Types
-
Chapter 21 Multithreading and Concurrency
- 21.1 The Multicore Future
- 21.2 Basic Threads
- 21.3 Concurrency Library
- 21.4 Parallel Collections
- 21.5 Introduction to Scala Actors
- 21.6 Multithreaded Mandelbrot (Project Integration)
- 21.7 Multithreading in GUIs
- 21.8 Animated Bouncing Balls (Project Integration)
- 21.9 End of Chapter Material
- Chapter 22 Stream I/O
- Chapter 23 Networking
- Chapter 24 Stacks and Queues
- Chapter 25 Linked Lists
- Chapter 26 Priority Queues
-
Chapter 27 Refactoring
- 27.1 Smells
-
27.2 Refactorings
- 27.2.1 Built-in Refactoring Methods
- 27.2.2 Introduce Null Object
- 27.2.3 Add and Remove Parameter
- 27.2.4 Cures for Switch Statements
- 27.2.5 Consolidate Conditional Expression
- 27.2.6 Convert Procedural Design to Objects
- 27.2.7 Encapsulate Collection
- 27.2.8 Push Down or Pull Up Field or Method
- 27.2.9 Substitute Algorithm
- 27.3 End of Chapter Material
- Chapter 28 Recursion
- Chapter 29 Trees
- Chapter 30 Regular Expressions and Context-Free Parsers
- Chapter 31 Spatial Trees
- Chapter 32 Binary Heaps
- Chapter 33 Direct Access Binary Files
- Chapter 34 Actors
- Chapter 35 Augmenting Trees
- Chapter 36 Wrapping Up
-
Chapter 16 Object-Orientation
- Appendix A Quick Preview of Java
- Appendix B Advanced Scala Concepts
- Appendix C Glossary
- Bibliography
Product information
- Title: Introduction to the Art of Programming Using Scala
- Author(s):
- Release date: November 2012
- Publisher(s): Chapman and Hall/CRC
- ISBN: 9781498759687
You might also like
book
Get Programming with Scala
The perfect starting point for your journey into Scala and functional programming. In Get Programming in …
book
Learn Scala Programming
" A step-by-step guide in building high-performance scalable applications with the latest features of Scala. Key …
video
Beginning Scala Programming
In this Beginning Scala Programming training course, expert author Daniel Hinojosa will teach you everything you …
book
Learning Concurrent Programming in Scala - Second Edition
Learn the art of building intricate, modern, scalable, and concurrent applications using Scala About This Book …