Wednesday, May 14, 2014

Good Books on Software Development

Documenting Software Architectures by Paul Clements, Felix Bachmann, Len Bass, David Garlan

Computer Fundamentals by Sean Walton 1997

Computer Organization and Architecture by William Stallings 2000

Agile Principles, Patterns and Practices in C#

Algorithms - S Dasgupta, C. H. Papadimitriou, and U.V. Vazirani

Introduction to Algorithms - 3rd Edition, Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein

Programming Embedded Systems in C and C++  Michael Barr

UML Distilled Third Edition Martin Fowler

Expert C Programming Deep C Secrets  by Peter Van Der Linden

Operating System Concepts - Seventh Edition  Siberschatz, Galvin, Gagne

Programming from the Ground Up by Jonathan Bartlett

Technical Aptitude Questions by Vyom Network  vyomworld.com



Programming:
1. Let Us C - Yashvant Kanitkar (Basic Level)
2. C book by Herbert Schild (Medium level)
3. C book by Kernighan – Ritchie (Advanced Level)
4. Programming Pearls by Jon Bentley
5. Introduction to Algorithms - by Thomas H. Cormen, Charles E. Leiserson , Ronald L. Rivest , Clifford Stein
6. Data structure and Algorithms by Aho, Ulman and Hopcroft
7. Yashawant Kanetkar’s “Test Your C Skills” and “ Test Your C++ Skills “ are good for skill tests J
a. More such books can be found at:  http://www.pdfgeni.com/ref/test-your-C-skills-pdf.html
8. C++ Primer by Lippman
9. C++ is Robert Lafore (Basic & Medium level are covered here)
10. The C++ programming language - Bjarne stroustrup –Basic/Medium
11. Effective C++ - Scott Meyers - Advanced
12. More Effective C++ - Scott Meyers –Advanced
13. Programming embedded systems in C and C++ - Michael Barr – Basic
14. C++ complete reference (Not sure if it is still available at this link)
a. http://www.cse.iitb.ac.in/~rohitvanshi/eBooks/C++%20Complete%20Reference%203rd%20Ed%20-%20Schildt.pdf
15. Writing Solid Code

OS:
1. Operating System Concepts by Galvin (http://www.os-book.com/)

Embedded:
1. Fundamentals of Embedded Software - Where C and Assembly meet
a. Author : Daniel W. Lewis, Level : Basic
2. http://books.google.com/books?id=tgLm2g8KnH0C&pg=PP1&dq=Raj+Kamal#PPP1,M1
a. Medium level information about Embedded System and it covers brief about lot of topics
3. http://www.amazon.com/Programming-Embedded-Systems-Development-Tools/dp/0596009836/ref=pd_sim_b_1
a. Basic: Programming Embedded Systems: With C and GNU Development Tools, Author: Michael Barr, O’Reilly
4. http://www.amazon.com/Embedded-Software-Primer-David-Simon/dp/020161569X/ref=sr_1_1?ie=UTF8&s=books&qid=1241762536&sr=1-1
a. Medium: An Embedded Software Primer, Author: David E. Simon, Addison-Wesley Professional
5. http://www.amazon.com/Real-Time-Concepts-Embedded-Systems-Qing/dp/1578201241/ref=pd_sim_b_3
a. Advanced: Real-Time Concepts for Embedded Systems, Author: Qing Li, CMP Books
6. Embedded Systems - Architecture, Programming and Design, Author: Prof. (Dr.) Raj Kamal, McGraw-Hill

Analysis & Design:
1. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma Richard Helm Ralph Johnson John M. Vlissides (e-book available - illegal copy)
2. Applying UML and patterns in OOAD – Larman -Advanced
3. Object oriented analysis and design – 3rd edition – Grady booch –Medium
4. UML Distilled 3rd edition by Martin flower
5. Refactoring – Improving the design of existing code - Martin Fowler, Kent Beck, John Brant
6. Coder to Developer - Mike Gunderloy
7. How to design programs - Matthias Felleisen, Robert Bruce Findler

Friday, May 09, 2014

Java Books

Think Java
How to Think Like a Computer Scientist
Allen B. Downey

Thinking in Java - Fourth Edition
Bruce Eckel

Effective Java - Second Edition
Joshua Bloch


JAVA Tutorial
Simply Easy Learning by Tutorialspoint.com

The Complete Reference
Java Fifth Edition
Herbert Schildt

Java Tutorials by Oracle

THE Java Programming Language, 4th Edition
Ken Arnold, James Gosling, David Holmes

Sun Certified Enterprise Architect for Java EE Study Guide
Paul R. Allen
Joseph J. Bambara

Sun Certified Programmer for Java 6 Study Guide
Kathy Sierra
Bert Bates

Sun Certified Programmer for Java Platform, SE6
Richard F. Raposa

Cool Books

Making Things See - Learn by Discovery
Greg Borenstein
Make: makezine.com

Making Things Talks - Learn by Discovery
Tom Igoe
Make: Makezine.com

Design Patterns - Books

Design Patterns

1. Agile Principles, Patterns, and Practices in C#
Robert C Martin and Micah Martin


2. Design Patterns in Java Tutorial
Simply Easy Learning by Tutorialspoint.com

3. Design Patterns for Dummies
Steve Holzner, PhD


4. Examples to Accompany Design Patterns
Elements of Reusable Object-Oriented Software

Thursday, May 08, 2014

Data Structures Books

Data Structures Resources

1. Prof. Nikhil Gupta, IIT Delhi - Videos on NPTEL

2. Data Structures and Algorithms in Java
Michael T Goodrich
Roberto Tamassia


3. A Practical Introduction to Data Structures and Algorithm Analysis
Third Edition
Clifford Shaffer, Virgina Tech

4. Algorithmic Puzzles
Anany Levitin and Maria Levitin

5. Prof Narahari Data Structures Book

6. Cormen - Introduction to Algorithms

Introduction to Computing - Explorations in Language, logic and Machines

David has taught a course on Udacity and he has written an excellent book as well...

Introduction to Computing - Explorations in Language, logic and Machines