Skip to Content

Introduction to the Art of Programming Using Scala

By Mark C. Lewis

Chapman and Hall/CRC – 2012 – 936 pages

Series: Chapman & Hall/CRC Textbooks in Computing

Purchasing Options:

  • Add to CartPaperback: $83.95
    978-1-43-989666-2
    November 4th 2012
    Currently out of stock

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

Reviews

"This textbook for college programming courses is obviously aimed at students in computing, but it would also be useful for students in other fields since it is about problem solving. Software designers can also use it as a reference for many programming techniques. … this is great textbook, containing a huge amount of useful information for students."

—Claudiu Popescu, Computing Reviews, March 2013

"The well-written, comprehensive book covers material beyond a two-semester introductory curriculum, aiming to become a de facto reference for the language and its features and capabilities. The pace is appropriate for beginners; programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains, including sophisticated data structures and algorithms. The work also includes two much-needed introductory chapters that address general computer notions and operating system tools, topics missing from almost every other programming book. Object-oriented material appears somewhat late in the second part of the book, but in a pedagogically appropriate fashion, and all topics follow a logical sequence. … Highly recommended. Students of all levels, faculty, and professionals/practitioners.

D. Papamichail, University of Miami in CHOICE Magazine

"I enjoyed and learned many Scala subtleties from this book, and I recommend it to all readers interested in this exciting programming language. Seasoned programmers can use it to learn the details of Scala, while newcomers can use it as an alternative to starting with Java or Python. In summary, the author has provided a unique and timely pedagogical tool that is highly recommended to a large reader audience."

—Computing Reviews, May 2014

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

Appendix A: Quick Preview of Java

Appendix B: Advanced Scala Concepts

Appendix C: Glossary

Bibliography

Index

Name: Introduction to the Art of Programming Using Scala (Paperback)Chapman and Hall/CRC 
Description: By Mark C. Lewis. 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...
Categories: Programming & Programming Languages, Computation