Educational programs for PC. Learning programming from scratch - a step-by-step guide for beginners. Ten steps from a teapot to a professional programmer

- This software tool, designed to solve certain pedagogical tasks, having subject content and focused on interaction with the learner.

The above definition captures the fact that CPC is a tool specially created to solve pedagogical problems, i.e. use in educational process- its main purpose. Computer tools used in teaching, but having a different main purpose and not implementing pedagogical functions, do not belong to the CPC. They are considered as a subject of study or act as tools for solving educational problems.

The following main ones can be identified pedagogical tasks, solved using COP:

1) initial familiarization with the subject area, mastering it basic concepts and concepts;

2) basic training for different levels depth and detail;

3) development of skills and abilities to solve typical practical problems in a given subject area;

4) developing the skills of analysis and decision-making in non-standard (non-standard) problem situations;

5) development of abilities to certain types activities;

6) conducting educational and research experiments with models of the studied objects, processes and activity environment;

7) restoration of knowledge, skills and abilities (for rare situations, tasks and technological operations);

8) control and assessment of levels of knowledge and skills.

Despite the integral nature of the listed tasks, their solutions influence each other. Therefore, types of COP, as a rule, are correlated not with individual tasks, but with groups of the most correlated tasks.

Subject content requirement implies that the CPC should include educational material on a specific subject area(discipline, course, section, topic). Educational material means information of a declarative (descriptive, illustrative) nature, so tasks to control knowledge and skills, and models and algorithms representing the objects and processes being studied. The presence of subject content makes it possible to separate the CPC from aids, providing technical and methodological support for the educational process ( electronic magazines progress, monitors for remote control and consulting, etc.).

Computer training program- This is a product for the learner.


The solution of pedagogical problems is carried out in the process of interaction of the latter with the CPC. Focusing on students means that they constitute the basic category of users, based on whom the content and functions embodied in the CPC are determined. Other participants in the educational process (teachers, instructors, methodologists) use COP in their professional activities, but are not included in the basic category of their users. Software and hardware for educational purposes, for which students are not the basic category of users, do not belong to the class of educational programs. For example, in general case Computer presentations used by teachers during lectures do not qualify as COP.

Focus on independent work trainees is the most important characteristic of COP. At the same time, it is not an integral feature of them, since there are COPs designed for group forms of training (for example, multi-role simulators).

It is known that the possibilities of using computers in the educational process are very diverse. It can be used to model the phenomena or systems being studied, to implement educational games, to perform calculations, to edit texts, as various kinds of simulators, and also as a design automation tool, programmable control of experiments, as an information retrieval or expert system finally, as a means practical training most computer technology and programming. At the same time, the use of a computer as a teaching tool is of particular interest. general purpose, applicable for teaching any knowledge.

The idea of ​​learning using a computer has been around for a long time. The first attempts date back to the late 50s. At that time, it was already possible to “communicate” between a person and a computer through a telegraph machine-teletype used as an input/output device. A properly programmed computer enters into its memory the request text typed by a person on a teletype keyboard, and upon completion of entering this text, it performs some analysis of it and prints on the teletype a pre-prepared answer, or a response constructed from suitable elements of the text. Or, more simply, the computer sends the text of a question or the terms of a task to a teletypewriter and waits for the answer to be entered from the keyboard, which is then checked against an existing standard to give a rating: true/false. Since then, there has been a continuous scientific search all over the world to solve the problem of an effective and cheap way of teaching using a computer.

computer science training program

In the 70s, specialists from the University of Illinois tried to solve the problem of high cost. Their forces created an amazing technical capabilities super system PLATOIY. Each student here was provided not with a teletype, but with a comfortable terminal with plasma display, providing the output of arbitrary text, graphics and color frames from microfiche, accompanied by sound. The calculations for the low cost of the system did not materialize, and after testing in the conditions of teaching school subjects, the complexity, didactic inefficiency and labor-intensive preparation of educational materials were revealed. Creation computer systems education took on a wide scope and in connection with this they talked about a revolution in education. But in reality, the developed systems did not have a significant impact on the practice of teaching, and none of them received any significant application: the systems were created on their own, and people were taught through books and lectures. With the advent of mass production of inexpensive and easy-to-use microcomputers, computerization is now progressing at a rapid pace in quantitative terms.

In the late 80s, a problematic laboratory of electronic computers Moscow state university The microcomputer training system “Mentor” was created. This system is intended for teaching subjects of a theoretical nature in universities, technical schools, vocational schools, secondary schools, centers for training, retraining and advanced training of personnel at enterprises. A typical version of the system is designed to train up to 32 students simultaneously, served by one microcomputer. The system is simple and easy to use, does not require special training teachers and convenient for students. All communication with the computer occurs according to prompts and control on its part. The system hardware includes a general-purpose microcomputer, a display with a keyboard, a flexible magnetic disk or magnetic tape, printer, specialized equipment for connecting students and teachers with a computer, including mini terminals, power supplies for mini terminals and a controller for pairing them with a microcomputer, a cable system. The system software consists of five parts. Three parts: “Training”, “Exam”, “Test” provide the opportunity to conduct relevant classes. There are two more service subsystems - preparation control information and protocol processing. Software equipment implemented and operates in an interactive structured programming system, which after its bootstrap, provides all further work. Using commands entered from the keyboard, the required subsystem is loaded and control information is entered. The system then operates without accessing external memory. And only at the end of the lesson, according to the entered commands, it prints out and (or) records the protocol in the archive. The functioning algorithms of the main subsystems are designed in such a way that they provide training management and examinations or tests, regardless of the specific content of educational materials, i.e. suitable for automated classes in any subjects. The work of the “Training” subsystem is to provide training materials divided into sections and assign exercises for each section; in case of incorrect answers, the student is given a certificate explaining the essence of the error and referring to the required paragraph of the instructional text. In some cases, additional exercises are prescribed. If all questions in a section are successfully answered, the student proceeds to study the next section. In case of an incorrect answer, return to the previous section or send to the teacher. The “Exam” and “Test” subsystems are designed to control knowledge and skills. In the “Exam” mode, the student receives from the teacher a set of sections in which he receives a number of exercises determined by the teacher with limited number attempts at answers. Correct answers are confirmed and incorrect answers are rejected, but certificates are not issued. “Test” differs from “Exam” in that each student answers all questions in the educational material, and only one answer attempt is given. The answers are neither confirmed nor denied. All student work is recorded. Educational and methodological equipment is the least fixed and most open to expansion and development. Only the formats and rules for the design of educational materials are strictly defined. There are no restrictions on the topics and content of educational materials, as well as methods or teaching techniques, except for the need to be expressed in the form of multiple choice.

In the period from 1991 to 1994, the Russian Research Institute information systems on instructions from the state committee high school Russia held four competitions " Electronic textbook" As a result of these competitions, the RosNII IS fund has accumulated more than 150 computer training programs ready for distribution on the IBM PC and compatible with them. Among these programs, the following main groups can be distinguished: instrumental systems, application packages, educational packages. Tool environments are designed for creating computer training programs. They reduce the labor involved in creating these programs, while at the same time making it easy for teachers who are not qualified programmers to participate in program development. Examples of domestic instrumental environments include such systems as “Adonis”, “Urok”, “Aosmikro”, “Scenario”, etc. The disadvantage of such systems is that they are expensive. In addition for effective application instrumental systems require the involvement of a stable group of specialists, which creates certain difficulties. Training programs can be created on the basis of application packages that allow you to convert mathematical expressions, make calculations, build graphs, process experimental data, etc. Compared to tool environments, application packages are cheaper, more versatile, and available to a wide range of users. An alternative application packages training packages may serve.

At the Department of General Physics of Novosibirsk State University, computers began to be used when giving lectures about 10 years ago. Since 1992, developments have been underway here to create a universal automatic complex intended for lecture demonstrations. The complex includes personal computers, video equipment, TV monitors and software. To date, a model of such a complex has already been created and is in operation.

Modern methods computer training imply active interaction of the student - user with the training program. At the same time, the full range of capabilities of modern personal computer or workstation- text, image, sound, video, combined into the concept of “multimedia”.

Significant progress in this area has been achieved with the development of a large-scale project World Wide Web (WWW,W3), which combines multimedia and modern computer networks. IN Lately this system has become the de facto standard for many information applications, including training programs. The simplicity of the technology for developing products in this system is also attractive - there is practically no need to write programs in algorithmic languages ​​(appropriate standard programs WWW systems), and the creation process comes down to designing and populating the corresponding databases and knowledge. Therefore, after carrying out preliminary analysis computer multimedia, it was decided to use the WWW system as the basis for the development of a computer textbook and other software.

As can be seen from the above paragraph, the desire to computerize education arose quite a long time ago (by the standards of such a young science as computer science). Almost every decade, more and more advanced training programs were introduced, but the disadvantages of almost each of them were their high cost and rather difficult path creation of the programs themselves and their further support.

City Car Driving 1.5.5 A realistic car driving simulator that will teach driving skills in urban, rural and mountainous areas in a wide variety of weather conditions and time of day.

Examination tickets for traffic rules 2016 (A, B) 4.0 Preparation program for passing the exam at the State Traffic Safety Inspectorate for obtaining licenses of categories “A” and “B”. The program contains all changes and additions to the rules dated July 19, 2012.

Schulte tables Schulte tables are used to increase a person’s peripheral field of vision and training quick reading text and memorizing information. Practicing with tables also has a beneficial effect on the development of memory and concentration.

Pascal ABC 3.0.1 Convenient and free tool learning programming in Pascal. Designed for high school and university students. Contains a collection of tasks for practicing a wide variety of basic programming skills.

English practice 7.2 Convenient and easy-to-use program for self-study in English. The program will significantly replenish your lexicon and teach confident perception English speech aurally.

English Language Trainer 1.12 Trainer program for learning English: fully voiced words, phrases and dialogues, advanced system of tests and assessments, very easy to use

PerfectBrain 2.1 Pro Training program for training and developing speed reading skills, attention and intelligence. With its help you can improve memory and reaction speed. It will be useful for schoolchildren, students and those who want to improve their intellectual performance.

Keyboard Trainer 2.0.2 Small, free training program fast printing and studying the computer keyboard layout. The program contains many lessons both on the Russian layout and English layout keyboards.

Testdel 2.4.7 Testdel testing program was created for passing and creating tests. Supports formulas, pictures. Stores work results and exports to Text Document each work, exports all works to Excel.

Mapsmaker 1.0 The Mapsmaker program is designed to help you create and save technological maps lesson on the Federal State Educational Standard. All components of the lesson are selected from those proposed by the program with a simple mouse click.

USE GIA tutor and problem book "ExamL 16.2.7 Preparation for the USE and GIA exams for students in grades 9-11 in the following subjects: Mathematics, Russian and Literature, Social Studies, History, Geography, Physics, Biology. Contains 4500 questions from 150 tests for 2012 -4 years and 4150 school problems.

Remember Everything 2.0 The program is designed to quickly memorize the 3,500 most commonly used words in the English language according to the system of the Guinness Book of Records record holder for memorizing foreign words - Samvel Gharibyan.

MemoryUp 1.1 You forget logins, passwords, number own phone, year of birth? Then the simple MemoryUp program is for you. With its help, you will quickly improve the process of memorizing both symbolic and figurative information of any complexity.

Memory training 2.1 Free program to develop human visual memory and mental abilities. Your attention is asked to remember a few words for a limited time, and then, if possible, remember each of them.

Test Yourself 2.0 A program for testing school or university students. The subject of the tests is determined by the compiler with the ability to connect a graphic (jpg, bmp), audio (wav, mp3) or video file (avi, mpeg) to the question.

Examenator Education Pack Program for organization educational material on a specific subject, creating cheat sheets. Using the export function, you can save your cheat sheets in in different forms, starting from text files before own Android applications

Knowing 2.3 The program is designed for creating tests and testing students in computer classes schools, universities, as well as at home, to test knowledge in various fields.

Division table in cartoons 1.0 An educational program for children in mathematics that allows you to study the division table using pictures and melodies from domestic and foreign cartoons.

AnimalsBaby 1.0 With the help of this simple educational program you can expand your child's horizons, improve his perception of the world and erudition. The program is a colorful guide to the animal world, in which the child must guess the names of the babies of various animals.

Multiplication table in cartoons 1.0 The program allows children to study the multiplication table with three different ways using pictures from domestic and foreign cartoons.
The task is to guess the fragment of the cartoon depicted, open the image in full and at the same time make a minimum number of mistakes.

HTML 2.0 Language Basics Basics HTML language- tutorial, distinctive feature which is graphical representation information using knowledge maps (mind maps). Each lesson ends with a test with carefully selected questions and practice assignments.

FlowersTest 1.0 Guessing the names of flowers from their images.
The program is testing and educational, intended for children of preschool and school age. Instills in children a love of nature.

Bodies of rotation 1.0 Automatic construction and viewing of bodies of revolution in space. After constructing a figure on a plane, the user has the opportunity to see the construction of a body of rotation relative to any of the three coordinate axes, rotate it and pass the test.

Today, many people are interested in whether it is possible to learn to program from scratch.

We have all heard stories that people who do this business have huge incomes, go to Bali every weekend and in the first months of their work were able to buy apartments for all their relatives.

In principle, this is not far from the truth, but Such results require experience and reputation. And you need to start with the simplest. We will look at what steps a person who knows nothing about writing programs needs to follow in order to travel to Bali and buy real estate in the future.

Contents:

Step one. Preparation

Often, beginning programmers cannot achieve success for the simple reason that they initially failed to set priorities correctly.

They present this craft as something romantic, dynamic - just some kind of constant action.

In films, this process is shown completely different from what it really is.

Moreover, there is generally The writing of codes is not displayed, we are only shown events that revolve around it.

The films also show that anyone can become a programmer without knowledge, experience, or even gray matter in the brain. IN in this case You can remember the film “Frames”.

So if you are simply saturated with the spirit of all kinds of films and want to start “coding” yourself, programming is clearly not for you.

Here's the truth about the craft in question - programming is:

  • hours and sometimes days of monotonous work, during which you cannot relax, you must always be focused;
  • endless learning in pursuit of latest trends in this area;
  • similar projects with customers who don’t know what they want and what it should look like.

As for the latter, you must It’s worth watching a video about seven red lines of different colors, one of which is in the form of a kitten. In principle, this is close to the truth, since customers often demand the impossible. It also happens that they order something, but they are always not satisfied with the result.

If you understand all this and are ready to plunge into the wonderful world of programming, then proceed to the next step.

Step two. Selecting your first language

Exists great amount programming languages. According to some estimates, their number has already reached several thousand.

In general, C is one of the most simple languages, which provides the basis for everything else. Moreover, its elements are used in many other systems and programs.

But I wonder what's in the good ones educational institutions, and During the courses, students study languages ​​in the following order:

1 Pascal.

2 C++.

3 PHP and everything related to web programming, as well as SQL(this is a system designed to work with databases through queries).

  1. Web(website development, online systems and everything connected with it) - html(although it cannot be called a full-fledged programming language), PHP, Perl, Python, Ruby, Java, Groovy, as well as ASP.NET technology.
  2. Custom software(all kinds of programs like reference books, browsers, instant messengers, etc.) – Delphi, C, C++, C#.
  3. Custom software for mobile devices – Java, Objective-C.
  4. Machine developments(working with microprocessors and other devices, robotics design) – Assembler, modifications C.

Someone can also add so-called 1C programming to this list. Don't believe the laymen and don't do anything knowledgeable people! This is not programming at all.

Once you become familiar with the basics of the work in question, you will understand why this can be said.

Choose what you like best.

Advice: Make your choice right away! You must know exactly in which direction you will develop and what to study in the future.

Most specialists also It is recommended to start your learning with Pascal. This option will allow

You need to write the simplest programs and have a general idea of ​​the craft in question as a whole.

We can say that Pascal is a kind of bridge. A person who simply knows mathematics well can move through it into the world of programming.

Attention! Whatever company you choose to work for after training, you will be retrained for yourself. Therefore, you just have to understand the very principle of writing programs. And for this there's nothing better than Pascal.

Step three. Studying Compilers

For reference: Compiler- This technical solution, designed to translate input commands into machine instructions, roughly speaking, into zeros and ones, that is, into an interpretation in which the machine will understand what to do.

Actually, you will write and execute all your programs in compilers.

If you decide to follow our advice and start with Pascal, then you should download Free Pascal. This compiler is absolutely free and is distributed on the official website.

As you can see, it looks quite “old-fashioned”, but programming begins exactly with this. By the way, the C++ compiler looks almost the same.

It's called Turbo C++ (you can download it).

As for Pascal, there is also GNU Pascal, Turbo/Borland Pascal, TMT Pascal and Virtual Pascal. And for C++ you can use Borland C++, Visual C++, Dev C++, GCC and Eclipse.

But this, as we said above, is just the beginning. You can't stop there. Once you've made a choice about your direction, you can move on to more complex compilers.

Here is a list of the most popular compilers today depending on the areas of activity:

    ConcerningDelphi, then that’s what the compiler is called there. There is also Embarcadero Delphi and some other modifications. Delphi 7 can be downloaded from many sites, for example. If you chose C, C++ or C#, then you need Microsoft Visual Studio. You can download it directly from the manufacturer's official website.

    If we talk aboutAssembler and other languages ​​used in robotics, then you need to immediately download MASM if you are working on Windows. In general, depending on the field of activity you choose and the company for which you get a job, compilers can be very different. Some companies write own solutions for code processing. Therefore, if you have chosen robotics, it is better to study the relevant books and do everything as they say. We'll talk about this later.

There are also many online compilers. They are useful because they support many programming languages ​​and do not require installation - very convenient!

Here are the most popular ones:

This unique service, which allows you to create several virtual computers and do whatever you want on them, including compiling ciphers.

Virtual machines will run under . You can at least delete them system folder, install absolutely any program, and so on.

Now let's start writing your first cipher (code). This can be done even without books and long instructions.

Step four. First code

For the first code, we will use the first language and the first compiler, which we advised to choose above. These are Pascal and Free Pascal.

One of the most simple programs is written as follows:

1 Download Free Pascal follow the link above and run it on your computer.

2 Enter the following: “program [name];”. That is, if you want the program to be called “hello”, you must enter “program hello;”.

3 Enter the "begin" statement. This means that the code that will need to be executed later has begun.

4 We use one of the most common constructions in Pascal “writeln(‘[some text]’);”. It simply displays text on the screen. Which is contained in parentheses and quotation marks. We will introduce the combination "Hello, world!". Usually your way to Big world Software development starts with this. So the next line would look like “writeln(‘Hello, world!’);”.

5 To complete the cipher being executed, enter "end."(necessarily with a period at the end).

6 Now press the button "F9" to run what you wrote. You will see the words appear on the screen "Hello, world!". This is what was required!

To get you started with other languages, books usually also provide instructions on how to write “Hello, world!” , that is, instructions that simply display such simple text on the screen.

So, you have mastered your first cipher! A start. Now move on to intensive training.

Step five. Take online training

Advantage online lessons the fact that you see everything clearly, from beginning to end.

Therefore, it is better for beginners to start their journey with online trainings. Here best courses in Russian:

  • Course “Programming Fundamentals” from the Educational IT portal GeekBrains. Everything is told here from the very beginning, from the very basics. You will be able to study the history, development of this industry, and then gradually become part of it. The same series of trainings can be downloaded from a torrent (here is the link).
  • Lessons from the School of Programmers. This course is suitable for those who don’t even know anything about mathematics, don’t know the nature of numbers, how information is represented in a computer, and other similar points. That is, if you consider yourself a complete layman, watch these video lessons.
  • "Programming Foundation" from EG Lab. Here they will talk about this craft in general, about the development complex tasks and data types (three lessons in total). Watching these lessons will be a great help to start learning a specific language in the future.

After viewing these courses, you need to move on to lessons dedicated to a specific language or industry of your choice.

If you know English, it's a huge advantage, but only if you already know something.

Courses for those who are absolutely zero in this issue, for some reason they are not provided there (or they are impossible to find).

But there are courses for specific languages. For example, there is Learn Java Simply, C++ Programming Tutorial for Beginners, How to program in C# - BASICS and much more.

Choose training depending on the direction of your activity.

If you have watched at least a few lessons, you can move on to something more meaningful, studying books.

This program generates examples from the multiplication table. The solver needs to write down the correct answer in a special field and click the CHECK button. After clicking, the program will display the result.

You can skip tasks by clicking on the example you want to skip, but all gaps will be counted and after clicking on the RESULTS button, the number of correct and incorrect answers, as well as the number of missed tasks, will be shown.

The program will be useful to everyone who wants to repeat and consolidate their knowledge of the multiplication tables.

For the program to work, it must be installed on your computer. virtual machine java(JVM).

Subject: Mathematics

The program generates number series of different lengths (up to 12 characters) and displays them on the screen. The user selects the display time of the series and its length. After pressing START, the series is shown and after specified time disappears, and the user must repeat it. The program is quite easy to use and will be useful for memory development. The program requires java installed on your computer to run.

Subject: Metasubject

Automatic analysis diagnostics The table presents 4 methods: “Questionnaire for assessing the level of school motivation of N. Luskanova”; “Student survey” (according to N.Yu. Yashina); Methodology “What am I?”; “Attention test” (P.Ya. Galperin, S.L. Kabylnitskaya).

For each method, a table has been compiled with automatic output of results. Points must be entered in the cells gray. The findings for each indicator are entered into the Diagnostic Summary Sheet. The archive contains diagnostic materials.

Subject: Metasubject

The target audience: for 3rd grade

Analysis of dictation and grammar assignments in 1st grade with individual diagnostics for each student.

The teacher marks the work; if the student made a mistake, you need to put + from the drop-down list, if there were no mistakes, leave the cell empty. The upper cells are active - you can enter the classification of errors. In individual sheets the program conducts automatic processing data for each student. The table contains instructions.

Subject: Russian language

The table presents a list of educational achievements that the teacher evaluates in students at the end of the year. A 5-point system is used for evaluation (description attached). A report is displayed for each student after filling out the main table.
The template allows for changes: you can change the class by a quarter, as described in the table. The table was compiled based on the material of L.I. Berdikulova. (the document is included in the archive).

Subject: Metasubject

Target audience: for teachers

Analysis and processing of control cheating in 1st grade with individual diagnosis of each student.

The teacher enters the text of the work in the upper cells; makes a mark for the work; the number of corrections that the student made when cheating; indicates errors and words in which they were made. In individual sheets, the program automatically processes data for each student; if many mistakes are made, recommendations “How to copy the text correctly” are displayed, which can be printed for parents.

The table contains detailed instructions.

Subject: Russian language

Target audience: for 1st grade

Analysis and processing of data on the surrounding world (VPR) in 4th grade. After filling out the table on the achievement sheets for each student, a report appears on the formation of subject and meta-subject results of mastering the main educational program primary general education.

On the “Analysis” sheet, the mark will be placed only after entering the option number.

Subject: Environment

Target audience: for 4th grade

Analysis and processing of data on the Russian language (RLP) in 4th grade. After filling out the table on the achievement sheets for each student, a report appears on the formation of subject and meta-subject results of mastering the main educational program of primary general education.

After entering the results for each task, the program displays an analysis of the work performed. The number of correctly completed tasks and the names of students who completed each task are displayed. On individual sheets for students, the skills acquired during the course are displayed. high level; skills to look out for.

Subject: Russian language

Target audience: for 4th grade