Hello. We, the
BEEGEEK team, are launching a course on the
basics of programming . In this article I will explain why you created such a course, about its content and answer frequently asked questions.
Immediately, I note that this course is not "
ideal .
" It has everything you need for an easy and smooth start. Waiting for feedback from listeners to improve our course! So let's go!
Problem
The process of solving a problem using a computer system consists of several stages:
')
- formulation of the problem
- formalization
- algorithmization
- programming
- testing
Each stage represents a whole
set of skills that beginners in learning programming languages ​​do not. In the process of learning programming, i.e. the ability to implement a solution to a problem in a programming language; it is difficult for students to get to the programming stage, if they are not able to solve problems at all. Numerous textbooks in print and electronic form are aimed primarily at describing the syntax of the language, and
do not allow to develop the ability to solve a problem or write it.
With the development of network technologies, a large number of various automatic verification systems have appeared that allow you to verify the correctness of the solution without the participation of a teacher. However, they are focused on students who are already ready to write a
complete program, i.e. ready to take all the steps to get a solution, perhaps without realizing them.
Thus, people who start their way as a programmer
stop at the very beginning , since they cannot move from simple exercises to syntax to more professional tasks that require a whole range of skills:
- The ability to read and understand already existing code. A modern developer most often works in a team or continues the work of his predecessors, so he should be able to isolate the author’s intention from the existing code.
- The ability to imagine how the written text of the program will work. The development of large professional applications can lead to the fact that compiling the code and seeing its performance does not seem very often, so the ability to mentally run the code for execution can save a large number of man-hours.
- The ability to test the program in the mental mode, without using specialized systems. It is this skill that allows us at the stage of writing a program to prevent numerous mistakes. Also, drawing up tracing tables helps to reveal an error in the program, when it becomes clear that the output data do not coincide with the reference data.
- Ability to build hypotheses of inoperability of the program code and test the hypothesis. When an error is found in the output of the program, students often try using random changes to the program text to tailor the solution to the correct conclusion. “And what if you try it like this?” - this approach is characteristic of novice programmers who cannot analyze a set of input and output data.
Solution to the problem
The course program at a basic level covers the practical basics of programming. During the training, many small and interesting tasks are to be solved, in which you can practice the ability to
read code ,
analyze ready-made programs , and also
write your own program code .
This experience will be useful to anyone who wants to delve into the study of programming. It is hardly possible to learn how to program without practice, so
quite a lot of tasks are offered as homework.
Course content
The course consists of the following modules:
- Data types. Variables. In this module, learn to enter and display information. Let's get acquainted with the concept of "variable", with which we will store some information. Let's see what data types exist, because its type is associated with its three properties: the form of the internal representation , the set of accepted values and the set of acceptable operations .
- Conditional operator. In this module, we will learn how to skip or execute a certain block of code depending on a certain condition. Consider a short and complete conditional statement. Let's sort the " switch-case " statement .
- Cycle operators. The largest and most important module. In this module, we analyze a loop with a for counter, a loop with a while precondition. Also consider the loop control statements: break , continue . Let us analyze nested loops, tasks about sequences, minimax problems, enumeration tasks and tasks for analyzing digits of a number.
- Strings and characters. In this module, we will learn more about the symbols, namely, how they are represented in the computer, what operations can be performed. We will also talk about strings and how they are related to characters.
- Arrays Large module with lots of practical tasks. In this module we will get acquainted with arrays. Consider how to declare them, fill, operate with the elements of the array. Also we will get acquainted with multidimensional arrays, in particular with a two-dimensional array.
- Functions. In this module we will talk about how to structure the program. We study the main " building block " of programming - functions. Consider examples where it is appropriate to write and use a function.
Who is this course for?
The course is introductory and most suitable for students who have no programming experience.
What programming language will the course take?
The course will be held in the
C # programming language (C Sharp), however, this course is
not tied to one programming language, since it covers
basic concepts and constructions that include all modern languages. You can solve problems in
any of the modern programming languages.
Where will the course take place?
This course will take place on the
Stepik educational platform. Already, you can sign up for the
course .
What besides learning a programming language will be on the course?
In addition to learning a programming language, we will touch on basic
search algorithms, algorithms with strings, number theory .
What is par for the course?
The course will be absolutely
free !
Sign up for a course! Waiting for your feedback to improve the course!