At last, after long months of hard work, the book is ready - the one that will help thousands of beginner programmers learn the basics of programming, data structures and even algorithms (knowledge that is missing even in people with a long track record as "programmers"). If you have the desire and the will to become a good programmer but lack the experience, this is exactly the book for you. All the examples and exercises in the book are built around C# and the .NET platform, Microsoft's future. By reading the book and solving the exercises you will get the foundation to stand on while you learn whichever technology you prefer. The book will give you the knowledge that is fundamental for every programmer. "Introduction to Programming with C#" exists thanks to Svetlin Nakov, Vesko Kolev, Telerik AD, the authors, the editors and everyone who helped by reporting bugs in the book. They gave their time for free, putting their own work aside, so that young programmers could have a complete and well-structured guide giving them a great start to their careers. And a good start to a career means a good start in life. The book is written in Bulgarian.
Contents of the book
The book starts from absolute zero for any future programmer. It begins with primitive data types and variables and operators and expressions in programming languages (and in C# in particular). Then come console input and output and conditional statements (if, else, else if, switch and so on). After that it covers loops and arrays. It then moves on to topics that are harder for beginners, such as numeral systems, methods, recursion, strings and text files. It covers the things every object-oriented language requires: creating and using objects, exception handling, defining classes and the principles of OOP. Data structures are covered extensively - four whole chapters: linear data structures, trees and graphs, dictionaries, hash tables and sets, and finally a comparison of the data structures covered, with recommendations on which one is most appropriate in which situation. It also goes into important subjects such as high-quality program code and how to solve programming problems, plus three sample programming exams together with the solutions to their problems. One of the last chapters is mine: "Lambda Expressions and LINQ Queries". An important part of the book is the exercises, which come with hints and solutions for each one.
Online edition
Free? Free! The book is distributed completely free of charge on the internet. Anyone who would like a paper copy but cannot afford one can read it online in three formats (PDF, DOC and HTML).
Paper edition
If you still find it easier to read from paper, you can buy the book for a symbolic price. "Introduction to Programming with C#" has now gone to print and we expect it to be officially on the market by the beginning of October 2011. The price of the book will cover only the paper and the ink for printing.
The authors
You can see the team of authors, of which I am one, on the book's authors page. Here is the list of everyone without whom the book would not have been nearly as thorough: Veselin Georgiev, Veselin Kolev, Dilyan Dimitrov, Iliyan Murdanliev, Yosif Yosifov, Yordan Pavlov, Mira Bivas, Mihail Valkov, Mihail Stoynov, Nikolay Vasilev, Nikolay Kostov, Nikolay Nedyalkov, Pavel Donchev, Pavlina Hadjieva, Radoslav Ivanov, Radoslav Kirilov, Radoslav Todorov, Svetlin Nakov, Stanislav Zlatinov, Stefan Staev, Teodor Bozhikov, Teodor Stoev, Hristo Germanov and Tsvyatko Konov.
Video lectures and presentations
"Introduction to Programming with C#" is the official textbook for the "Programming Fundamentals" course at the Telerik Academy. The course covers the whole content of the book, so each chapter has a matching video lecture and presentation, distributed completely free of charge just like the book. You can watch the video lectures here, and see the presentations here.