Programming chatbots and games in Python: CODDY course and VMK MSU - course 58,800 rub. from Coddy School of Programming for Children, training 7 modules (months)
Miscellaneous / / December 04, 2023
Duration: from 7 modules (months), from 56 hours*.
Format: group classes, offline and online (real time).
Number of children: from 1 to 15.
from 1050 rub./hour in an online group,
from 1100 rub./hour in an offline group,
from 1665 RUR/hour individually online,
from 2400 rub./hour individually offline.
Python confidently remains in the top of popular programming languages. It is quite simple and has a concise syntax - thanks to this feature, development speed is significantly increased. Python has a huge library of modules, good code reuse mechanisms, a convenient development environment and other advantages.
In January 2019, the VMK MSU named after M.V. Lomonosova and the CODDY School have launched a joint project to study the basics of Python for teenagers 13–16 years old. The pilot course turned out to be successful and successful. Now we have decided to slightly refine and improve the program and extend the training period from 4 to 7 months. Classes will be 2 hours long and students will be able to spend more time working on projects. Together with teachers, we will write chat bots and also create our own games.
The guys will make projects and defend them in front of the jury. Each student will independently come up with and implement the idea of their work - the teacher only approves it. The jury will include teachers from the CODDY school, teachers from the Moscow State University Computer Science and Technology Complex, and specialists from leading IT companies. After the defense, they will present the young programmers with certificates from the Moscow State University Computer Science Committee - for the guys this will be one of the first achievements in the field of acquiring programming skills.
The main part of the course will be devoted to learning the Python language as such. However, we have included other topics useful for future work:
· lesson on creating presentations;
· public speaking lesson.
We will also conduct several classes on team building. In these lessons, children will study the following topics:
· basic knowledge of project management and working with them;
· teamwork;
· planning;
· ability to assess risks.
Little programmers will also take part in a business game. If the child defends the work not alone, but together with his team, he will receive additional points.
Our teachers assess both the theoretical understanding of the topic and the ability to apply knowledge in practice. We do not give grades—students themselves demonstrate their knowledge in classes, when taking tests, and when defending a project.
Does your child want to join the world of programming in a friendly and supportive atmosphere? Come to a full-fledged course on Python from CODDY and the Moscow State University Computer Science Complex, where leading experts will share their knowledge with children!
Course teacher:
“Game programming in Python”, “Ethical hacker”, “Creating games in Roblox Studio”, “Development of chatbots in Python together with the Moscow State University. M.V. Lomonosov", "Bots in Python", "Web applications in Python in partnership with the Computer Science and Technology Complex of Moscow State University. M.V. Lomonosov"
Education:
Moscow Polytechnic University, direction “Information Security”
Experience:
2 years of experience as a security engineer at APIBank. 1.5 years outsource web application developer in Python.
Interests:
Programming, Cybersecurity, White Hacking, DEV-ops engineering.
“Online privacy is an inalienable human right and a requirement to maintain
human dignity and respect."
Course teacher:
“Game programming in Python”, “Ethical hacker”, “Development of chatbots in Python together with the Computer Science and Computing Complex of Moscow State University. M.V. Lomonosov", "Python and machine learning", "Bots in Python", "Web applications in Python in partnership with the Moscow State University. M.V. Lomonosov"
Education:
Moscow State Technical University named after. Bauman, specialty "Information Security".
Experience:
Proficient in the programming languages Python, C\C++, Golang, Pascal. Has experience in developing various applications.
Interests:
He likes to program in Python to solve a wide variety of problems, and the more complex and interesting the task, the better. He plays sports, enjoys photography, and loves to travel. I am convinced that every person who puts in enough effort to achieve a goal achieves it. Likes to help others achieve their goals. Young and attentive to people, finds a common language with any child and helps them reveal their best qualities during learning, making learning enjoyable and effective for everyone.
“Programming in the 21st century is the second alphabet that any successful person should master, regardless of his area of interest. Python is the perfect first step to learning programming, with simplicity and versatility that makes learning easy for kids this language is not a compulsory study, but a pleasant pastime and they understand that programming is extremely interesting and exciting process!"
Course teacher:
“Programming games in Python”, “Development of chat bots in Python together with the Computer Science and Technology Complex of Moscow State University. M.V. Lomonosov", "Harvard course CS50", "Web programming", "Bots in Python", "Programming in Python3"
Education:
MSTU im. N.E. Bauman, specialty “Radio-electronic systems and complexes”.
Experience:
She has been teaching children computer science and exact sciences for more than 3 years. Always in search of new interesting projects, which he studies, improves and helps his students go through all stages of their creation. Constantly hones his technical and teaching skills.
Interests:
Creation of electronic devices, IT, economics, travel, cooking, sports.
“Knowledge is the path to freedom and opportunity.”
1st module
The first day
Introduction to Python and IDLE
− Introduction to the Python programming language
− Familiarity with the development environment
− What are variables?
− User input
Result of the lesson: the student can independently install Python on his computer and start working with the language, writing a program-questionnaire in Python.
Second day
Conditional statements and first loops
− Operations with variables
− Conditional If statements
− While loops and completion of mini-game development
Practical task: home individual mini-project on understanding the studied material
Result of the lesson: written several simple example programs like “Guess the number”
Day three
Continue learning Python
− For loops
− range() function
− Data types and how memory works?
Result of the lesson: the student has a basic understanding of memory necessary to select the correct data type
Day four
Lists and dictionaries
− Lists and list generators
− Simple list sorting
− Generate random dictionary keys
Practical task: the student receives a technical assignment and programs the calculator based on an individual technical specification.
Result of the lesson: students become familiar with data structures, deepen and practice their skills in using For skills.
2nd module
The first day
Exploring the Python Standard Library
− The string data type is discussed in detail
− Analysis of home project errors
− How to properly use the documentation on python.org
− Learn string methods using documentation
Result of the lesson: the student is ready for further independent development of “standard” python as needed
Second day
Functions and multi-file programs
− Understanding a function and creating your own functions
− What is a module and why are multi-file programs needed?
− Some information about decorators
Practical task: enhance your programs with your own functions in separate files
Result of the lesson: the student understands why dividing one large task into several small ones can be useful, and how this can optimize the code
Day three
The Beginning of Object-Oriented Programming
− Basic concepts of OOP
− Classes, methods and attributes
− Class methods and fields. What is a constructor?
Result of the lesson: the student learns the basics of object-oriented programming, which is important for further understanding of bots
Day four
Continue learning OOP
− Inheritance in Python
− Using decorators using the example of chatbots
− Encapsulation and types of inheritance
Practical task: Each student is given the task of developing their own class, taking on the parent class created by the teacher.
Result of the lesson: the student studied in detail the basic postulates of OOP and studied examples of the implementation of this technique
3rd module
The first day
Creating the first bot for VKontakte
− Installation and configuration of the necessary libraries
− Creating a bot token and learning selected VK library methods
− Development of a chatbot that responds to simple commands
Result of the lesson: a working bot on the VK social network that can respond to simple commands
Second day
Improving the functionality of the bot
− Thinking through more commands and more answers
− Independent implementation by each student
− Learning to send stickers
Practical task: make a small interactive bot according to technical specifications
Result of the lesson: fixed the VK Api methods for sending text messages and decided on the further development of the bot functionality
Day three
Generating bot requests
− We are thinking through a dialogue initiated by bots
− The bot remembers the input data from the user
− Using previously written programs to enhance the bot's usefulness
Result of the lesson: each student begins to add more and more useful functions to their bot
Day four
Message reception cycle
− Development of a mini-calculator using dialogue with the user
− Making the dialogue more lively
− Studied and applied exception handling mechanism
Practical task: each student receives his own task to expand the functionality of the bot
Result of the lesson: We received a platform for creating a bot with the necessary functionality. Several examples of conversational bots were shown and discussed.
4th module
The first day
User sessions
− Brief excursion into the database
− Different chatbot statuses
− Using the database and resetting the status
Result of the lesson: the chatbot now has several statuses for each stage of work. The bot can be restarted and reused
Second day
Interacting with media files
− Detailed analysis of the Message type
− Independent selection of content from VK
− Implementation of sending audio files and pictures
Practical task: add a bot request to send a random audio recording and a random picture on command
Result of the lesson: fixed the VK Api methods for sending text messages and decided on the further development of the bot functionality
Day three
Continue working with media files
− Create a new database of favorite media files
− Learning to sort music requests by genre
− What other media files can we send?
Result of the lesson: After this lesson, the bot can accept requests for music in different genres and send it as an audio recording
Day four
Team building session
− We divide the group into teams, distribute roles
− Distribution of roles, coordination of project ideas
− Methods for implementing ideas, establishing extracurricular connections
Practical task: collectively prepare to defend the idea for the next lesson, make a plan for the implementation of the project
Result of the lesson: the group is divided into teams of several people, each group begins developing a prototype for the project bot
5th module
The first day
Version control system
− Introduction to Git and learning basic commands
− Registration and uploading of the project to Github
− Client-server model
Result of the lesson: important commands for the version control system were studied
Practical task: create a new branch and commit the entire project there
Second day
Working with third party libraries
− Getting to know the openweathermap API
− Learning to extract the necessary information from the server response
− We are writing the basis for a bot that provides weather information
Practical task: make a small interactive bot according to technical specifications
Result of the lesson: We started studying a third-party library for displaying weather. We studied the necessary methods and taught the bot to send weather information
Day three
Introduction to Artificial Intelligence
− What is AI and introduction to DialogFlow
− Studying the API and connecting DialogFlow to the bot
− Learning to work with DialogFlow
Result of the lesson: got acquainted with the concept of artificial intelligence and examined the interesting features of DialogFlow
Day four
DialogFlow and bot design
− We continue to study and implement DialogFlow
− We combine all functionality in one bot
− We are thinking about the design and new keyboards
Practical task: make your bot the most suitable design, after taking advice from the teacher
Result of the lesson: Various design options and keyboards have been analyzed
6th module
The first day
Bot support in conversation
− We continue to work on the design of the bot
− What functionality can a bot bring to a conversation?
− We study the necessary documentation. Adding a chatbot to a conversation
Practical task: come up with and describe the steps of developing a bot in a conversation
Result of the lesson: additional functionality of the chat bot was studied, which we can now add to conversations with the user.
Second day
User interaction via bot
− Processing of ideas and their implementation
− We make a call to the bot with a replica/picture through an appeal
− Testing them in preparation for uploading the bot to Heroku
Practical task: read materials about two methods of connecting a bot with a server
Result of the lesson: the bot now responds to user responses both from the conversation and in the chatbot itself
Day three
Deploying a bot on a server
− Uploading the updated version to GitHub
− Install and get to know Heroku closely
− Deploy the bot to the server
Result of the lesson: Now the bot works without running scripts from the computer, 24/7
Day four
Public Speaking Lesson
− How to present your project correctly?
− Speech training
− What speech structures should definitely be avoided during presentations?
Practical task: a speaker from each team must prepare a speech to present their project
Result of the lesson: work begins on the final presentation. With each group, the strengths and weaknesses of the project were worked out, and abstracts were prepared for presentation.
7th module
The first day
Working on your own projects
− A few words about web page parsing
− requests module
− Parsing HTML pages using the example of monitoring discounts
Practical task: exercise on parsing information with a given Internet page by the teacher
Result of the lesson: We continue to work on our own projects. Optionally, the functionality of parsing discounts from selected sites has been added
Second day
Working on your own projects
− Download third-party media files
− Working with photographs and databases
− We continue to train in website parsing
Result of the lesson: Now the bot can work with files outside VK.
Day three
Deploying a bot on a server
− URL requests
− Learning to make a request on YouTube
− Processing the request and responding to the user
Result of the lesson: in addition to working on their own projects, each student learned how to get videos from YouTube into a chatbot
Day four
Lesson on creating presentations
− Made slides and decided on the main points
− We learned and made appropriate and beautiful slide animations
− Prepared a speech and decided which features of the bot should be paid special attention to
Result of the lesson: work on the project is completed, presentations are ready, bots are unloaded