Menu

Nakov.com logo

Thoughts on Software Engineering

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 Book - cover Introduction to Programming with C# book EN - front cover C# Basics Book - cover
Java Basics Book - cover Python Basics Book - cover C# Basics Book - cover Programming for .NET Framework book - front cover
Introduction to Programming with Java book - front cover Introduction to Programming with C# book BG - front cover Internet Programming with Java book - front cover Java for Digitally Signing Documents on the Web book - front cover

Practical Cryptography for Developers (English, 2018)

Practical Cryptography for Developers Book - coverRead 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)

Introduction to Programming with C# book EN - front coverThe 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):

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)

C# Basics Book - coverRead 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)

Java Basics Book - coverRead 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)

Python Basics Book - coverRead 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)

Introduction to Programming with C# book BG - front coverThe 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)

Introduction to Programming with Java book - front coverThe 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)

Programming for .NET Framework book - front coverVisit 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)

Java for Digitally Signing Documents on the Web book - front coverVisit 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)

Internet Programming with Java book - front coverVisit 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.

Comments (25)

25 Responses to “Svetlin Nakov – Books”

  1. […] на Java, слайдове http://kenai.com/projects/javacourse – сорс кода http://www.nakov.com/books/ – Книгите на Светлин Наков http://www.nakov.com/books/inetjava/ – […]

  2. […] Nakov wspaniałomyślnie udostępnia swe książki – http://www.nakov.com/books/ nawet jest programowanie aplikacji internetowych  w Javie. Share […]

  3. […] Intro C#, свободна книга, free ebook, мн добра, много добра http://www.nakov.com/books/ – Светлин Наков, книги за програмиране, мн добри, […]

  4. […] 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. […]

  5. […] 4.Nakov`s books – най-важните неща,събрани на едно място. […]

  6. Ben says:

    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.

    • Dan says:

      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.

      • Mounesh says:

        May i know where i will get the video tutorials for the respective book (FUNDAMENTALS OF
        COMPUTER PROGRAMMING
        WITH C#)

        Thanks,
        Mounesh

  7. Dan says:

    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

  8. isidro ebanks says:

    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 ?

  9. Hans Zijlstra says:

    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.

  10. Bill Allwell says:

    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

  11. Mounesh says:

    Do we have FUNDAMENTALS OF
    COMPUTER PROGRAMMING
    WITH C# book for new c# 7.0 edition ?

  12. Josue Ismael Quinteros says:

    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?

  13. Hello,
    Thanks for sharing such informative and helpful blog post and you are doing a good job so keep posting such amazing articles

  14. Haleem Safi says:

    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

  15. John Vang says:

    I am new to programming and want to learn the fundamental of c#. Is “Fundamental to programmer with c#” regular updated to date?

  16. […] 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 […]

  17. 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.

RSS feed for comments on this post. TrackBack URL

Leave a Reply to Mounesh