.NET Book Zero

Sponsor Advertisement

My image
  • Author: Charles Petzold
  • Format: PDF and XPS, with downloadable source code
  • Price: free

This book is an introduction to C# and the Microsoft .NET Framework for programmers who have experience with C or C++.

Chapters include:

  • Why This Book?
  • Why .NET?
  • Runtimes and SDKs
  • Edit, Compile, Run, Disassemble
  • Strings and the Console
  • Primitive Data Types
  • Operators and Expressions
  • Selection and Iteration
  • The Stack and the Heap
  • Arrays
  • Methods and Fields
  • Exception Handling
  • Classes, Structures, and Objects
  • Instance Methods
  • Constructors
  • Concepts of Equality
  • Fields and Properties
  • Inheritance
  • Virtuality
  • Operator Overloading
  • Interfaces
  • Interoperability
  • Dates and Times
  • Events and Delegates
  • Files and Streams
  • String Theory
  • Generics
  • Nullable Types

http://www.charlespetzold.com/dotnet/

Data Structures

Sponsor Advertisement

Data Structures
  • Author: Wikibooks
  • Format: online HTML
  • Price: free

This book is about the creation and analysis of efficient data structures and covers:

  • the primitive node structure;
  • asymptotic notation for mathematically discussing performance characteristics;
  • built-in arrays;
  • list structures built from either nodes or arrays;
  • iterators as an abstract model of enumerating the items in a sequence;
  • stacks and queues for computing with last-in/first-out and first-in/first-out orderings;
  • binary and general tree structures for searching or representing hierarchical relationships;
  • min and max heaps for representing ordering based on priorities;
  • graph structures for representing more general relationships between data elements;
  • hash tables for the efficient retrieval of strings and other objects; and finally
  • trade-offs between the structures, and strategies for picking the most appropriate ones.

To understand the material in this book you should be comfortable enough in a programming language to be able to work with and write your own variables, arithmetic expressions, if-else conditions, loops, subroutines (also known as functions), pointers (also known as references or object handles), structures (also known as records or classes), simple input and output, and simple recursion.

Chapters include:

  • Introduction
  • Asymptotic Notation
  • Arrays
  • List Structures and Iterators
  • Stacks and Queues
  • Trees
  • Min and Max Heaps
  • Graphs
  • Hash Tables
  • Sets
  • Tradeoffs

http://en.wikibooks.org/wiki/Data_Structures

Compiler Construction

Sponsor Advertisement

My image
  • Author: Wikibooks
  • Format: online HTML
  • Price: free

The purpose of this Wikibook is to provide practical advice on writing a compiler, together with some working examples of both compilers and interpreters. Some theory is unavoidable, but has been kept to a minimum. If you search the Web for “compiler construction” you will find lots of information and many different approaches. All this book can do is demonstrate a few of the many possible ways of constructing a compiler. After going through this book you should be better able to judge other methods.

Chapters include:

  • Introduction
  • Dealing with Errors
  • Case Study 1 – a Simple Interpreter
  • Lexical Analysis
  • Syntax Analysis
  • Semantic Analysis
  • Intermediate Representation
  • Optimization
  • Code Generation
  • Run-time Considerations
  • Development Environment
  • Testing

http://en.wikibooks.org/wiki/Compiler_Construction

The Guide to the Software Engineering Body of Knowledge

Sponsor Advertisement

My image
  • Author: P. Bourque, R. Dupuis, A. Abran, J. W. Moore, and L. L. Tripp
  • Format: PDF, online HTML
  • Price: free

The software engineering body of knowledge is an all-inclusive term that describes the sum of knowledge within the profession of software engineering. Since it is usually not possible to put the full body of knowledge of even an emerging discipline, such as software engineering, into a single document, there is a need for a Guide to the Software Engineering Body of Knowledge. This Guide will seek to identify and describe that subset of the body of knowledge that is generally accepted, even though software engineers must be knowledgeable not only in software engineering, but also, of course, in other related disciplines.
Chapters include:

  • Introduction to the Guide
  • Software Requirements
  • Software Design
  • Software Construction
  • Software Testing
  • Software Maintenance
  • Software Configuration Management
  • Software Engineering Management
  • Software Engineering Process
  • Software Engineering Tools and Methods
  • Software Quality
  • Related Disciplines of Software Engineering

HTML: https://www.computer.org/web/swebok/
PDF: http://www.computer.org/portal/web/store?product_id=RN0000001&category_id=ReadyNotes

Getting Real: The smarter, faster, easier way to build a successful web application

Sponsor Advertisement

My image
  • Author: 37signals
  • Format: online HTML
  • Price: free

Getting Real details the business, design, programming, and marketing principles of 37signals. The book is packed with keep-it-simple insights, contrarian points of view, and unconventional approaches to software design.

This is not a technical book or a design tutorial, it’s a book of ideas. Anyone working on a web app — including entrepreneurs, designers, programmers, executives, or marketers — will find value and inspiration in this book.

37signals used the Getting Real process to launch five successful web-based applications (Basecamp, Campfire, Backpack, Writeboard, Ta-da List), and Ruby on Rails, an open-source web application framework, in just two years with no outside funding, no debt, and only 7 people (distributed across 7 time zones).

Over 500,000 people around the world use these applications to get things done. Now you can find out how they did it and how you can do it too. It’s not as hard as you think if you Get Real.

Chapters include:

  • Introduction
  • The Starting Line
  • Stay Lean
  • Priorities
  • Feature Selection
  • Process
  • The Organization
  • Staffing
  • Interface Design
  • Code
  • Words
  • Pricing and Signup
  • Promotion
  • Support
  • Post-Launch
  • Conclusion

http://gettingreal.37signals.com/toc.php