My Account Log in

1 option

Ten software patterns every student should know Michael Kilian

Springer Nature - Springer Computer Science eBooks 2026 English International Available online

View online
Format:
Book
Author/Creator:
Kilian, Michael, author.
Series:
Computer science series
Computer Science Series
Language:
English
Subjects (All):
Computer algorithms.
Software engineering.
C (Computer program language).
algorithms.
Physical Description:
1 online resource
Edition:
1st ed.
Place of Publication:
Singapore Springer 2026
Summary:
Just as students of literature must know the basic canon of English works, so should students of software engineering know basic patterns of program development. Even with the advent of powerful AI tools for programming, it is important to understand the techniques and approaches to building efficient programs. This book picks out ten patterns that span several programming domains that represent key ideas that apply to breadth of software engineering tasks. The patterns are not algorithms but ways of approaching the construction of sophisticated software systems. The book opens with one of the most ubiquitous software patterns that is often invisible to programmers: Hash tables. Yet building a truly scalable and efficient hash table that may even span multiple computers is not often taught in school and often cannot be obtained "off-the-shelf". Other patterns include using finite state machines to recognize basic patterns and to ensure programs don't miss critical use cases. Two patterns provide ways of reasoning about multi-threaded and multi-process programs and introducing a way of programming that works for both types of concurrent programming. The book closes with a call to design for failure: to anticipate that a complex system rarely works perfectly and that determining why something fails is almost as important as knowing why it works. Michael Kilian holds a Ph.D. from Harvard University and been working in Software Engineering for nearly 50 years. This book grew from interviews with college students while working at Ab Initio and realizing that some basic ideas were missing from the curricula of even the brightest students
Contents:
Chapter 1. Pattern 1: Hash Tables.
Chapter 2. Pattern 2: Finite State Machines.
Chapter 3 Pattern 3: Bloom Filters.
Chapter 4 Pattern 4: Network Programming.
Chapter 5 Pattern 5: Network Event Processing.
Chapter 6 Pattern 6: Digital Fingerprinting.
Chapter 7 Pattern 7: Concurrent Programming with Threads.
Chapter 8 Pattern 8: Concurrent Programming with Processes and Messages.
Chapter 9 Pattern 9: Memory Management.
Chapter 10 Pattern 10: Monitoring and Error Handling
Notes:
Online resource; title from PDF title page (SpringerLink, viewed July 6, 2026)
ISBN:
9789819202607
9819202604
OCLC:
1602294888
Access Restriction:
Restricted for use by site license

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account