Svetlin Nakov – Books
Dr. Svetlin Nakov is author / co-author of 15+ books on computer programming and software development. Get the latest list of Nakov’s books from:
https://introprogramming.info
Nakov’s books focus on topics such as basics of coding, problem solving, basic data structures and algorithms, principles of computer programming, Java, JavaScript, Python, .NET development, C#, C++, cryptography, and information security.
Read Online Svetlin Nakov’s Books
Warning: the below list is outdated.
Practical Cryptography for Developers (English, 2018)
Read online the free book “Practical Cryptography for Developers”. It is a modern practical book about cryptography for developers with code examples, covering core concepts like: hashes (like SHA-3 and BLAKE2), MAC codes (like HMAC and GMAC), key derivation functions (like Scrypt, Argon2), key agreement protocols (like DHKE, ECDH), symmetric ciphers (like AES and ChaCha20, cipher block modes, authenticated encryption, AEAD, AES-GCM, ChaCha20-Poly1305), asymmetric ciphers and public-key cryptosystems (RSA, ECC, ECIES), elliptic curve cryptography (ECC, secp256k1, curve25519), digital signatures (ECDSA and EdDSA), secure random numbers (PRNG, CSRNG) and quantum-safe cryptography, along with crypto libraries and developer tools, with a lots of code examples in Python and other languages. Below is the book’s table of contents (TOC):
- Preface
- Cryptography – Overview
- Cryptographic Hash Functions (SHA2, SHA3, Others)
- MAC and Key Derivation (HMAC, PBKDF2, Scrypt, Argon2)
- Secure Random Generators and CSPRNG
- Key Exchange and DHKE (Diffie–Hellman Key Exchange)
- Encryption: Symmetric and Asymmetric
- Symmetric Key Ciphers (EAS, ChaCha20)
- Asymmetric Key Ciphers (RSA, ECC, ECDH, ECIES)
- Digital Signatures (RSA, ECDSA, EdDSA)
- Quantum-Safe Cryptography
- More Cryptographic Concepts
- Crypto Libraries for Developers
- Conclusion
The book is available in English only as open-source project in GitHub and is freely downloadable as PDF and HTML.
Fundamentals of Computer Programming with C# (English, 2013)
The book Fundamentals of Computer Programming with C# is fundamental computer programming book that focuses on the concepts of the computer programming, data structures and algorithms. It is the recommended start for junior developers and is entirely free. English version. Table of contents:
- Chapter 0. Preface
- Chapter 1. Introduction to Programming
- Chapter 2. Primitive Types and Variables
- Chapter 3. Operators and Expressions
- Chapter 4. Console Input and Output
- Chapter 5. Conditional Statements
- Chapter 6. Loops
- Chapter 7. Arrays
- Chapter 8. Numeral Systems
- Chapter 9. Methods
- Chapter 10. Recursion
- Chapter 11. Creating and Using Objects
- Chapter 12. Exceptions Handling
- Chapter 13. Strings
- Chapter 14. Defining Classes
- Chapter 15. Text Files
- Chapter 16. Linear Data Structures
- Chapter 17. Trees and Graphs
- Chapter 18. Dictionaries, Hash Tables and Sets
- Chapter 19. Data Structures: Comparison and Best Practices
- Chapter 20. Object-Oriented Programming Principles
- Chapter 21. High-Quality Programming Code
- Chapter 22. How to Solve Programming Tasks?
- Chapter 23. Practical Problems for Programming Exam – Topic 1
- Chapter 24. Practical Problems for Programming Exam – Topic 2
- Chapter 25. Practical Problems for Programming Exam – Topic 3
The book is available in Bulgarian and English and is freely downloadable as PDF and MS Word file.
Programming Basics (C#, English, 2018)
Read online the free video book “Programming Basics (C# Edition)”. It is a free guide for absolute beginners in coding, who want to learn how to write simple programming logic (use data, write conditions and loops).
The book comes with video lessons covering most of its content and 150+ practical programming exercises with automated online evaluation system (judge system).
The book is used as primary textbook in the “Programming Basics” courses at the Software University (SoftUni). Below is the book’s table of contents (TOC):
- Preface
- First Steps in Programming
- Simple Calculations
- Simple Calculations – Exam Problems
- Simple Conditional Statements
- Simple Conditional Statements – Exam Problems
- More Complex Conditional Statements
- More Complex Conditional Statements – Exam Problems
- Repeating Programming Code (Loops)
- Repeating Programming Code (Loops) – Exam Problems
- Nested Loops and Drawing on the Console Using Loops
- Nested Loops and Drawing on the Console – Exam Problems
- More Complex Loops
- More Complex Loops – Exam Problems
- Practical Exam Preparation (Part I)
- Practical Exam Preparation (Part II)
- Problems for Champions (Part I)
- Problems for Champions (Part II)
- Methods
- Tricks and Hacks
- Conclusion
The book and the video lessons are available in English as open-source project in GitHub and is freely downloadable as PDF and HTML.
Programming Basics (C#, Bulgarian, 2017)
Read online the book “Programming Basics (C# Edition)”. It is a free guide for absolute beginners in coding, who want to learn how to write simple programming logic (use data, write conditions and loops). The book is used as primary textbook in the “Programming Basics” courses at the Software University (SoftUni). Below is the book’s table of contents (TOC):
- Preface
- First Steps in Programming
- Simple Calculations
- Simple Calculations – Exam Problems
- Simple Conditional Statements
- Simple Conditional Statements – Exam Problems
- More Complex Conditional Statements
- More Complex Conditional Statements – Exam Problems
- Repeating Programming Code (Loops)
- Repeating Programming Code (Loops) – Exam Problems
- Drawing on the Console Using Loops
- Drawing on the Console Using Loops – Exam Problems
- More Complex Loops
- More Complex Loops – Exam Problems
- Exam Preparation (Part I)
- Exam Preparation (Part II)
- Problems for Champions (Part I)
- Problems for Champions (Part II)
- Methods
- Tricks and Hacks
- Conclusion
The book is available in Bulgarian only as open-source project in GitHub and is freely downloadable as PDF and HTML.
Programming Basics (JavaScript, Bulgarian, 2018)
Read online the book “Programming Basics (JavaScript Edition)”. It is a free guide for absolute beginners in coding, who want to learn how to write simple programming logic (use data, write conditions and loops). The book is used as primary textbook in the “Programming Basics” courses at the Software University (SoftUni). Below is the book’s table of contents (TOC):
- Preface
- First Steps in Programming
- Simple Calculations
- Simple Calculations – Exam Problems
- Simple Conditional Statements
- Simple Conditional Statements – Exam Problems
- More Complex Conditional Statements
- More Complex Conditional Statements – Exam Problems
- Repeating Programming Code (Loops)
- Repeating Programming Code (Loops) – Exam Problems
- Drawing on the Console Using Loops
- Drawing on the Console Using Loops – Exam Problems
- More Complex Loops
- More Complex Loops – Exam Problems
- Exam Preparation (Part I)
- Exam Preparation (Part II)
- Problems for Champions (Part I)
- Problems for Champions (Part II)
- Tricks and Hacks
- Conclusion
The book is available in Bulgarian only as open-source project in GitHub and is freely downloadable as PDF and HTML.
Programming Basics (Java, Bulgarian, 2017)
Read online the book “Programming Basics (Java Edition)”. It is a free guide for absolute beginners in coding, who want to learn how to write simple programming logic (use data, write conditions and loops). The book is used as primary textbook in the “Programming Basics” courses at the Software University (SoftUni). Below is the book’s table of contents (TOC):
- Preface
- First Steps in Programming
- Simple Calculations
- Simple Calculations – Exam Problems
- Simple Conditional Statements
- Simple Conditional Statements – Exam Problems
- More Complex Conditional Statements
- More Complex Conditional Statements – Exam Problems
- Repeating Programming Code (Loops)
- Repeating Programming Code (Loops) – Exam Problems
- Drawing on the Console Using Loops
- Drawing on the Console Using Loops – Exam Problems
- More Complex Loops
- More Complex Loops – Exam Problems
- Exam Preparation (Part I)
- Exam Preparation (Part II)
- Problems for Champions (Part I)
- Problems for Champions (Part II)
- Tricks and Hacks
- Conclusion
The book is available in Bulgarian only as open-source project in GitHub and is freely downloadable as PDF and HTML.
Programming Basics (Python, Bulgarian, 2017)
Read online the book “Programming Basics (Python Edition)”. It is a free guide for absolute beginners in coding, who want to learn how to write simple programming logic (use data, write conditions and loops). The book is used as primary textbook in the “Programming Basics” courses at the Software University (SoftUni). Below is the book’s table of contents (TOC):
- Preface
- First Steps in Programming
- Simple Calculations
- Simple Calculations – Exam Problems
- Simple Conditional Statements
- Simple Conditional Statements – Exam Problems
- More Complex Conditional Statements
- More Complex Conditional Statements – Exam Problems
- Repeating Programming Code (Loops)
- Repeating Programming Code (Loops) – Exam Problems
- Drawing on the Console Using Loops
- Drawing on the Console Using Loops – Exam Problems
- More Complex Loops
- More Complex Loops – Exam Problems
- Exam Preparation (Part I)
- Exam Preparation (Part II)
- Problems for Champions (Part I)
- Problems for Champions (Part II)
- Tricks and Hacks
- Conclusion
The book is available in Bulgarian only as open-source project in GitHub and is freely downloadable as PDF and HTML.
Introduction to Programming with C# (Bulgarian, 2018)
The book Introduction to Programming with C# is fundamental computer programming book that focuses on the concepts of the computer programming, data structures and algorithms. It is the recommended start for junior developers and is entirely free. Table of contents:
- Chapter 0. Preface
- Chapter 1. Introduction to Programming
- Chapter 2. Primitive Types and Variables
- Chapter 3. Operators and Expressions
- Chapter 4. Console Input and Output
- Chapter 5. Conditional Statements
- Chapter 6. Loops
- Chapter 7. Arrays
- Chapter 8. Numeral Systems
- Chapter 9. Methods
- Chapter 10. Recursion
- Chapter 11. Creating and Using Objects
- Chapter 12. Exceptions Handling
- Chapter 13. Strings
- Chapter 14. Defining Classes
- Chapter 15. Text Files
- Chapter 16. Linear Data Structures
- Chapter 17. Trees and Graphs
- Chapter 18. Dictionaries, Hash Tables and Sets
- Chapter 19. Data Structures: Comparison and Best Practices
- Chapter 20. Object-Oriented Programming Principles
- Chapter 21. High-Quality Programming Code
- Chapter 22. How to Solve Programming Tasks?
- Chapter 23. Practical Problems for Programming Exam – Topic 1
- Chapter 24. Practical Problems for Programming Exam – Topic 2
- Chapter 25. Practical Problems for Programming Exam – Topic 3
The book is available in Bulgarian and English and is freely downloadable as PDF and MS Word file.
Introduction to Programming with Java (Bulgarian, 2009)
The book Introduction to Programming with Java is fundamental computer programming book that focuses on the concepts of the computer programming, data structures and algorithms. It is the recommended start for junior developers and is entirely free. Table of contents:
- Chapter 0. Preface
- Chapter 1. Introduction to Programming
- Chapter 2. Primitive Types and Variables
- Chapter 3. Operators and Expressions
- Chapter 4. Console Input and Output
- Chapter 5. Conditional Statements
- Chapter 6. Loops
- Chapter 7. Arrays
- Chapter 8. Numeral Systems
- Chapter 9. Methods
- Chapter 10. Recursion
- Chapter 11. Creating and Using Objects
- Chapter 12. Exceptions Handling
- Chapter 13. Strings
- Chapter 14. Defining Classes
- Chapter 15. Text Files
- Chapter 16. Linear Data Structures
- Chapter 17. Trees and Graphs
- Chapter 18. Dictionaries, Hash Tables and Sets
- Chapter 19. Data Structures: Comparison and Best Practices
- Chapter 20. Object-Oriented Programming Principles
- Chapter 21. High-Quality Programming Code
- Chapter 22. How to Solve Programming Tasks?
- Chapter 23. Practical Problems for Programming Exam – Topic 1
- Chapter 24. Practical Problems for Programming Exam – Topic 2
- Chapter 25. Practical Problems for Programming Exam – Topic 3
The book is available in Bulgarian only and is freely downloadable as PDF and MS Word file.
Programming for .NET Framework (Volume 1 & Volume 2, Bulgarian, 2005-2006)
Visit the web site of my book “Programming for .NET Framework“. The book is an unique tutorial for .NET Framework developers with C#. It covers fully the most important topic of the .NET technologies:
- .NET Framework Architecture
- C# Programming Language
- Object-Oriented Concepts in .NET
- Exceptions Handling
- .NET Common Type System (CTS)
- Delegates and Events
- Attributes
- Arrays and Collections
- Strings and Unicode
- Regular Expressions
- Input and Output
- Working with XML
- Relational Databases and MS SQL Server
- Data Access with ADO.NET
- Windows Forms GUI Programming
- ASP.NET Web Applications
- Threads and Concurrency
- Internet Access
- Reflection
- Serialization
- Web Services
- Remoting
- Interoperability and Unmanaged Code
- Memory and Resource Management
- Assemblies and Deployment
- .NET Security
- Mono – Open Source .NET implementation
- Programming Tools for .NET Developers
- Practical Project
The book is available in Bulgarian only and is freely downloadable as PDF and MS Word file.
Java for Digitally Signing Documents on the Web (Bulgarian, 2005)
Visit the web site of my book “Java for Digitally Signing Documents on the Web“. The book introduces the reader to the techniques for digitally signing documents in a Web browser environment with a Java applet. The book presents the PKI (digital signatures, certificates, etc.), the PKI related API in Java and the smart card support in Java 5. The NakovDocumentSigner framework for signing documents with PKCS#12 certificate keystore and with a smart card is presented. The book contents:
- Preface
- Chapter 1. Digital Signatures and Certificates
- Chapter 2. Digital Signatures and Certificates in Java
- Chapter 3. Designing a System for Digitally Signing Documents on the Web
- Chapter 4. NakovDocumentSigner: Digital Signature Technology for Web Browsers
- Chapter 5. Testing, Evaluation and Future Development
The book is available in Bulgarian only and is freely downloadable as PDF and MS Word file.
Internet Programming with Java (Bulgarian, 2004)
Visit the web site of my book “Internet Programming with Java“. The book introduces the reader to the most important concepts of the programming for the Internet with the Java language and related technologies. It covers following topics:
- Multithreading and Synchronization;
- Java Socket Programming – development of Internet applications that communicate through TCP/IP protocols;
- Java Applets;
- J2EE Web Applications – Web application development with JSP/Servlets technologies and deployment on the Tomcat server.
The book is available in Bulgarian only and is freely downloadable as PDF and MS Word file.
25 Responses to “Svetlin Nakov – Books”
[…] на Java, слайдове http://kenai.com/projects/javacourse – сорс кода http://www.nakov.com/books/ – Книгите на Светлин Наков http://www.nakov.com/books/inetjava/ – […]
[…] http://www.nakov.com/books/ […]
[…] Nakov wspaniałomyślnie udostępnia swe książki – http://www.nakov.com/books/ nawet jest programowanie aplikacji internetowych w Javie. Share […]
[…] Intro C#, свободна книга, free ebook, мн добра, много добра http://www.nakov.com/books/ – Светлин Наков, книги за програмиране, мн добри, […]
[…] Svetlin Nakov – Books | Svetlin Nakov's Blog Introduction to Programming with C# The book Introduction to Programming with C# is fundamental computer programming book that focuses on the concepts of the computer programming, data structures and algorithms. It is the recommended start for junior developers and is entirely free. Table of contents: Read online Svetlin Nakov’s books Chapter 0. […]
[…] 4.Nakov`s books – най-важните неща,събрани на едно място. […]
Hi Nakov. I am a computer science major and a software developer in the USA. I recently had to learn C#. I looked in Amazon.com for a good book to no avail. In my search I came across a link to your C# book and I downloaded it. It was exactly what I was looking for. A university-level textbook for C#. Perfection.
I am now looking for a .Net book. I know the one you wrote is in Bulgarian language only, but I wanted to ask you if you know of any .Net book(s) that has a similar contents, format and flow as found in your book.
I would really appreciate a response. Thanks.
Same here, man. The book is really good. I watched all the videos, all presentations, all content of the book, and made all the exercises.
May i know where i will get the video tutorials for the respective book (FUNDAMENTALS OF
COMPUTER PROGRAMMING
WITH C#)
Thanks,
Mounesh
Please can you put some of your books in English. I read the c# programming book, it was very interesting. I know you mentioned something about translating the Java book, but I want a lot to read it. I’m not a native English speaker, but I know English quite well
Interesting suggestions – I was fascinated by the analysis – Does someone know if my company might be able to obtain a sample OPM SF 86 form to fill out ?
With great pleasure, I am reading the book “Introduction to Programming with C# (in English)”. I notice that there are some errors in the English spelling and grammar. Since I enjoy the book that much, I would like to express my gratitude by offering my help and suggest corrections for one or more chapters. Should this be appreciated, just let it know, and I prepare and send a PDF file of a commented chapter from your excellent book. Kind regards, Hans.
Hi, fantastic book on c#. Love it so much I’m trying to get the hard copy sent to me via faber-bg.com, I’ve paid them via PayPal but getting no responses ? The email on their webpage [email protected] bounces back as a spoofed email address ? Hope I’m not being scammed here? I live in Austalia. Thanks
Bill A
Do we have FUNDAMENTALS OF
COMPUTER PROGRAMMING
WITH C# book for new c# 7.0 edition ?
No, this book is not updated for C# 7. It targets C# 5.
Hello Navok
I am very grateful with your book, I will make all the 350 excersice form the Foundamental of Programing wiht C#.
I am 17 years old, in some days (18 years old) I am very excited about to learn C# after Java, and I would like to learn Java form your book, but is only in Bulgarian! 🙁
Have you any plans to translate your master pieces to English?
Try the English books:
http://csharp-book.softuni.org
http://www.introprogramming.info/english-intro-csharp-book/
I have English channel about coding and software technologies in YouTube for you: https://m.youtube.com/c/CodeWithNakov
Hello,
Thanks for sharing such informative and helpful blog post and you are doing a good job so keep posting such amazing articles
Dear Mr. Nakov,
I am Haleem from Kabul Afghanistan
very tremendous books on C# and I learn a lot from it. it is really the building block of programming learning for new students.
Do you also have books on Windows form application for beginners?
if yes please send me the link.
Best regards
Haleem Safi
I am new to programming and want to learn the fundamental of c#. Is “Fundamental to programmer with c#” regular updated to date?
It is good start, if you want to read from books. It is slightly outdated, but not too much. C# 9 has some nice improvements, but the core is the same.
I would recommend this book as start:
https://csharp-book.softuni.org
Nakov
Thanks for the quick response. I am going through your “programming basic for c#” and it is awesome!!! Great work!
[…] include the Java technologies, the .NET platform, and information security. Svetlin is an author of several books and lots of scientific and technical publications in the area of software […]
This is a really too good post. This article gives truly quality and helpful information. I’m definitely going to look into it. Really very useful topic info is provided here. Thank you so much buddy and Keep up the good work.