Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning C# object-oriented programming (2nd ed.)
Clark D., Apress, Berkeley, CA, 2013. 384 pp. Type: Book (978-1-430249-35-1)
Date Reviewed: Oct 15 2013

A dilemma facing the authors of introductory programming textbooks is whether there is a boundary between design and programming, and if so, which one to introduce first. Historically, programming is usually taught first. Even in modern computing curricula, an introduction to programming is typically a first course. Yet conceptually, design is so fundamental that some believe students ought to be exposed to it before programming. Another dilemma concerns the selection of programming concepts to introduce to beginners. Unlike “old” imperative languages, such as Fortran and Pascal, modern object-oriented languages and their integrated development environments (IDEs) provide a rich and complex set of features for a variety of application domains.

This book sets out to introduce beginners to object-oriented design, object-oriented programming using C#, and specialized applications. However, there seems to be some confusion here about what the task of programming means. One would assume that a programmer is someone who develops algorithms and implements them using a programming language.

The first four chapters provide a light overview of object-oriented concepts using the unified modeling language (UML). Various UML diagrams are shown, one after the other, suggesting the author expects a beginner to grasp the functionality and the subtleties of the UML notation from these diagrams. The usefulness of such a lesson is unclear. The following chapter gives a tour of the .NET framework and Visual Studio. The next four chapters cover C# concepts, such as classes, communication, overloading, abstract classes, derived classes, overriding, overloading, polymorphism, and much more. The exposition follows a typical pattern of showing a piece of code and providing a brief explanation of what the code accomplishes. Such a condensed introduction to these concepts could overwhelm even advanced programmers. Each of the remaining chapters covers a specialized area, such as interacting with SQL databases or developing Windows and web applications. Each chapter contains an activity section to give the reader hands-on experience. Far from being an active learning experience, this is largely a scripted exercise that constrains the user to a “do as I say” scenario. The first appendix presents an overview of C# data types and control structures. A second appendix briefly describes exceptions.

Even though the book is intended for beginners, its content is shallow and its exposition is largely focused on defining rather than explaining. Lumping basic and advanced topics together makes it hard for the reader to grasp the necessary gradual development of structure that facilitates the cognitive accomplishments of a beginner.

Reviewer:  B. Belkhouche Review #: CR141640 (1312-1052)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Object-Oriented Programming (D.1.5 )
 
 
C# (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Object-Oriented Programming": Date
Object-oriented programming systems, languages, and applications
Paepcke A.  Object-oriented programming systems, languages, and applications,Phoenix, AZ,Oct 6-Oct 11, 1991,1991. Type: Whole Proceedings
Oct 1 1992
Object lifecycles
Shlaer S., Mellor S., Yourdon Press, Upper Saddle River, NJ, 1992. Type: Book (9780136299400)
Apr 1 1993
Object-oriented programming
Voss G., Osborne/McGraw-Hill, Berkeley, CA, 1991. Type: Book (9780078816826)
Oct 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy