Learning the c language from scratch. How to choose the right direction? A good option is the Python programming language and Django

Download

D. Knut. The art of programming. In three volumes. Programming classic. djvu.

Vol.1. 680 pages 5.8 Mb. Download.

Volume 2. 790 pages 6.3 Mb. Download.

Volume 3. 800 pages 6.6 Mb. Download.

Kernighan B.V., Ritchie D.M. C programming language. 3rd ed. correction 2003 355 pp. PDF. 15.9 MB.
The book of well-known authors, developers of the C language, revised and supplemented to the ANSI standard for the C language, the 2nd English edition of which was published in 1988, has long become a classic for all those who study and/or use both C and C++. The Russian translation of this book was first published by the Finance and Statistics Publishing House in 1992 and has been in constant demand among readers ever since. For this third Russian edition, the translation has been rechecked with the original, some amendments have been made to it, taking into account the changes in terminology that have been established over the past years, as well as the comments posted by the author on the page http://cm.bell-labs.com/cm/ cs/cbook/2ediffs.html.
For programmers, teachers and students.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Kernighan B.V., Ritchie D.M. Programming Language C. 229 pp. PDF. 1.3 MB.
The C language (pronounced "si") is a general-purpose programming language characterized by parsimony of expression, modern control flow and data structures, and a rich set of operators. The "C" language is neither a "very high level" language nor a "big" language, and is not intended for some special application. but the lack of restrictions and the generality of the language make it more convenient and efficient for many tasks than supposedly more powerful languages. The "C" language, originally intended for writing the "UNIX" operating system on a DEC P DP-11 computer, was developed by e f e Dennis Ritchie. The operating system, the C compiler, and essentially all UNIX system applications (including all software used in the preparation of this book) are written in C. Commercial "C" compilers also exist on several other computers, including the IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. The "C" language, however, is not tied to any particular hardware or system, and it is easy to write programs in it that can be run unchanged on any computer that has a "C" compiler.
This book is intended to help the reader learn how to program in the "C" language. It contains an educational introduction, the purpose of which is to allow new users to start programming as quickly as possible, separate chapters on all the main features of the language, and a reference guide. The training is built mainly on reading, writing and analyzing examples, and not on the bare formulation of rules. The examples in this book are for the most part complete real programs, not individual pieces. All examples have been checked directly from the text of the book, where they are printed in a form suitable for machine input. In addition to providing guidance on how to make the use of the language more efficient, we have also tried, where possible, to illustrate useful algorithms and principles of good style and sound design.
This book is not an introduction to programming; it assumes some familiarity with basic programming concepts such as variables, assignment statements, loops, and functions. However, a novice in programming should be able to read in a row and get comfortable with the language, although the help of a more experienced colleague would be useful.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Carrano, Pritchard. Data abstraction and problem solving in C++. 3rd ed. 2003 850 pp. PDF. 21.9 MB. In addition to providing a solid foundation for data abstraction techniques, it emphasizes the distinction between specification and implementation, which is crucial in an object-oriented approach. The book discusses in detail the key concepts of object-oriented programming, including encapsulation, inheritance, and polymorphism, but the focus is always on data abstraction, not C++ syntax. The book will be useful to anyone who is interested in a deep study of the most important aspects of OOP and the full development of the corresponding features of the C ++ language.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Coat of arms of Kammer. New complex problems in C++. 2005 year. 271 pp. djvu. 2.2 MB.
This book is a continuation of the previously published book Solving Complex Problems in C++. In the form of problems and their solutions, modern methods of design and programming in C++ are considered. The book concentrates rich long-term experience of programming in C ++ not only of the author himself, but of the entire community of C ++ programmers, so some of the author's recommendations may seem unexpected even to experienced professional programmers. The author also considers specific programming techniques, techniques and idioms, but the main theme of the book is the programming style, and in the broadest sense of the word. Particular attention in all tasks of the book is given to the issue of design, which should ensure maximum reliability, security, performance and maintainability of the software being created.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Laszlo M. Computational geometry and computer graphics in C++. 1997 150 double pages of DJVU. 18.6 MB.
The book describes the main problems that arise in computer graphics and computational geometry. Practical problems are considered and relatively simple ways to solve them are presented. The main techniques for developing and analyzing algorithms are given, elementary data structures (lists and trees) and ways of using them are discussed.
For applied mathematicians, graduate students and university students as a textbook on machine design, machine graphics, pattern recognition.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download

Laptev and others. C++. Object-oriented programming. Tasks and exercises. 2007 288 pp. DJVU. 3.2 MB.
The book is designed to explore the possibilities of object-oriented programming style in C++. Provides information about the syntax and semantics of C++ object-oriented constructs, the STL standard template library. The book contains the necessary theoretical information, exercises and tasks for self-study, reference information on the most popular programming environments: C++ Builder 6 and Visual C++.NET 2003. For teachers and students, beginner programmers.
Approved by the Ministry of Education and Science of the Russian Federation as a textbook for students of higher educational institutions studying in the field of study "Informatics and Computer Engineering".

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download

J. Liberty. Learn C++ on your own. 3rd ed. year 2009. 820 pp. djvu. 10.4 MB.
The book presents extensively the capabilities of the latest version of the Microsoft Visual C++ software product. The means and approaches of programming modern professional applications are described in detail. The materials of the book are supplemented by numerous demonstration programs in the process of development of which the possibilities of the software tools of Microsoft Visual Studio are used to the maximum.
Particular attention is paid to the novelties of version 6.0 and the latest object-oriented programming technologies, including the use of the MFC library and class templates, as well as the creation of linked lists. A separate lesson is devoted to the issues of object-oriented analysis and application design. All the tools and approaches for constructing your own custom classes are considered in detail. The book is intended for a wide circle of readers interested in modern problems of programming.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Stanley B. Lippman, Josy Lajoye. C++ for beginners. year 2001. 1167 pp. PDF. 6.1 MB.
The book by renowned C++ language expert Stanley Lippmann was co-authored with Josy Lajoye, who took an active part in the development of the international C++ standard. Despite the title, this publication is the definitive guide to learning the modern C++ language. The authors consider both the basics of the language (the structure of a C++ program, the use of preprocessor commands and header files) and more complex constructions (exceptions, classes, function and class templates, operator overloading, multiple inheritance, etc.). The text contains a large number of examples explaining the material presented. This book is intended for beginners in C++, but even more experienced programmers will find useful information about how the complex language constructs work, as well as a description of the latest innovations in the C++ standard.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Mozgovoy M.V. 85 non-trivial projects, examples and tasks. Series Master class C++. 2007 135 pp. djvu. 5.1 MB.
This book is devoted to the analysis of interesting problems that occur in everyday programming practice and require non-trivial approaches to solve them. Based on a small number of characteristic realistic examples, the application of important programming algorithms and techniques is illustrated. The tasks in which certain approaches and solutions can be used are indicated.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Overland. C++ without fear. Series "Knowledge and experience of experts". Rybe can be read from scratch, meaning no programming skills are required. 4.6 MB. 430 pages djvu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Pakhomov B.I. C/C++ and MS Visual C++ 2008 for beginners. Textbook. year 2009. 609 pages, djvu. 9.3 MB.
The book is a beginner's guide to developing applications in Microsoft Visual C++ 2008 Express Edition. The basic elements of the C/C++ programming languages ​​and examples of creating the simplest classes and programs are considered. The principles of visual design and event programming are outlined. Specific examples show the main features of the visual development environment Visual C++ 2008 Express Edition, the purpose of the basic components and the process of developing various types of console and Windows applications.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Prokhorenok N.A. C++ Programming in Visual Studio 2010 Express. 2010 229 pp. djvu. 2.1 MB.
The basic syntax of the C ++ language is described in relation to the free Visual Studio 2010 Express environment: data types, operators, conditions, loops, built-in functions, object-oriented programming, working with files and directories, commonly used standard library modules.
The book also covers the Standard Template Library (STL), which implements dynamic arrays, sets, queues, and stacks. Due to the large number of examples, the book will be useful as a tutorial for beginner developers. Readers with previous programming experience can use the book as a reference.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Pavlovskaya T. A., Shchupak Yu. A. C++. Object-Oriented Programming: Workshop. 2006 265 pp. PDF. 7.9 MB.
The workshop is intended for students studying the C ++ language at seminars or on their own. Classes, templates, inheritance, exceptions, the standard library, UML, software engineering concepts, and design papers are covered by examples, accompanied by the necessary theoretical information. Algorithms, debugging techniques, and quality issues are discussed. For each topic, I will give 20 options for tasks. Approved by the Ministry of Education of the Russian Federation as a textbook for students of higher educational institutions studying in the direction of "Informatics and Computer Engineering".

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

T. A. Pavlovskaya. C/C++. Programming in a high level language. From the series "300 best textbooks". 2003. 461 pp. PDF. 9.7 MB.
The purpose of this book is to provide a concise and concise presentation of the C++ language in accordance with the ISO/IEC 14882 standard. It is intended for students who are learning the language from scratch, but will also be useful to those more advanced in programming. The purpose of this book was to give a correct understanding of the possibilities of the C ++ language and how to use them, an impetus for further study of this and other programming languages, and the key to understanding modern object-oriented technologies.
Control tasks on key topics are presented in 20 versions, and the author hopes that teachers will appreciate the care shown for them.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Pavlovskaya T. A., Shchupak Yu. A. C++. Object-Oriented Programming: Workshop. 2003 240 pages djvu. 3.2 MB.
The workshop is intended for students studying the C ++ language at seminars or on their own. It is an addition to the textbook by T.A. Pavlovskaya: C/C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

K. Polyakov. Programming in C language. 2002 4 chapters in separate PDF files. The archive size is 2.7 Mb.
Chapter I. Introduction to programming. Chapter II. Storage and processing of data. Chapter III. Software development. Chapter IV. Dynamic data structures.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Podkur M.L. Podkur P.N. Smolentsev N.K. Programming in the Borland C++ Builder environment with MATLAB C/C++ mathematical libraries. 2006 498 pp. djvu. 8.9 MB.
This book is devoted to the presentation of COBMeCTHoro issues using the rich library of visual components Borland C ++ Builder and the capabilities of the C ++ language with powerful mathematical procedures. [email protected] The book contains the basics of programming in Borland C++ Builder and MATLAB, description of MATLAB mathematical libraries for CjC++ and MATLAB compilers (including the latest version). Examples of Borland C++ Builder programs that use MATLAB mathematical libraries are considered. Although there are many books on the basics of the MATLAB system and on programming in CjC++ and Borland C++ Builder, at present there is not a single book that would describe the issues of joint use of MATLAB and C/C++ and Borland C++ Builder.
The book is intended for teachers and university students in specialties close to applied mathematics (the mathematical background of the reader is assumed within a technical university), professional C++ programmers who face the problems of implementing mathematical algorithms in C++, and MATLAB programmers who want to use flexibility C++ language and a rich library of visual components Borland C++ Builder for the implementation of MA TLLV algorithms in the form of complete and MATLAB-independent applications.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Prata Stephen. C++ programming language. Lectures and exercises. Textbook. 2005 year. 1100 pages djvu. 30 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Rex Zheshke. TOTAL CILOBARb STANDARDSCH8 J3blKA SI. 225 pp. DJVU. 5.2 MB.
The dictionary is a pilot in the sea of ​​names and terms used when working in the SI language: American (ANSI C) and International (ISO C). The book is intended for programmers of all levels of C language proficiency.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download

Sutter, Coat of arms. New complex problems in C++. 2005 year. 272 pages 2.2 Mb.
This book is a continuation of the previously published book Solving Complex Problems in C++. In the form of problems and their solutions, modern methods of design and programming in C++ are considered. The book concentrates rich long-term experience of programming in C ++ not only of the author himself, but of the entire community of C ++ programmers, so some of the author's recommendations may seem unexpected even to experienced professional programmers. The author also considers specific programming techniques, techniques and idioms, but the main theme of the book is the programming style, and in the broadest sense of the word. Particular attention in all tasks of the book is given to the issue of design, which should ensure maximum reliability, security, performance and maintainability of the software being created.
The book is intended primarily for professional programmers with deep knowledge of the language, but it will be useful to anyone who wants to deepen their knowledge in this area.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Slabzhennikov S.N. Programming in C++. Uchebntmk. 2004-2008 year. 3 PDF files in one archive 880 Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Stephens, Diggins, Turcanis, Cogswell. C++. Collection of recipes. 2007 624 pages, djvu. 11.6 MB.
This book covers the following topics:
work with numbers; work with date and time; streaming I/O; Exception Handling; work with classes and objects; assembly of applications; parsing XML documents; string and text processing; multi-threaded processing; algorithms and containers of the standard library; programming of mathematical problems; internationalization; Boost.Build system.
The book provides real-life solutions reflecting modern C++ programming practices. The focus is on performance and portability, taking into account official and special standards. Many solutions take advantage of the C++ Standard Library. The authors also review the Boost libraries, which reflect some of the most advanced ideas in the C++ world.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Stevens. PROGRAMMING TECHNIQUE IN TURBO SI. txt in RAR archive, 135 Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Stroustrup. Design and evolution of C++. The book was written by the creator of the C++ language. 2006 440 pages djvu.
2.9 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Stroustrup. C++ programming language. 2nd add. ed. doc in RAR archive. 430 Kb.
I prefer this PDF file. 2.6 MB.
A book from the creator of the most popular programming language.
An excellent C++ tutorial that should be on the shelf of every self-respecting C++ developer. The author talks in his book about the basics of the language, focusing primarily on the object orientation of C ++.
From the book, the reader will learn about:
1. What are the basic principles of object-oriented programming and how they are implemented in C++. 2. How data abstraction is supported. 3. What are classes and objects. 4. What virtual functions are used for 5. What are type templates and class templates 5. How errors are handled 7. What are the means of data input / output 8. What are the stages of the object-oriented design process 9. How to design libraries. And much more.
The book will certainly be useful to absolutely everyone who is interested in object-oriented programming and in particular the C ++ language.

. . . . . . . Download doc. . . . . . . . . . . . . . . . Download PDF.

Sedgwick. Fundamental algorithms in C++. Princeton, 3rd ed. 15.4 MB. 690 pages djvu

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Tikhomirov Yu.I. MFC tutorial. year 2000. 628 pp, PDF. 20.5 MB.
The MFC library is a powerful and flexible tool for developing Windows applications based on the Visual C++ language. The book contains detailed information about the main classes of the library and their components. The principles of creating single- and multi-document applications, all types of windows, controls and working with databases are considered. Practical examples will help you learn the theoretical material and at the same time master the modern style of programming.
The appendix outlines the basics of the C++ language, which allows us to recommend the book not only to trained programmers who want to get acquainted with the MFC library, but also to beginners.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Tan, Steeb, Hardy. Symbolic C++. Introduction to computer algebra using object-oriented programming. Per. from the 2nd English ed. year 2001. 622 pages, djvu. 5.2 MB.
The book presents an approach to the development of a new computer algebra system based on object-oriented programming. In the first introductory chapters, user requirements for such systems are described, the necessary mathematical apparatus underlying the development of the system is described, and an overview of the most popular existing systems (REDUCE, MAPLE, AXIOM, MATHEMATICA, MuPAD) is given. Further, the basic concepts of object-oriented programming, the languages ​​Java, Eiffel, Smalltalk, Lisp and Oberon are discussed, the C ++ language tools are outlined, and a new symbolic C ++ computer algebra system is introduced. Examples are given of applying the system to problems in mathematics and physics (Gödel numbering, Padé approximation, Lie series technique, Picard method, Mandelbrot fractal set, etc.). Listings of all system components are included in the book, allowing users to develop and expand the system according to their needs. For students and graduate students of universities as a textbook, for specialists in computer algebra as a reference tool, as well as for non-professionals who want to expand their knowledge of the possibilities of computer technology.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Flenov M.E. DirectX and C++. 2006 195 pp. djvu. 5.8 MB.
The programming of graphic effects in C++ using the popular DirectX library is considered. Fun practical examples show how to create various visual effects (realistic fire, electrical discharges, mirrors, etc.) used in the development of demos (Demoscene). The application of the main methods and interfaces of DirectX is described step by step. Shows how to write optimal and efficient program code. Much attention is paid to the technology of using vertex and pixel shaders to create realistic images.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Holzner S. Visual C++ 6. Training course. 2007 575 pages DjVu. 16.2 MB.
The popular "Step by Step" series is intended for those who master new software products in courses or on their own. After studying this book, you will pass the basic course of programming in Microsoft Visual Basic 6.0. The secret to becoming a professional Visual Basic program developer is to write programs that require you to use a variety of Visual Basic features. Among them: thorough knowledge and ability to practice using standard toolbar controls and ActiveX components; the ability to correctly set and manipulate the properties, functions and events of an object; the ability to write clear and concise program code with the ability to reuse some program segments in the future; ability to create a clear and effective user interface. In each of the lessons of this course, the reader's attention is focused on these principles of programming. You'll find that you can immediately apply the skills and knowledge you've learned from the examples in this book to building more complex Visual Basic applications for real-world applications.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Hyman, Arnson. Visual C++ .NET for dummies. So, you've decided to get serious about Visual C++ .NET. This is a good idea, because you are really killing three birds with one stone: you have a powerful, useful and widespread tool in your hands. You can do a lot with the C++ language. It has been used to create products such as Excel and Access. This language is also used in the development of management information systems and systems for special purposes used to analyze the activities of enterprises and make decisions in the field of business management. And, of course, armies of hackers and not only hackers use C++ to create tools, utilities, games, and multimedia masterpieces. The knowledge you gain by learning the C++ .NET language. will allow you to create not just applications, but applications that run on different operating systems. The possibilities of this language are practically unlimited, and you will see for yourself by reading this book. The book is intended for beginner programmers. 3.0 MB. 280 pp. PDF.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Max Schlee. Professional programming in C++. 3rd ed. year 2009. 863 pp. djvu. 25.1 MB.
The best book for getting started with the Qt cross-platform library for C++. If you haven't worked with Qt before, don't even consider other options. Max Schlee described in great detail and clearly in the book the use of all the main classes of the library.
It is worth noting that this book differs significantly from the similar book on Qt3: a lot of information has been updated and added. Even new sections appeared, and in some programming tasks, for example, graphics with the transition from Qt3 to Qt4, much newer and better approaches to solving these problems appeared, which led to the emergence of completely new classes (the old similar classes are now obsolete, but left, which to get rid of compatibility problems, of course, but not already considered in the book) and a complete revision of some sections of the book! That is, make a conclusion: the book on QT3 is already clearly outdated and it’s even better not to open it, but immediately switch to this one ... otherwise you’ll have to relearn ...

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

G. Schildt. C++. Beginner's Guide. 2005 year. 669 pp. djvu. 18.1 MB.
The book describes the main features of the C ++ language that a novice programmer needs to master. After considering elementary concepts (variables, operators, control instructions, functions, classes, and objects), the reader can easily move on to more advanced topics such as operator overloading, exception handling (exception), inheritance, polymorphism, virtual functions, input facilities. output and patterns. The author of the book, a recognized authority in the field of programming in C and C ++, Java and C #, included in his book a lot of tests for self-control, which allow you to quickly check the degree of mastering the material, as well as sections of "questions and answers" that contribute to a deeper learning the basics of programming even at an early stage.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Yu.A. Shupak. Win32 API. Efficient application development. 2007 573 pp. djvu. 22.5 MB.
This book outlines the fundamental principles of Windows programming in C/C++ using the Win32 API. The book is aimed at a wide range of readers: from novice programmers, university students, graduate students and teachers to programming professionals who want to master the special tools of the Win32 API. Practice shows that those programmers who start learning Windows programming right away at the MFC or Windows Forms level, without any experience with the Win32 API, face serious problems as soon as it comes to creating real applications. On the contrary, the experience of programming with the Win32 API allows you to master higher technologies in a much more harmonious and productive way.
Having a basic knowledge of the Win32 API is a solid foundation for your professional development in the field of programming.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download.

Alger. C++ programmer's library. The book assumes that you have been programming for a couple of years and have stopped calling yourself just a programmer, but are adding a senior, a leader, and so on. If you recognize yourself, then this book is for you. 1.9 MB. 260 pp. PDF.

Fundamentals and subtleties of the C++ programming language. Practical tasks and tests. Do you want to learn how to program? Then you are at the right place. Whether you have programming experience or not, these lessons will help you get started creating, compiling, and debugging C++ programs in various development environments: Visual Studio, Code::Blocks, Xcode, Eclipse, and other IDEs. Lots of examples and detailed explanations. Perfect for both beginners (dummies) and more advanced. Everything is explained from scratch to the smallest detail. These lessons (200+) will give you a good base / foundation in understanding programming not only in C ++, but also in other languages. And it's absolutely free!

All you need is a desire, a desire to learn. Everything else you can find here.

For repost +20 to karma and my gratitude!

Chapter number 0. Introduction. Beginning of work

Chapter number 1. Basics of C++

Chapter number 2. Variables and Basic Data Types in C++

Chapter number 3. Operators in C++

Chapter number 4. Scope and Other Types of Variables in C++

A selection for those who are used to perceiving information in a visualized form: the best video and online C ++ courses for developers of different levels from the Programmer's Library.

Video courses

Learning C++ From Scratch

Video course on the basics of the language, its basic principles and structures. Data types, dynamic memory management, file manipulation, links and pointers, OOP templates and basics.

Programming in C and C++

A fundamental course on the C language and its intricacies: structures, functions, working with memory, I / O streams, compiling and building a project. The last three lectures are devoted to OOP in C++.

Algorithms, data structures and programming in C++

A selection of ten short lectures that provide an understanding of the basics of algorithmization and structuring of problems, as well as the effective implementation of practical methods for solving them.

Practical problem solving in C++

The course is devoted to the analysis of real mathematical, algorithmic, logical and optimization problems. This series is aimed at people who have some experience and a deep understanding of algorithms, so it can be a bit difficult for beginners.

Creating simple games in C++

Who among us as a child did not dream of making games? This course consists of 16 one-/two-minute videos, each of which demonstrates coding for classic games like snake, arkanoid and Doodle Jump accompanied by light music.

Programming simple games in C++ in 10 minutes

In general, the selection is similar to the previous one, with the exception, perhaps, that the demonstrated code contains more comments and is generally more intuitive. Each ten-minute video will teach you how to write a simple game: Checkers, Minesweeper, Tetris, etc.

Advanced C++

A series for confident C++ connoisseurs, which will allow you to deepen and expand your knowledge of the techniques, methods and features of the language. In this course, you'll learn about the differences between logical and physical constancy, virtual functions, compiler-generated functions, and more.

Online courses

CPA: Programming Essentials in C++

An English-language course from will help you acquire basic skills in writing programs in C ++, learn the principles of object-oriented programming, as well as universal concepts of software development. The course is suitable for preparing for the CPA certification exam from the C++ Institute.

Programming in C++

Part of the Fundamentals of Programming and Data Science Online Programs, this foundational course introduces you to the core features of the C++ language. Particular attention is paid to the discussion of the basic principles of the programs, as well as the process of compiling them.

(code-live)

This tutorial is for those who want to learn basics of programming in C++. The lessons are designed primarily for beginners, but will be useful for those who already have some experience in programming.

Introduction to Programming (C++) (Yandex)

The course is designed for students interested in programming. To master it, knowledge of the 8th grade program is sufficient. Students will start learning C++ from scratch, write many small programs, and become familiar with the basic language constructs. The acquired knowledge will be an excellent basis for continuing education in programming at the university.

Programming is one of the most valuable skills for career growth, self-development and creating something amazing. Ten tips for those who are just starting their journey into the world of programming, from Lifehacker.

10. Find out why you want to code

The chosen direction in study will depend to a large extent on why exactly you want to learn how to program and how much time you are willing to devote to this process. If you want to become a programmer, the first thing to do is to enroll in professional courses (Google has compiled a list of skills and courses for those who want to become software engineers). If you want to create games and websites for fun in your spare time, online courses are your best bet. Bloc has created a comparison chart of courses based on download, cost, and reason for learning to code.

9. Choose the right language

7. Try apps for kids

Now even toddlers are learning to program. While many child learning programs are simple, some (like Scratch) are suitable for all ages. It doesn't matter how old you are, even kids animation apps can teach you the basics of coding (edX has a new Scratch tutorial).

6. Take advantage of free online training

Free online trainings and projects (Codecademy , Hour of Code, etc.) can help you write your first program. Tutorials from Khan Academy, Codecademy, Code.org and others will introduce you to the basics of programming and everything you need to create a game, website or other project. Find the right source depending on the programming language using . This is a good starting point, however further training you need to take on.

5. Take an online course

Online programming courses offer more extensive educational training compared to sites that offer online training in one language. These courses are designed to teach basic skills over several months in university-level classes. I'm a big fan of the Harvard CS50 online course (you can take it for free). There are also other possibilities. You can even get a university level education by choosing one of 15 online courses.

4. Free Programming Books

If you are stuck on some problem or need to find the answer to your question, do not forget about reference books. GitHub has a huge collection of over 500 free programming books. An e-book collection covering 24 programming languages ​​is also available.

3. Learn while playing

Sometimes games are the best way to learn. While many programming tutorials teach you how to program simple or complex games, some tutorial sites are games themselves: Code Combat and CodinGame are tools you can use to have fun.

2. Find a mentor or become one

The programming community is full of people ready to help the next generation of programmers. Hack.pledge() is a site to help you find a mentor. Or you yourself can become a mentor for someone else. Teaching what you have learned will help you remember information better.

1. Parse someone else's code

C Programming For Beginners - Master the C Language

Duration 22:23:08

C Programming For Beginners - Master the C Language - Full list of lessons

Expand / Collapse
  • Lesson 1 00:12:23
  • Lesson 2 00:05:54
  • Lesson 3 00:17:54
  • Lesson 4 00:13:41
  • Lesson 5 00:12:10
  • Lesson 6 00:16:28
  • Lesson 7 00:06:48
  • Lesson 8 00:11:22
  • Lesson 9 00:05:11
  • Lesson 10 00:08:03
  • Lesson 11. (Challenge) Writing a C program that displays your name 00:05:15
  • Lesson 12 00:04:17
  • Lesson 13 00:07:00
  • Lesson 14 00:12:32
  • Lesson 15 00:05:01
  • Lesson 16 00:12:12
  • Lesson 17 00:04:13
  • Lesson 18 00:13:15
  • Lesson 19 00:16:56
  • Lesson 20 00:17:57
  • Lesson 21 00:19:24
  • Lesson 22 00:13:45
  • Lesson 23 00:11:17
  • Lesson 24. (Challenge) Print the Area of ​​a Rectangle 00:07:12
  • Lesson 25 00:12:14
  • Lesson 26 00:03:35
  • Lesson 27 00:08:53
  • Lesson 28 00:08:39
  • Lesson 29 00:19:56
  • Lesson 30 00:18:42
  • Lesson 31 00:12:44
  • Lesson 32 00:09:59
  • Lesson 33 00:03:52
  • Lesson 34 00:11:12
  • Lesson 35. (Challenge) Print the byte size of the basic data types 00:03:06
  • Lesson 36 00:05:39
  • Lesson 37 00:08:40
  • Lesson 38 00:21:33
  • Lesson 39 00:15:45
  • Lesson 40 00:05:00
  • Lesson 41 00:18:18
  • Lesson 42 00:17:50
  • Lesson 43 00:13:05
  • Lesson 44 00:11:03
  • Lesson 45 00:07:24
  • Lesson 46 00:17:49
  • Lesson 47 00:18:37
  • Lesson 48 00:10:10
  • Lesson 49 00:12:45
  • Lesson 50 00:04:25
  • Lesson 51 00:06:22
  • Lesson 52 00:12:34
  • Lesson 53 00:05:43
  • Lesson 54 00:14:35
  • Lesson 55 00:13:43
  • Lesson 56 00:14:59
  • Lesson 57 00:10:41
  • Lesson 58 00:13:18
  • Lesson 59 00:10:12
  • Lesson 60 00:04:50
  • Lesson 61 00:21:09
  • Lesson 62 00:06:46
  • Lesson 63 00:24:07
  • Lesson 64 00:08:11
  • Lesson 65 00:14:39
  • Lesson 66 00:07:42
  • Lesson 67 00:20:31
  • Lesson 68 00:20:08
  • Lesson 69 00:07:06
  • Lesson 70 00:03:33
  • Lesson 71 00:15:28
  • Lesson 72 00:02:13
  • Lesson 73 00:16:47
  • Lesson 74 00:21:22
  • Lesson 75 00:06:14
  • Lesson 76 00:12:42
  • Lesson 77 00:13:54
  • Lesson 78 00:11:32
  • Lesson 79 00:11:22
  • Lesson 80 00:07:46
  • Lesson 81 00:13:02
  • Lesson 82 00:20:15
  • Lesson 83 00:07:31
  • Lesson 84 00:03:20
  • Lesson 85 00:07:21
  • Lesson 86 00:17:44
  • Lesson 87 00:07:27
  • Lesson 88 00:08:51
  • Lesson 89 00:14:55
  • Lesson 90 00:07:47
  • Lesson 91 00:17:45
  • Lesson 92 00:02:37
  • Lesson 93 00:07:15
  • Lesson 94 00:02:15
  • Lesson 95 00:07:42
  • Lesson 96 00:03:50
  • Lesson 97 00:09:31
  • Lesson 98 00:02:55
  • Lesson 99 00:10:48
  • Lesson 100 00:20:01
  • Lesson 101 00:11:19
  • Lesson 102 00:10:05
  • Lesson 103 00:20:48
  • Lesson 104 00:11:28
  • Lesson 105 00:02:05
  • Lesson 106 00:08:37
  • Lesson 107 00:03:24
  • Lesson 108 00:13:48
  • Lesson 109 00:10:27
  • Lesson 110 00:16:21
  • Lesson 111 00:14:51
  • Lesson 112 00:09:36
  • Lesson 113 00:11:31
  • Lesson 114 00:02:22
  • Lesson 115 00:07:40
  • Lesson 116 00:03:24
  • Lesson 117 00:10:30
  • Lesson 118 00:02:24
  • Lesson 119 00:07:22
  • Lesson 120 00:03:48
  • Lesson 121 00:12:11
  • Lesson 122 00:03:22
  • Lesson 123 00:07:33
  • Lesson 124 00:09:41
  • Lesson 125 00:13:36
  • Lesson 126 00:00:49

C (si) Programming will increase career opportunities. Become a better developer in other languages ​​by learning C.

You have never programmed before and thought or said that C is a good programming language to start with. Truly said!

Perhaps you have experience with other programming languages, but want to learn C(C). This is a great language to add to your resume!

Or maybe you're stuck in a low-paying job and want to move up to a better, more senior position. Learning C (C) can help you!

The point is that learning to program in C is not only a great programming language, it will help you improve your programming in other computer languages!

Why learn C?

C (C) is often considered the mother of all languages ​​because many other languages ​​are based on it.

C (C) is one of the most powerful languages ​​ever created. Given that it was created over 40 years ago, it is still heavily used and is usually in the top 5 or 10 most popular and most widely used programming languages ​​in the world.

Learning C(C) can teach you how to program better in other languages ​​like C++, Java, or C# by equipping you with a mental model of what the computer actually does when you run your programs.

By learning how things really work "under the hood" and understanding memory space, processor architecture, etc., you will be able to write more efficient programs and gain a huge advantage over other programmers in the process.

If you want to become a better developer, learning C(C) is a great way to start!

By the end of this course, you will understand the basics of the C programming language and make yourself more accessible to entry-level programming positions.

You will understand variables and different data types, be able to use functions and arrays, understand the concept of pointers, learn about control flow (decisions and iterations).

You will be able to apply for real-time programming positions and really understand the core language that most modern languages ​​are based on!

If you have previously used the C(C) programming language, then this course will deepen your understanding. If you've never used it, no problem, you'll see that it can help you become a more efficient developer.

This course does not skip details. You will learn how to write high quality code and become a great problem solver. This course not only introduces how to write in the C programming language, but also includes all the details about "why" you do what you do. At the end of this course, you will fully understand the concepts of the C(C) programming language.

Your teacher Jason Fedin has been teaching students for over 12 years via online platforms at over 10 different online universities. He has created many different curricula ranging from mobile programming to bash to object oriented design and of course the C(C) programming language.

In addition, he has been developing software for over 16 years in the real world in various companies specializing in object-oriented development and mobile applications.

This means that you are learning from someone who has all the training, skills and experience.

If you're ready to land that first paid programming job or move into a more senior programming position, then this course is for you!