Working educational program for clubs and extracurricular activities in computer science and programming Basics of programming and computer modeling The goal of this educational program is to introduce students to the basics and computer modeling. The C++ language was chosen as the basis for the study because its syntax is used in, and is the basis for many other modern programming languages. The section discusses the main methods and models: approximate solution of equations, regression, least squares method, numerical solution differential equations, cellular automata, genetic algorithms, linear programming. The program includes a topic dedicated to creating a user-friendly GUI. During the development of this program, students implement mini-projects, consolidating the acquired knowledge with independent practical work. Mini projects can be used as a basis for project activities to participate in scientific conferences students. To master this educational program in programming and computer modeling an in-depth study of certain sections of mathematics, physics and other subjects is necessary. The required knowledge is indicated in the “Required knowledge” column. Classes in groups of no more than 10 people. Optimally 6-8 people. Classes are held in a computer lab.
Topic name |
Number of hours |
Theoretical knowledge |
Practical tasks |
Required mathematical and other knowledge |
||||
Linear algorithms Variables. |
Introduction to the structure of a C program. Variables, data types. Data input and display. Specifying random variables. |
Tasks. 1. Solving a quadratic equation |
||||||
Introduction to logical expressions. If and case statements. |
||||||||
Introduction to for , while loops, Nested loops. |
Tasks 1 Nested loop. Calculation of the area of a circle. |
|||||||
Introduction to one-dimensional and multidimensional arrays. Basic input/output operations of arrays. Sorting finds the smallest and highest values, operations with arrays. |
Tasks 3. Converting a decimal array into a binary one and vice versa. 4. Exchange of elements between arrays (one element, a piece of an array) Mini projects 7.Implement the game Life. 9.Modeling crowd behavior using the theory of cellular automata |
The concept of a matrix. The concept of amount. Summation over several indices. |
||||||
Defining your own functions and procedures. The concept of local variables. Fundamentals of procedural programming. |
Tasks 1. Passing an array to a function. And calculating the value of a function based on array elements |
|||||||
Basic operators for graphics. The simplest animation. |
2.Construction of graphs of functions. Mini projects 3. Drawing according to the given parameters of various shapes. 4 Drawing three-dimensional figures and points on them at given coordinates |
Properties of three-dimensional figures. Coordinates of points in space. Equation of a straight line in space and plane. Vector concept. |
||||||
Functions for writing and reading data from a text file. |
Tasks 1.Write and read a numeric array from a file Mini projects 2.Record data readings from the microcontroller sensors, process them and display statistics. |
Fundamentals of the microcontroller programming environment. Reading data from sensors. |
||||||
Introduction to the basics of computer modeling. Basic computer models. Half division method. Linearization of problems. Least squares method. |
Tasks 1 Numerical solution of equations. Half division method Mini projects 2Approximation. Regression. Least squares method. 3. Modeling of physical processes. Modeling of motion in a viscous medium. 4.Modeling of physical processes. (Gravity, electrical, magnetic fields) |
Introduction to the Arduino microcontroller programming environment. Reading data from sensors and controlling servos and motors. |
Mini projects 1. Control of manipulators 4. Recording data from sensors into files and processing statistics and transferring to the Internet 5. Data exchange between microcontrollers at a distance. Remote control robots. |
Concepts of current, voltage, Ohm's law |
||||
Made a working educational program Pashnin Andrey Alexandrovich |
The program is organized into a set of topics devoted to individual constructions of the language being studied. Within each topic, it is assumed that theoretical material will be studied (lectures) and laboratory work (workshop), by completing which students consolidate theoretical knowledge in practice. Also provided system educational projects(individual, collective, creative). System of tasks and assignments for independent work students offered in the training course allows you to diversify classes and improve the quality of knowledge of high school students in computer science. In addition, the proposed material assumes the organization of the educational process in a system of lectures and seminars, which makes it possible to bring students as close as possible to studying in higher educational institutions.
Download:
Preview:
Municipal budget educational institution
Secondary school No. 76
Reviewed
at the meeting
MO physics and mathematics cycle
protocol No. 1
from_________
Agreed
with deputy
Director of VR
teachers' council
protocol No. ___ dated ___________
I affirm:
Director
MBOU secondary school No. 76
Protsenko S.I.
and calendar-thematic planning
"Programmer" mug
Teacher: Priluka T.I.
Grade: 7-11
for the 2013 – 2014 academic year. year
n. Giant
Introduction.
A modern person requires not only a certain set of knowledge, but also the ability to independently acquire the missing ones and apply them in life. One of the main sources of information in modern world becomes a computer, the ability to work with which is, therefore, an important condition human development and success.
At school, the study of computer science is transferred to earlier grades, the content of the subject is revised, many sections are expanded, deepened, and new ones appear. However, the pace of development of informatization of society is faster than the curriculum and school curriculum. In basic school, insufficient time is allocated to these topics; there is no opportunity to organize individual work.
For students studying computer science in depth, it is important to master the skills of algorithmic thinking, knowledge of various programming languages, and the ability to compare, contrast, and analyze them. In addition, they must be able to use programming languages to solve specific application problems, choose the best methods and software to achieve your goals.
Programming is the core of a specialized computer science course. Studying the basics of programming is associated with a number of skills (organizing activities, planning them, etc.), which are of a general intellectual nature and the development of which is one of the main tasks of a modern school.
The role of studying programming is very important for the development of schoolchildren’s thinking and the formation of many techniques of mental activity. By studying programming, students become familiar with the algorithmic culture and learn the basics of the programmer profession.
Explanatory note
Programming is the core of a specialized computer science course. By studying programming, students become familiar with the algorithmic culture and learn the basics of the programmer profession.
This club program contains the general structure of classes for studying the most popular and promising programming language - C++. The range of topics covered in the program is limited to a description of the structural capabilities of the language and represents the initial stage of learning, which is fundamentally important for the formation of a programming culture.
The proposed program is suitable for use in classes as part of an elective course, when organizing individual work with students interested in programming. The program is focused on learning the basic, basic C++ constructs and acquiring primary algorithmization and programming skills. Due to its specifics, this course can in no way claim to be a complete presentation of all the fundamentals of this language. The program course contains a description of only its basic structural capabilities; issues of object-oriented development/programming and the use of C++ Builder visual tools for creating windowed Windows applications are not affected.
The organization of classes within the framework of the circle program assumes that students have knowledge of the basics of computer science at the basic level of the school curriculum, as well as some experience with a personal computer in the Windows operating system.
The program is aimed at student use software package Borland C++ Builder 6.0 and as an introduction contains a description of the full cycle of creating a console application using this system. At the same time, the material presented in the program can be easily adapted for use with other compilers and development systems.
The program is organized into a set of topics devoted to individual constructions of the language being studied. Within each topic, it is assumed that theoretical material will be studied (lectures) and laboratory work (workshop), by completing which students consolidate theoretical knowledge in practice. There is also a system of educational projects (individual, collective, creative). The system of tasks and assignments for independent work of students, proposed in the training course, allows you to diversify classes and improve the quality of knowledge of high school students in computer science. In addition, the proposed material assumes the organization of the educational process in a system of lectures and seminars, which makes it possible to bring students as close as possible to studying in higher educational institutions.
Club "Programmer" » will be held according to the schedule:Tuesday from 16.30 to - 18.00
Main goals and objectives of the course:
Goals:
- realize to the fullest extent the interest of students in the study of modern information technologies;
- reveal the basic capabilities, techniques and methods of working with a programming language;
- develop information culture among students;
- create conditions for the introduction of new information technologies into the educational process of the school;
- mastering the terminology and basic concepts of computer science and information technology.
Tasks:
Educational:
- Teach students to create programs in the C++ programming language using basic algorithmic structures.
- Involving students in practical research activities.
- Development of motivation to collect information.
- Teach students to competently use Internet resources.
Educational:
- Formation of the need for self-development.
- Formation of an active life position.
- Development of a culture of communication.
Educational:
- Development of business qualities such as independence, responsibility, activity, accuracy.
- Development of a sense of beauty.
Tasks:
- developing practical computer skills;
- developing practical skills in working in a programming environment;
- developing the ability to plan your activities.
Forms of classes:
- lecture;
- practical lesson;
- work in pairs;
- work in small groups;
- presentations;
- working with electronic cards;
- game;
- educational project.
Forms of control:
- testing;
- practical tasks;
- project protection.
Accepted abbreviations in calendar-thematic planning:
Calendar - thematic planning
Topic No. | Lesson number | Title of topic, activity | Date |
Introduction to the training course. | |||
Introductory training on TB. | 3.09 |
||
Goals and objectives of the circle program. Main content. | 3.09 |
||
Introduction to programming. | |||
Introduction to programming languages | 10.09 |
||
Elements of language. Program, program structure. | 10.09 |
||
C++ Builder and console applications | |||
The history of the emergence of the C++ programming language. | 17.09 |
||
Creating a console application in C++Builder. | 17.09 |
||
Compiling, linking and running a program. | 24.09 |
||
General structure of a C++ program. Using libraries. | 24.09 |
||
Declaration and initialization of variables.Standard types data | 1.10 |
||
Operations I/O. Arithmetic operations | |||
Console I/O. | 1.10 |
||
Console I/O. Practice. | 8.10 |
||
Streaming I/O. | 8.10 |
||
Streaming I/O. Practice. | 15.10 |
||
Arithmetic operations and mathematical functions | 15.10 |
||
22.10 |
|||
Work on the IUP “Input-output operations. Arithmetic operations" | 22.10 |
||
Protection of IUP “Input-output operations. Arithmetic operations" | 29.10 |
||
Conditional operator if-eise | |||
Purpose and syntax of the if-else condition operator.. | 29.10 |
||
Abbreviated recording options. | 5.11 |
||
Conditional operator if-else. Practice. | 5.11 |
||
Nested conditional statements. | 12.11 |
||
Nested conditional statements. Practice. | 12.11 |
||
Compound logical expressions. | 19.11 |
||
Compound logical expressions. Practice. | 19.11 |
||
Common mistakes programming. | 26.11 |
||
Work on the PMC “If-else condition operator” | 26.11 |
||
Protection of the PMC “If-else condition operator” | 3.12 |
||
The for loop operator | |||
Purpose and syntax of the for loop operator. | 3.12 |
||
Abbreviated recording options. | 10.12 |
||
10.12 |
|||
The for loop operator. Practice. | 17.12 |
||
Nested loop statements. | 17.12 |
||
Nested loop statements. Practice. | 24.12 |
||
Typical programming errors. | 24.12 |
||
7.01 |
|||
Work on the IEP “For Loop Operator” | 7.01 |
||
Protection of IEP “For Loop Operator” | 14.01 |
||
Arrays I. Element-wise operations | |||
The concept of an array. | 14.01 |
||
One-dimensional (linear) arrays. | 21.01 |
||
One-dimensional (linear) arrays. Practice. | 21.01 |
||
Multidimensional arrays. | 28.01 |
||
Multidimensional arrays. Practice. | 28.01 |
||
Typed constants. | 4.02 |
||
Initializing array elements. | 4.02 |
||
Initializing array elements. Practice. | 11.02 |
||
Typical programming errors. | 11.02 |
||
18.02 |
|||
Work on the CUP “Arrays I. Element-by-element operations” | 18.02 |
||
Protection of KUP "Arrays I. Element-by-element operations" | 25.02 |
||
Arrays II. Search and sorting algorithms | |||
Linear search by condition. | 25.02 |
||
Linear search by condition. Practice. | 4.03 |
||
Search for the maximum (minimum) element. | 4.03 |
||
Search for the maximum (minimum) element. Practice. | 11.03 |
||
Sorting using the "direct selection" method. | 11.03 |
||
Sorting using the "direct selection" method. Practice. | 18.03 |
||
Bubble sorting. | 18.03 |
||
Bubble sorting. Practice. | 25.03 |
||
Typical programming errors. | 25.03 |
||
1.04 |
|||
Work on the IUP “Search and sorting algorithms” | 1.04 |
||
Protection of IUP “Search and sorting algorithms” | 8.04 |
||
Functions | |||
Definition of a function. | 8.04 |
||
Function call. | 15.04 |
||
Function call. Practice. | 15.04 |
||
Formal and actual parameters. | 22.04 |
||
Formal and actual parameters. Practice. | 22.04 |
||
Function prototypes | 29.04 |
||
Function prototypes. Practice. | 29.04 |
||
Typical programming errors. | 6.05 |
||
Work on the PMC “Functions” | 6.05 |
||
Work on the PMC “Functions” | 13.05 |
||
Protection of KUP “Functions” | 13.05 |
||
Final summary. | |||
C++ language, brief overview. | 20.05 |
||
Work on ITP “C++ Language” | 20.05 |
||
Work on ITP “C++ Language” | 27.05 |
||
Protection of ITP “C++ Language” | 27.05 |
Topic I: C++Builder and Console Applications
Program, programming language. Creating a console application in C++ Builder. Compiling, linking and running a program. General structure of a C++ program. Using libraries. Declarations and initialization of variables. Standard data types
Students must
know :
Program structure;
Purpose and capabilities of the C++ programming system.
be able to :
Compile, link and run a program.
Topic II. I/O operations. Arithmetic operations
Console I/O. Streaming I/O. Arithmetic operations and mathematical functions
Students must
know :
Rules for organizing console I/O;
Rules for organizing stream I/O;
Rules for using arithmetic operations in C++.
be able to :
Perform console I/O;
Perform streaming I/O;
Use various modes input-output;
Apply various options for recording arithmetic operations;
Delete, move and copy program elements;
Manage the program manually;
Save the source program file on disk, read from disk.
Topic III. Operator if-else conditions
Purpose and syntax. Abbreviated recording options. Nested conditional statements. Compound Boolean Expressions.
Students must
know :
The essence of the if-else condition statement;
The syntax of the if-else conditional statement is;
Rules for composing logical expressions.
be able to:
Apply the if-else conditional statement in different notations.
Topic IV. The for loop operator
Purpose and syntax. Abbreviated recording options. Nested loop statements.
Students must
know:
The essence of the for loop operator;
Syntax of the for loop operator;
Rules for recording and working with nested loops.
be able to:
Use the for loop operator;
Create nested cyclic structures.
Topic V. Arrays I. Element-wise operations
One-dimensional (linear) arrays. Multidimensional arrays. Typed constant. Initializing array elements.
Students must
know:
Purpose of typed constants;
Rules for using typed constants;
Rules for organizing the work of a one-dimensional array.
be able to:
Initialize the elements of a one-dimensional array.
Topic VI. Arrays II. Search and sorting algorithms
Linear search by condition. Search for the maximum (minimum) element. Sorting using the "direct selection" method. Bubble sorting
Students must
know:
The essence of sorting by the method of “direct selection”;
The essence of bubble sorting;
Rules for linear search by condition.
Students must
be able to:
Search for the minimum element;
Search for the maximum element;
Perform sorting using various methods.
Topic VII. Functions
Definition of a function. Function call. Formal and actual parameters. Function prototypes
Students must
know :
Function purpose;
Rules for calling a function;
Assignment of formal parameters;
Assignment of actual parameters.
be able to :
Call functions;
Apply formal and factual parameters;
Work with function prototypes.
Literature:
- Intel “Training for the Future.” - M., 2004.
- Leontyev V.P. Personal computer.-M.2006.
- Collection of normative documents “Informatics and ICT”. - M.: Bustard, 2004
- Simonovich S.V. Practical informatics.-M.2000.
- Ugrinovich N.D. Computer science and information technology.-M. 2002.
- Khlebostroev V.G., Obukhova L.A.. Computer science and information and communication technologies: methodological manual.-M., 2005.
- S.V. Feskov Informatics. 10-11 grades. Programming in C++ (materials for classes)/Volgograd: Teacher, 2009. – 133 p.
- http://ipg.h1.ru/lessons/cpp/les01.html
- http://msdn.microsoft.com/ru-ru/ff380143.aspx
- Holzner S. Visual C++ 6: training course - St. Petersburg: Peter, 2001. - 576 p. : ill.
- Tikhomirov Yu. Visual C++ 6 - St. Petersburg: BHV - St. Petersburg, 1998. - 496 p. : ill.
- Deitel H., Deitel P. How to program in C++: Trans. from English - M,: BINOM Publishing House, 1998 - 1024 pp.: ill.
- Shildt, Herbert. The Complete Guide to C, 4th Edition. : Per. from English - M,: Williams Publishing House, 2002. - 704 p. : ill. - Parall.t.it. English
- Shildt, Herbert. Self-instruction manual C++, 3rd edition: trans. from English - St. Petersburg: BVH - St. Petersburg, 1998.-688 p.
- Pavlovskaya T.A. C/C++. Programming in a high level language. / T.A. Pavlovskaya. - St. Petersburg: Peter, 2002. - 464 p.: ill.
- Kultin N.B. C/C++ in tasks and examples. - St. Petersburg: BHV-Petersburg, 2001. - 288 p.: ill.
- Berezin B.I., Berezin S.B. Beginner course C and C++. - M,: DIALOG_MIFI, 1996. - 288 p.
- Podbelsky V.V., Fomin S.S. Programming in C: Textbook. allowance. - M.: Finance and Statistics, 1998. - 600 pp.: ill.
- Frank P. C++: training course. - St. Petersburg: Peter, 2001. - 528 p.: ill.
- Davis Stefan R. C++ for dummies, 4th edition: Transl. from English: Uch. village - M.: Williams Publishing House, 2001. - 336 p.: ill.
- Jones R., Stewart Y. Programming in C/Transl. from English and preface M.L. Salnikova, Yu.V. Salnikova. - M.: Computer, UNITY, 1994. - 236 p.: ill.
- Sklyarov V.A. Programming in C and C++ languages: Practical. allowance. - M.: Higher. school, 1996. -240 p.: ill.
- Pashenkov V.V. C programming language. - M.: Center NTTM "Algorithm", 1990. - 76 p.
- Winer R. Language Turbo C: Trans. from English -M.: Mir, 1991. - 384 p.: ill.
- Pershikov V.I., Savinkov V.M. Explanatory dictionary of computer science.-M.: Finance and Statistics, 1991.-543 p.
- Kimmel P. et al. Borland C++ 5: trans. from English - St. Petersburg, 1997.- 976 p., ill.
Municipal budgetary educational institution "Secondary school in the village of Yakovlevka, Bazarno-Karabulak municipal district, Saratov region."
Work program
extracurricular activities in grades 9-11.
Circle "Programming Basics
in Pascal»
Head: Damaev R.Kh., computer science teacher.
2016-17 academic year
Explanatory note.
Studying the topic of algorithmization and the basics of programming in a computer science course is one of the most difficult within the subject. Given the relatively small amount of instructional time allocated to this unit, and the fact that for most students self-study It is difficult to understand the principles of algorithmization and programming from textbooks and teaching aids; a computer science teacher is faced with the problem of developing methods and techniques that will help children better understand the essence of algorithmization, learn to program in one or more languages, and perhaps help high school students make professional decisions.
To solve these problems, a club “Basics of programming in Pascal” can be organized for students in grades 9-11. Why Pascal!?
Pascal was developed in 1970 by Niklaus Wirth as a strongly typed language with an intuitive syntax. It was named after the French mathematician, physicist and philosopher Blaise Pascal.
One of the goals of creating the Pascal language, Niklaus Wirth, considered teaching students structured programming. Until now, Pascal is deservedly considered one of best languages for basic programming training. Its modern modifications, such as Object Pascal, are widely used in industrial programming (Delphi environment). The most popular solution for personal computers in the 80s and early 90s, Borland's Turbo Pascal compiler and integrated development environment became available. The built-in compiler provided high speed compilation and high quality code (hence the Turbo prefix). The Turbo Pascal environment also provided code debugging and contained a rich set of examples. All these qualities allowed Turbo Pascal to become the de facto Pascal standard. The most famous free implementation of the Pascal language is Free Pascal. In addition to openness source code, its main advantage is multi-platform, as well as support for various Pascal dialects. Based on FreePascal, the free multi-platform environment Lazarus, similar to the Delphi environment, was created. However, the console interface of the integrated Free Pascal environment, which has not changed for decades, is poor and has little compatibility with modern desktop interfaces. operating systems, increasingly alienates students, incorrectly giving them the idea that Pascal is an outdated language. On the other hand, as it developed, the Delphi environment became more and more cumbersome and unsuitable for teaching programming. In addition, there is no free version Delphi is even for academic use. These factors led to the almost complete disappearance of Delphi from the education sector, and for the Lazarus environment, despite its free nature, such cases are rare.
Finally, the emergence of the Java and .NET platforms, which included a powerful programming language and powerful standard libraries weakened the position of the Delphi language. For teaching programming, languages such as Java, C, C++, C#, Visual Basic, Python, Haskell.
One of the brightest events associated with the development of the Pascal language was the appearance of the Oxygene language and compiler from RemObjects, which the creators deservedly called the modern Pascal of the 21st century. Oxygene can generate code for various platforms, including the .NET and Java platforms. Its main disadvantage is the lack of a free compiler and environment for educational purposes. In addition, Oxygene is quite different from the canonical Pascal language (class methods instead of procedures and functions), which reflects its purely professional orientation.
The PascalABC.NET language and programming system are designed to change this situation and return the Pascal language to its former attractiveness for both education and professional programming, multiplying it with the power of the .NET platform. Of course, this program does not use all the capabilities of the PascalABC.NET system, but this is not required to achieve the goals set for it.
It is suggested to start learning Pascal right away with specific examples. Step by step, students will go through all the stages of programming and will feel confident and understand: “If I could write one program, then I can write a second one!”
The “user” aspect associated with the formation of computer literacy, information culture, and the preparation of schoolchildren for practical activities in the context of the widespread use of information technologies.
Algorithmic (programming) aspect associated with the development of students' algorithmic thinking style.
The cybernetic aspect associated with the formation of ideological ideas about the role of information in management, patterns information processes.
The club program is based on an integrated approach to the study of topics, which allows students to gain deeper mastery necessary knowledge. Integration is carried out in three areas: mathematics, physics and computer science.
The main task of the circle is to develop an algorithmic style of thinking. Students must gain an understanding of one of the programming languages, learn to use this language to write algorithms for solving simple problems at the 1st level and quite complex ones at the 2nd level.
Relevance of the program.
Nowadays, it is important that a person not only knows how to work on a computer, but also understands how the programs with which he works on it work. The circle should become a starting point for learning the object-oriented programming language. Classes will help students learn more deeply one of the programming languages (in our case, Pascal) and acquire the necessary skills in writing programs. For students who tend to quickly master the basic principles of programming, individual Olympiad-type tasks can be given.
For career guidance purposes, club classes will help students in choosing a future profession.
Based on the results Unified State Examination computer science It is in the field of programming that is considered the most difficult section, and the circle can also serve as another option for preparing for this form of testing students’ knowledge.
The requirements of higher educational institutions for school graduates have increased significantly and expanded, so the goal of the circle is also to provide assistance in learning the basics of programming and preparing students for admission and successful study at technical universities.
Program goals.
To reinforce in students the concepts of an algorithm, the properties of algorithms, ways of writing algorithms, basic algorithmic structures (linear, branching, loop), auxiliary algorithms.
Pay special attention to algorithmic programming: basic types and data structures (variables, arrays), procedures and functions.
To give students an idea of solving complex programming problems and applying programming in practice.
This program designed to encourage students to independently and meaningfully create complete programs for Pascal language, instilling basic skills in algorithmic and programming literacy: a clear and understandable style, reliability of solutions, saving calculations, organizing searches, etc.
Program objectives.
- Educational
Expand students' knowledge of algorithmization and programming.
Provide students with the skills to solve simple programming problems.
Learn to solve complex problems using the method of dividing into subtasks.
- Developmental
The program is designed to develop students' cognitive abilities, deepen interest in programming, and instill an algorithmic style of thinking. The program is also designed to prepare some students for programming competitions.
- Educational
The club program is designed to instill in students a sense of responsibility, analysis of the situation and search for measures to resolve it. Drawing up algorithms and programs allows the student to evaluate a problem and search for options for solving it, which will allow him to do the same in other life situations. Working in small groups promotes the development of communication skills, mutual assistance, and the ability to develop a unified approach to solving a problem.
Conditions for achieving goals and objectives.
To achieve the set goals, club classes are conducted in the “from simple to complex” format. Students recall their knowledge of the basics of algorithmization and programming and, on their basis, deepening it, learn to compose simple and complex programs.
When developing the program, the age of the students was taken into account; a combination of theoretical material and practical exercises on the computer is used.
For practical work, the PascalABC.NET environment is installed on each computer, where students can implement their programs, see the results of their execution, and make corrections.
Educational results:
Students should know:
What is an algorithm, properties, types of algorithms, ways of writing algorithms;
Basic data types and operators (procedures);
Purpose of auxiliary algorithms, technologies for constructing simple and complex algorithms; - - sequential detailing method and reverse block collection method.
Students should be able to:
Build information structures (models) to describe objects and systems, be able to translate problems from reality into an adequate optimal model (informational, physical, mathematical), operate with this model in the process of solving a problem using the conceptual apparatus and the means of the science to which the constructed one belongs model, correctly interpret the results obtained;
Organize a search for information necessary to solve a problem;
Apply linear, branching and cyclic constructions of the Pascal language;
Select subtasks; define and use auxiliary algorithms;
Be able to solve problems different levels on programming;
Compile, edit, use help in the PascalABC.NET programming environment.
Organization of student activities.
forms:
in groups
individual
individual-group.
training mode:
total number of hours per year - 35;
frequency of classes - 1 time per week.
number of hours and classes per week - 1.
Forms of classes:
-
Seminar classes
Practical exercises
-
Forms of control:
Current control - based on the results of current practical work.
Final control is based on the results of the implementation of programs created by students independently.
1. Introduction. Introduction to the Pascal language. Program structure. PascalABC.NET program window. To introduce students to the history of the Pascal language, its alphabet, and program structure. Consider the PascalABC.NET programming environment window, interface, menu, how to use help, show an example program, input and output of variable values.
Consider safety issues and health-saving technologies when working at a computer.
2. I/O operators. Recording the program. Program structure, blocks.
Introduce students to variables and their types, consider input-output and assignment operators. Working with a ready-made program.
3. Drawing up the first program (on your own). Linear algorithms and programs. Debugging.
Mathematical functions in Pascal: abc(x), sqr(x), sqrt(x), mod, div. Programs using them.
4. Algorithms with branching. Solving the problem of calculating the values of a polynomial.
Introduce students to branching algorithms and consider problems of complete and incomplete branching.
5. Cyclic algorithms and programs.
Introduce an idea of cyclic algorithms. Consider their types.
6. Arrays. Array processing. Specifying an array.
Introduce students to the definition of an array. Present ways to define an array and display its members on the screen.
7. Programs for entering and processing array elements.
Reinforce with students the concept of an array. Consider the basic problems with arrays.
Provide students with an understanding of two-dimensional arrays. Consider filling them out and displaying them on the screen.
8. String data. Features of working with string data. String arrays.
9. Library modules. Standard modules. A set of standard modules: system, crt, graph, dos, printer.
Methods for connecting modules and working with them.
10. Text files. Input and output using text files.
11. Solving complex problems
In this section, you can use solving problems from Section 2 of the Unified State Exam, as well as Olympiad problems.
12. Final lesson
As a final lesson, you can use a small programming Olympiad or solve tasks from Section 2 of one of the Unified State Exam options.
Educational and thematic planning.
№ p/p | LESSON TOPIC | Number of hours | Date |
|
Plan | Fact |
|||
Safety briefing. PascalABC.NET environment. Interface elements. Using Help. Program structure. | ||||
I/O operators. Recording a program. The first program in PascalABC.NET. Linear algorithms and programs. | ||||
Syntax of the language. Execution of the program. Debugging. Error messages. Typical mistakes. | ||||
Data. Data types. Variable description block. Description of the constants. | ||||
Arithmetic expressions. Format of the calculation result. Examples of programs for calculations. | ||||
Assignment operator. Executing the statement. Input and output operators. Conclusion text messages. Comments in the program. | ||||
Step-by-step execution of the program. | ||||
Logical data type. Recording conditions. Composite conditions and their recording. | ||||
Algorithms with branching. Branching in PascalABC.NET. Conditional operator. Complete and incomplete branching. | ||||
Nested branches. | ||||
Cyclic algorithms. Loop with parameter (for). | ||||
Loop with precondition (while) | ||||
Loop with postcondition (repeit) | ||||
One-dimensional arrays. Description of an array, main types of tasks with arrays (search, replacement, sorting, summing) | ||||
Two-dimensional arrays. Description of the array. | ||||
Nested loops. | ||||
String data. Functions for working with string data. String arrays. | ||||
Test work | ||||
Procedures and functions. General information. | ||||
Library modules. Standard modules. Connection. Examples. | ||||
The concept of a file. Reading and writing a file. Text files. File I/O. | ||||
Solving Olympiad problems and problems from Section 2 of the Unified State Exam. | ||||
Final project (solving a problem of the student’s choice) | ||||
Hardware and software:
Computer, projector, interactive whiteboard, PascalABC.NET environment ( workplace teacher).
Computer, PascalABC.NET environment (student workstation).
Literature and Internet resources:
Ushakov D.M., Yurkova T.A. - Pascal for schoolchildren. -SPb.: Peter, 2006. - 256s.:
Shpak Yu.A. - Turbo Pascal is just like 2x2. - Eksmo, 2008. - 400 pp.:
Chernov A.F. - Olympiad problems with solutions and detailed analysis. - Volgograd: Teacher, 2007. - 207 p.:
Rapakov G.G., Rzheutskaya S.Yu. - Turbo Pascal for students and schoolchildren. - St. Petersburg: BHV-Petersburg, 2007.-352 p.:
Tsvetkov A.S. - Language PASCAL programming ABC Pascal programming system. Tutorial for schoolchildren, St. Petersburg, 2015. -46 p.
Uskova O.F. - Programming in Pascal language Problem book. Ed. Peter. 2002. -336 p.
Potopakhin V.V. Turbo Pascal. Solving complex problems. Publisher: “BHV-Petersburg”, 2006, - 12 p.
"Programming. We solve problems of increased complexity"
EXPLANATORY NOTE
Programming is a branch of computer science whose task is the process of developing a program in a specific programming language. This is also the most difficult section of the subject. It is also known that computer science Olympiads are held in the “Programming” section. Some students in each parallel have a need to study programming at a deeper level. The organization of a circle makes it possible in the system of additional education to provide students with conditions for learning programming, taking into account their interests, inclinations and abilities, helps to satisfy cognitive interests, and for high school students it fulfills the task of professional guidance. At the same time, the possibilities for each student attending the club to build an individual educational trajectory are significantly expanded.
Goals and objectives of the program:
1. Formation of a structural style of thinking in students.
2. Deepening schoolchildren’s knowledge, skills and abilities to solve programming problems.
3. Formation of skills and experience in solving Olympiad problems.
4. The opportunity to realize your creative abilities.
5. Generating interest in professions related to programming
2 groups: students of grades 6 – 8 – junior group,
35 academics hours, (1 hour/week) – junior group Tuesday 15-15 – 16-00 hours.
35 academics hours, (1 hour/week) – senior group Monday 16-10 – 16-55 hours.
Thematic planning
Junior group:
Number of hours |
||
Introduction to programming. A program as a way to write an algorithm | ||
General concept of an algorithm. Execution of the algorithm | ||
Programming tools. Compilers used. Interface elements. Operators and teams | ||
Constants. Variables. Data. | ||
Assignment operator. Arithmetic operations. Displaying results on screen | ||
Result format. Result evaluation | ||
Data entry. Execution order in programs | ||
Workshop. Problems of linear algorithm | ||
Conditional statement If-Then-Else | ||
Alternative operator | ||
Boolean expressions in condition | ||
Workshop. Problems of the branching algorithm | ||
Loops with pre- and post-conditions | ||
Workshop. Round Robin Problems | ||
Arrays. Concept. One-dimensional array | ||
Workshop. Solving programming problems | ||
Test lesson | ||
Planned result: completion of final practical work (2-3 tasks of an increased level of complexity). Report
Senior group:
Thematic planning
Topic of classes | Number of hours |
|
Organizational lesson. Safety precautions | ||
Introduction to programming. Algorithms | ||
Programming tools. Compilers used. Interface elements | ||
Compiled and interpreted languages. Creating, compiling, executing and debugging programs | ||
Syntax and semantics. Typical mistakes. Error messages | ||
Data. Data types. Result format. Result evaluation | ||
Constants. Variables. Data. Assignment operator. Data entry. | ||
Arithmetic operations Outputting results | ||
Workshop. Using Turbo Pascal and CodeBlocks | ||
Execution order in programs. Conditional statement If-Then-Else | ||
Alternative operator | ||
Logical Expressions and Operations | ||
Organizing programs with a branching structure | ||
Workshop. Tasks. Programming algorithms with branching | ||
The concept of a cycle. The simplest operator cycle | ||
Practical work: General loop operator | ||
Arrays. Using Loops in Arrays | ||
Nested statement rule. Diagrams Representation of programs in the form of diagrams | ||
Workshop. Tasks. Programming cyclic algorithms | ||
String variables. String Operations | ||
Structure of complex programs. Repetitive operations. Subroutines | ||
The concept of procedure in programming. The concept of a function in programming | ||
Passing parameters. Declaration of subroutines. Calling procedures and functions | ||
Workshop. Problem solving | ||
A program as a way to write an algorithm. General concept of an algorithm. Execution of the algorithm | ||
Programming as the development and implementation of algorithms. Breaking down a task into its component parts. Algorithm Library | ||
Standard features. Sequence of solving the problem. Examples of typical algorithms | ||
Converting numbers from one number system to another | ||
Sorting data. Insertion sort. Exchange sorting | ||
Pyramid sort. Brute force method. Combinatorial puzzles | ||
String processing. Solving equations using computer methods | ||
Workshop. Solving programming problems. | ||
Test lesson |
Planned result: completion of final practical work (2-3 tasks of an increased level of complexity). Report.
Teaching methods used:
problem presentation, research method,
heuristic method with illustration and practical implementation in a programming environment.
Upon completion of the course, students should:
know:
1. rules for presenting data in a programming language;
2. rules for writing basic operators: input, output, assignment, loop branching;
3. rules for recording the program;
4. content of the stages of program development: algorithmization-coding-debugging-testing;
be able to:
1. create programs for solving computational problems;
2. program a simple dialogue;
Ershova Svetlana Viktorovna
computer science teacher
I qualification category
in secondary school No. 924
Moscow
e-mail:
Club program
"Programming and Graphics"
Explanatory note
Computer science, as a dynamically developing science, is becoming one of those branches of knowledge that is designed to prepare modern people for life in the new information society.
The academic subject “Informatics” as an independent discipline is an educational component of general secondary education. At the same time, expressing general ideas formalization, it permeates the content of many other subjects and, therefore, becomes a discipline of a generalizing, methodological nature. The main purpose of the “Informatics” course is to fulfill the social order modern society, aimed at preparing the younger generation for full-fledged work in the context of global informatization of all aspects of public life.
In extracurricular clubs, there is the opportunity to study individual sections of the subject “Informatics” in more detail and in depth, using more time than at school. Moreover, due to the flexibility of the individual program developed by the club teacher, it will bring learning closer to the realities of modern life.
It is known that a person assimilates any amount of information better when it comes through the visual channel. The reason lies in the peculiarities of the human psyche and physiology. Due to these features, the images in question are analyzed very quickly, instantly associated with images accumulated throughout life, and are recognized much higher than when analyzing information received, for example, through the auditory canal. Therefore, the share of graphic data in professional activity any gladness is growing steadily. Consequently, both tools for working with images and specialists who know how to use these tools correctly are required.
Real curriculum implements modern requirements for the study of professional graphics packages. Upon successful completion of the course, students can count on working in mid-level design studios.
Goals and objectives of the program
To develop in students the ability to use a computer as a means of solving practical problems related to graphics and multimedia, preparing students for an active, full-fledged life and work in a technologically developed society by providing pre-professional training with a focus on in-depth study of methods and techniques of modern design.
formation of knowledge about the role of information processes in wildlife, technology, society;
formation of knowledge about the importance of information science and computer technology in the development of society and in changing the nature of human work;
formation of knowledge about the basic principles of computer operation, methods of transmitting information;
formation of knowledge about the main stages information technology problem solving in a broad sense;
formation of modeling skills and its application in different subject areas;
formation of skills and abilities to independently use a computer as a means for solving practical problems.
The implementation of these tasks will contribute to the further formation of schoolchildren's view of the world, the disclosure of the role of computer science in the formation of the natural science picture of the world, the development of thinking, including the formation of an algorithmic style of thinking, and the preparation of students for life in the information society.
Organizational conditions for the implementation of the program:
The program is designed for children aged 8 to 16 years who have completed primary education and have a level of development characteristic of this age.
The program is built on the principles:
Accessibility – when presenting the material, the age characteristics of children are taken into account; the same material is taught differently, depending on the age and subjective experience of the children. The material is arranged from simple to complex. If necessary, it is allowed to repeat part of the material after some time.
Visuals - a person receives almost 5 times more information through the organs of vision than through hearing, therefore, both visual materials and training programs are used in classes.
Consciousness and activity - to enhance children's activities, such forms of education as games, competitions, joint discussions of posed questions and days of free creativity are used.
The computer science room in which the club classes are held meets the requirements of material and software.
The computer science room is equipped in accordance with fire safety regulations.
Thematic planning:
Topic of classes
Number of hours
Programming
Organizational lesson. Safety precautions
Introduction to programming. Algorithms
Programming Tools
Software libraries. Machine code
Hexadecimal code. Programming languages
Compiled and interpreted languages
Constants. Variables. Data. Operator
Assignment operator. Arithmetic operations
String variables. String Operations
Displaying results on the screen or other output device
Data entry. Logical Expressions and Operations
Execution order in programs. Conditional statement If-Then-Else
Practical work: Alternative operator
The concept of a cycle. The simplest loop operator
Practice: General Loop Statement
Arrays. Using Loops in Arrays
Nested statement rule. Schemes
Representation of programs in the form of diagrams
Structure of complex programs. Repetitive operations. Subroutines
The concept of procedure in programming. The concept of a function in programming
Passing parameters. Declaration of subroutines. Calling procedures and functions
A program as a way to write an algorithm. General concept of an algorithm. Execution of the algorithm
Programming as the development and implementation of algorithms. Breaking down a task into its component parts. Algorithm library
Standard features. Sequence of solving the problem. Examples of typical algorithms
Converting numbers from one number system to another
Sorting data. Insertion sort. Exchange sorting
Pyramid sort. Brute force method. Combinatorial puzzles
String processing. Solving equations using computer methods
Solving programming problems. Test lesson
Graphics
Window elements Adobe Photoshop CS. Display palettes. Ways to open image files. Changing the image viewing scale
Changing image sizes and resolution. Image saving formats. Printing images. Preview
Color models used in Photoshop. Working with color models. Preparing an image for printing
Working with Indexed Colors
Changing color resolution using indexed colors
Convert images to different color models. Resizing an Image
Perform cropping of images. Crop and straighten images. Color selection
Changing the spatial arrangement of images
Image correction. Increasing the brightness and contrast of images
Using histograms to correct images
Correction of tonal range of images. A copy of the image. Increasing brightness
Correcting color in an image. Correcting the tonal range of images and color in an image
Selecting areas. Drawing with selections. Change the size of the selected area. Practical work: “Creating images using selection tools”
Practical work: “Creating an image of St. Andrew’s flag”
Setting the starting point for the rulers. Transparent areas of the image. Undo multiple actions. Change the position of the selection. Practical work: “Creating an image of a traffic light. Creating an image of a human face"
Blurs the edge of the selected area. Practical work: “Inserting images of clouds created using a blurred selection”
Additional features selection tools. Practical work: “Creating the flags of Germany, Norway, Lithuania”
Change the color of an image using the magic wand selection and fill in blend mode. Changing the color and background of an image
Working with layers Basic actions. Renaming a layer. Performing actions. Background layer. Drawing and Fill Tools
Create artistic text with a stroke. Practical work: “Prepare an announcement about a missing puppy”
Creating a mask from text. Applying effects to text. Increasing Canvas Sizes
Practical work: “Prepare an image with text containing a photograph inside”
Practical work: “Prepare a poster from source images”
Transformations. Alignment of a building in a photograph
Practical work: “Creating an image on a surface” “Creating a reflection in mirrors”
Practical work: “Constructing compositions from source images.” Build a reflection in the water and place it in a frame
Filters. Applying filters to images. Practical work: “Create a neon sign for a disco”
Practical work: “Create a sign for selling ice cream. Create a poster for a circus performance"
Practical work: “Create the effect of a lit lamp. Create raised letters"
Practical work: “Arrange objects in a store window”
Channels and masks. Practical work: “Create an image of a frozen river using a mask”
Practical work: “Place new visitors to a flower exhibition”
Practical work: “Creating a neon sign. Creating a Poster for Auto Racing"
Practical work: “Correct a photograph. Make the photo more expressive. Remove "red eyes" from photos"
Practical work: “Colorize a black and white photo using pixel blending modes”
Practical work: “Change colors in a photograph. Turn a photo into watercolor"
Actions and macros. Practical work: “Paint the house”
Practical work: “Using macro commands to age a photograph”
Practical work: “Using macro commands to create a rain effect”
Practical work: “Using macro commands to add a shadow and various frames to a photo”
Reserve time