DNTU Master's portal

Summary on the theme of master's work

Сontent

Introduction

The aim of this research project is to create an interface that would satisfy several conditions for better assimilation of the material online courses for students studying programming:

The problem of our secondary education in the field of specific training for faculty universities (according to statistics let down in the magazine "Big Break" in 2004), focusing on training of engineers and computer programmers is that it does not consider the option that the overwhelming majority of students at the time of admission has no initial knowledge base, the presence of which is oriented university program. Consider the statistics: the release comes only about 50% of the original composition, about 20% will be deducted for various reasons, and the remaining 30% are left to repeat the course, later making a certain percentage of graduates. It would seem that the numbers are reasonable, but they are only percentage ratio (remember the streams from which remained as a result of deductions 3-4, sad story).

We ask the question, why is this so? The answer appears immediately - the students are not able to understand all the intricacies of-the vicissitudes of all the specific areas of computer engineering, especially in the affected area. Note that not all schools (the initial stage of formation of all applicants) is a qualified teacher who is able to talk about all the merits and intricacies of programming at least at the stage of writing simple programs from the category of «Hello World» or "1 +1 = 2", and already play a significant role in the screening of potential applicants for such faculties as CST and CHINA. The teachers of these faculties are counting on the presence of these students the basic knowledge to be incorporated into their consciousness in the process of schooling, but in reality we are just a couple of high school (Donetsk), which provide the knowledge, the other in the best show to his disciples, programs such as "Turtle" (drawing from ancient origin pen), "Algol" and the basics of web design. This last point seems to be wonderful, but these sessions only tells how to display a string and add an image.

Tell me, is the set of manuals and tutorials, but they are not focused target audience of high school and university, but my opinion is that the target audience for these courses have become students of the middle classes, in which plenty of free time for understanding and improvement in this area. Here and there the first problem is how to explain to children the age category 10-13 years, which is not always possible to intelligibly explain to students.

My opinion in this area is - the target audience for such a topic to explain the method of "slides", combining short and understandable graphical abstract and sketch-visual aid, from time to time by repeating it in the following sections. Each chapter of this tutorial should include a short-short lecture slides, includes the answers to all the questions of a small practical assignment at the end.

An important point of interface for the current audience as there is sound. The point here is not about the music, or sound effects when you press or on the withdrawal of the error signal, namely scoring the lecture. Again, according to statistics students to remember more of the lectures and explanations in pairs / lessons than textbooks, which are generally all too lazy to read. In this era of technology, some particularly tricky even for literature students do not read books, but use already read out by someone on the "recorder" audio books. You can not say that this technique is particularly effective in terms of memory, but it is a guarantee that the material will be read in its entirety.

Interest in programming for children starting to wake up at the stage of the middle classes, but the curriculum does not provide for the study of the discipline, as a result, does not fueling the desire fades away and do not always flares up again at a later age, often reject aside under the pretext of "it's complicated and it is unclear economics or psychology is much easier. "Remember the main slogan of the movie "Ratatouille"? "Cooking can be one." I can not to say that to program at the highest level everyone can, but writing software, even afford simple to everyone that has already voiced some other form of P. Laforet. In his book "Object-Oriented Programming in C + +." Let's try to work out while in theory, the interface component for a program that could meet this claim and help start preparing students for faculty and students specializing in programming.

Comparison with other programs.

Consider a program Pascal ABC.

The window at the beginning of the program.

Figure 1. The window at the beginning of the program.


This program has a rather simple design, consists of 2 windows: top - to write the program, lower - to display the results of the written program (it appears to display the results of the program) and the toolbar. Some secondary educational institutions use it to write a simple program in Pascal in the presence of the teacher, as it is able to explain what was what.

There's also a function call the settings window:

Debugging

Figure 2: Debugging.


If there are errors during compilation, they are displayed below in the form of a red band with a description of the error:

Output of error. The error message is displayed at the bottom of the window as a red ribbon.

Figure 3: Output of error. The error message is displayed at the bottom of the window as a red ribbon.


The presence of such a line, in sharp contrast with the overall picture light design software, pop-up as necessary and reasonably well draws attention to its "sudden and unexpected" appearance has quite informative for high school and have more or less trained coders describe the errors. During the initial stages, may it would be useful to decipher the meaning of a mistake in the form of tips or instructions from, for example - "." "The loop body must be free" {"and"}, or for example the current "number at the end of the line missing the mark", "." .

There is also provided for programming tasks, the so-called "E-book of problems in programming." Having such a collection of fairly simple tasks can serve as a basis for the homework that each topic 40 variants of tasks, suggesting an individual home / practical / lab exercises within one or two classes of students.

Select the tasks also has a fairly user-friendly interface that allows you to immediately open the option you want by selecting the subject and entering the correct version of the task.

Choosing a theme for the task.

Figure 4: Choosing a theme for the task.

Conditions of the problem.

Figure 5: Conditions of the problem.

The conditions of the problem with the answer shown.

Figure 6: The conditions of the problem with the answer shown.


The tab help we can find many examples of ready-made programs.

The list of examples, arranged by topic.

Figure 7: The list of examples, arranged by topic.


That's like one of them - a shooting game:

Example. Shooting game.

Figure 8: Example. Shooting game.


Or here's an example from the category of object-oriented programming:

Example of an object-oriented programming

Figure 9: Example of an object-oriented programming


Aside from the irrelevance of some of the language in our day, this program can be called one of the best environments for learning programming high school students and undergraduates are specialized universities, but at the same time it does not have an explanation for the more unprepared audience for the first time discovered a program the user can not start its operation. So we have a lot of advantages and the only drawback - the lack of an explanation for beginners, which would have been to a place in any program for teaching programming.

Development of the interface component of the new program. Theory

Thus, we considered one of the best options for the interface of the curriculum and conducted a brief analysis of the functional and accessible to the perception of some of the features of the program Pascal ABC.

Programming, as in mathematics or writing, you should start learning at an early age, maybe not to the basis of a formal object, and at the level of an elective for those who are interested. But here there is a stumbling block - to explain in simple language students "how it works and what can be done about it." Well, let's latest new generation already knows every student is aware that it is possible to write a program that will solve the problem for them in other subjects (if you do not show the solution, it is exactly the right answer would be called for verification). But tell me how it works? ..

Again, assume that the school is intelligent teacher who will explain to the school and that it takes place in the program as a program is and what it is for that, but a similar age, there are no textbooks on programming with visual aids and explanations (school program in computer science at sixth grade only involves the study of the basic ways to use the computer, but students at this age are beginning to ask questions from the category of "well, we will write programs for solutions to the math?"). I believe that for an interactive object and the textbook should be interactive, has the function of an electronic teacher lectures set out in simple and accessible language for such an audience.

So, where to begin ... Let's start with the construction area to direct programming.

The area to write code from an existing example of a very good look, not cluttered and quite easily in perception. but the area with the readings on the success of compiling a program does not save the results of previous audits, it may also be called a disadvantage.

Location of windows for this type of program is very successful, because the original version will outline the common interface for the program:

The model of interactive programming teacher. Window.

Figure 10: The model of interactive programming teacher. Window.


where 1 - to enter the area code of the program, 2 - area for errors (you can hide the toolbar), 3 - output area (you can hide the toolbar), 4 - toolbar.

Go over to the operations. The tab "Файл" ("File") contains the standard features: Создать (New), Открыть (Open), Сохранить (Save), Сохранить как (Save As), Закрыть (Close). The tab "Редактирование" ("Edit"): Копировать (Copy), Вставить (Paste), Найти (Find). "Вид" ("View") duplicates the control areas from the toolbar, performing the functions show / hide regions 2 and 3. "Программа" ("Program") includes the "Выполнить программу" ("Execute Program") и "Остановить выполнение" ("Stop Execution"), which also duplicates the functions of the toolbar. "Работа с шаблонами» ("Working with Templates" ) provides access to the source template and unloads code examples of "lectures". "Помощь" ("Help") contains information about the application and contact the author. "Лектор" ( "Lecturer") has to go to the selection of lectures for listening / viewing, selecting tasks to independent solutions.

Error area in finding that of the contrast should privertati attention, emphasizing the encoder to those unexpected happened. At the beginning of the interactive teacher in region 2 should be expanded to reflect the comments of the error, with hints and tips for beginners:

General view of the window with the error Eye-catching element on the window with a description of the error

Figure 11: Example of light when an error occurs and the element that attracts attention to the area with a description of the error.


Below the taskbar can display the current position of the cursor in the field of 1, indicating the current line and column.

The toolbar contains the above-mentioned functions, duplicating a lot of process control functions of the program "Выполнить программу" and "Остановить выполнение", button on and off voice mode lectures, inactive in the execution mode of writing code, "Список Лекций», buttons «Копировать», "Вставить", "Найти", "Создать", "Открыть", "Сохранить".

When you first start the program you can run the read mode, which is a separate lecture, instruction manual, which explains what area of the button or what is needed, and surprise of what to expect. Also in this manual must contain the description of the use of the «Электронный лектор", compiler and given the dialogue to continue working with the program and are finished with it.

We now turn to the interactive features of the teacher. This aspect of the user-friendly interface must be present in the curriculum for the middle classes even at a level accessible to the perception of reference and a guide to the homework assignment.

When you call the list of lectures called window on top of the main window:

The content of electronic lectures

Figure 13: The content of electronic lectures.


where you can select the mode in which you can listen to or read material that interests him on a given topic.

Choose a topic. In selecting the theme window slightly changed: added the "Прочитать страницу", "К оглавлению", "Следующая страница" and "Предыдущая страница".

Sample output from the lecture

Figure 14: Sample output from the lecture.


Прочитать страницу - written in the voice of page-slide if the choice of the theme was selected, "Читать". К оглавлению - return to the list of topics for reading / wire-tapping.

Следующая страница - go to the next page of the lecture. Inaccessible in listening mode until the page read. Предыдущая страница - go to the next page of the lecture. Inaccessible in listening mode until the page read. The same video shows pieces of the program.

The conclusions

The project was offered the option of improving the training of students, starting from the beginning of high school. This solution to the problem involves changing a familiar interface for programming environments and complement its functionality.

List of sources:

  1. The newspaper "Big Break." A selection of articles from 2004.
  2. P. Laforet Object-Oriented Programming in C++. "
  3. A set of documentation for the program ABC Pascal.
  4. The influence of the level of ownership of information technology on the perception of computer users - Digital Library of Ukraine
  5. Programming Basics for Beginners - iguania.ru
  6. Forum of beginner C++ programmers. Questions of beginner programmers to C++
  7. B. Kernighan, D. Ritchie, "The C Programming Language" 3rd edition, revised