Development of web applications for business - course 67,200 rub. from Coddy School of Programming for Children, training 8 modules (months)
Miscellaneous / / November 28, 2023
In many companies, the Internet browser is the main working tool for employees. In such cases, it is convenient to use web applications instead of classic desktop programs to organize work processes. They work on any device with Internet access and can be run simultaneously on a laptop, smartphone, and large screen. Such applications can solve a wide variety of problems and facilitate many processes, so companies often develop them individually, to suit their needs. Programmers who are able to hear a client’s problem and offer an effective web application to solve it are worth their weight in gold.
The industry standard for creating web applications is JavaScript, one of the most popular and in-demand programming languages in the world.
We have developed a course for those who want to learn JavaScript and participate in the creation of IT solutions to solve real problems for the Evotor company.
Evotor is the market leader in trade and small business automation. Simply put, the company creates smart terminals for paying for goods and services, thanks to which we can conveniently pay with a card, phone or watch. Evotor also develops software that helps entrepreneurs accept payments and manage their income.
The course “Development of web applications for business” was created for children from 13 years old. In these classes, students will not only learn one of the most popular programming languages in the world, but also go through the full cycle industrial development of a web application: from identifying the problem to the final defense of the project in front of representatives customer company.
The best work can be implemented into the company’s real business processes, which will become an excellent case study in the portfolio of a future developer.
The main part of the course is devoted to learning JavaScript and the skills of creating applications from scratch. Along the way, students master several important soft skills, without which it is impossible to present a company project:
We will also talk in an accessible manner about business risks, strengths and weaknesses of enterprises, prospects for the development of the IT sector, as well as many other topics that are important for young developers.
This is a course in blended learning format - mixed online and offline learning. It is in this symbiosis that the child’s motivation remains maximum: he does not have time to forget what he learned in class, does not lose contact with people, and is constantly in a creative environment.
Course teacher:
“Programming in JavaScript”, “Programming games in Python”, “Web programming”, “Bots in Python”, “Programming in Python3”, “Development of web applications for business”
Education:
Northern Arctic Federal University. Teacher Education.
Experience:
She has been teaching computer science to children for over 3 years. Constantly improving. I studied at the Moscow School of Programmers, took countless online courses and have no plans to stop. Teacher of the Yandex. Lyceum." Programs in Python, C++ and JavaScript. In his free time from teaching, he creates websites, web applications and custom chatbots.
Interests:
Loves to learn and teach others. He rides a bicycle long distances and plays the guitar. “In order to learn how to program a computer, you need to think like a computer, become a computer.”
Month 1
Day One - Introducing JavaScript
Purpose of the lesson: introduce students to the JS language, its scope and main differences from other languages. Write your first JS program using input and output functions.
− What is JS used for?
− Input and output of information
− What are variables, let and const directives
− Basic data types in JS
Result of the lesson: Students learned how to create a simple JS program, display information on the screen, read information from the user and store it in variables.
Day two - Mathematical and logical operators
Purpose of the lesson: Learn to solve mathematical and logical problems using JS.
− Arithmetic operators
− Comparison operators
− Boolean data type
− Logical operators
Result of the lesson: Mastered the mathematical and logical capabilities of JS for writing program logic. Several programs have been written to solve mathematical and logical problems.
Day Three - Conditional Statements
Purpose of the lesson: Explore ways to control the flow of a program using conditional statements.
− if/else statements
− Multiple branching
− Ternary operator
− Order of evaluation of logical expressions
Lesson result: Students learned to implement nonlinear algorithms using branch operators. Gained a deeper understanding of working with logical expressions. We wrote a simple program for a nonlinear conversation with the user.
Day four - Cycles. While Loop
Purpose of the lesson: Solve the problem of performing similar actions for a large amount of data using loops.
− Concept and meaning of the cycle
− while loop
− The concept of iteration and iterator
Result of the lesson: Students learned to implement nonlinear algorithms using branch operators. Gained a deeper understanding of working with logical expressions. We created a game “Guess the Number” or a similar game based on a cycle.
Month 2
Day one - Repetition of basic algorithmic structures. for loop
Purpose of the lesson: Repeat and consolidate what you learned in the last module. Study the new for loop construction and its advantages over while.
− for loop
− Break and continue statements
− Enumeration of sequences
Result of the lesson: We finished studying the basic syntax of JS and consolidated the knowledge gained.
Day two - Massifs
Purpose of the lesson: Learn to use arrays to store and process large amounts of similar data.
− Concept and declaration of arrays
− Array methods
− Looping through array elements
− Multidimensional arrays
Result of the lesson: Students learned to store and process large amounts of data using arrays.
Day Three - Working with Strings
Purpose of the lesson: Learn to work effectively with text information using the string capabilities of JS.
− Quotes and special characters
− Working with characters, changing case
− Search and get substring
− String comparison
− Concept of encoding
Result of the lesson: Students learned to use JS tools to manipulate, create, and modify text.
Day four - Functions
Purpose of the lesson: Learn to structure programs using functions.
− Function declaration
− Variable scopes
− Function parameters
− Returning values
Result of the lesson: Students learned to write beautiful, understandable and structured code using functions.
Month 3
Day one - Objects
Purpose of the lesson: Learn to conveniently store interconnected data using objects, get acquainted with the basics of object-oriented programming.
− Creating an object
− Keys and values
− Object methods
− Object constructors
− Arrays of objects
Result of the lesson: We have finished studying JS tools for convenient storage of information. We wrote a program “Phone Directory” or similar.
Day two - Basics of layout using Bootstrap
Purpose of the lesson: Learn the basics of HTML and CSS. Get acquainted with the Bootstrap framework for quickly creating interfaces.
− Basics of HTML and CSS
− CSS classes, Bootstrap components
Result of the lesson: Students learned how to create interfaces using Bootstrap. We created the interface for the To Do List application.
Day Three - Working with the DOM
Purpose of the lesson: Learn the basics of HTML layout and using JS to manipulate elements on a page.
− Search for elements on a page
− Attributes and properties of elements
− Modifying a document
Result of the lesson: Students learned how to manipulate page content using JS. We thought through the data structure for the To Do List application.
Day Four - Events
Purpose of the lesson: Learn to work with web page events and bind your functions to them
− Mouse, keyboard and document events
− Creating event handlers
− Obtaining information about an event and an element
Result of the lesson: Students learned to work with events in JS. They completed work on the “To-Do List” application.
Month 4
Day One - Basics of git, nodejs, npm and express
Purpose of the lesson: Prepare to create a web application using the Express framework. Get acquainted with the main tools for working with the project
− git, the concept of commit, creating a repository
− Running JS programs using nodejs
− Managing dependencies with npm
− Creating an application template in Express
Result of the lesson: The students created an application template using Express and prepared the necessary tools for the job.
Day two - Paths and patterns
Purpose of the lesson: Learn the concept of http requests and paths in a web application. Learn how to create page templates and insert the necessary data into them.
− Understanding the request path, GET and POST requests
− Creating handlers for requests
− Writing data substitution page templates
Result of the lesson: Students learned the basic tools for creating a web application in Express and wrote a simple blog in JS.
Day Three - Databases and Controllers
Purpose of the lesson: Learn how to connect a database to an Express application and make simple queries to the database.
− MongoDB and Mongoose
− Writing a schema and data model
− json language
− Adding documents to the database
− Receiving documents from the database
Result of the lesson: Students connected the database to a blog on Express. We learned how to write a schema and data model, add and query information from the database.
Day Four - Users and Login
Purpose of the lesson: Learn the basics of working with user accounts in an Express application. Authorization and authentication.
− Creation of user accounts
− Saving registered users to the database
− Middleware and protected paths
− User page
Result of the lesson: Students learned the basics of working with user accounts in web applications. Added authorization to the blog on Express.
Month 5
Day one - Team building. In-Depth Introduction to HTML
Purpose of the lesson: Divide the group into teams, distribute roles and establish communication within teams. Learn more about the features of the HTML language.
− Team building:
− Formation of teams
− Distribution of roles within the team
− Communication via Slack messenger
− Development:
− Tags, parents and children
− Single and double tags
− div and semantic tags
− Tag attributes
Result of the lesson: We started working in groups and established intra-group communication. Students became more familiar with the features of the HTML language.
Day two - Business goals and objectives
Purpose of the lesson: Learn about the priority business goals and objectives of companies, learn to determine the goals of a specific case (feedback from the company is required).
− Concepts of priority business goals and objectives
− Meeting with company representatives
− Analysis of information from the customer
Result of the lesson: After the lesson, the student is able to distinguish between business goals, using the knowledge gained in the lesson, analyzes information from the customer, providing the result in the form of the customer’s written down business goal.
Day Three - In-Depth CSS
Purpose of the lesson: Learn more about the features of the CSS language. Learn about the separation of concerns between HTML and CSS.
− Distinguishing between content and design
− Selectors and specificity
− Block model
− Pseudo-classes
Result of the lesson: Students learned more about the features of the CSS language.
Day four - User Story
Purpose of the lesson: Think over a web application model (feedback from the company is required).
− The concept of User Story
− Thinking through the user story of your application based on a previously set business goal
− Working on a model of a future web application
Result of the lesson: In this lesson, students learned what a User Story is and, based on a previously defined business goal, thought out a model for a future application with various mechanics.
Month 6
Day one - Flexbox
Purpose of the lesson: Learn how to manipulate blocks on a page using Flexbox tools.
− What is Flexbox
− Containers and elements in a container
− Basic positioning properties
− Flexbox using Bootstrap helper classes
Result of the lesson: Students got acquainted with modern layout approaches using Flexbox.
Day two - Building a layout in Figma
Purpose of the lesson: Develop a web application prototype in Figma.
− Features and features of Figma
− Components, Frames and Meshes
− Work on the application layout, taking into account the feedback received during the User Story stage
Result of the lesson: Students, using the Figma application, created a ready-made prototype (design layout) of a web application.
Day three - Teamwork. Deep dive into Git
Purpose of the lesson: Learn to work with basic git and Github tools.
− Staging and commit
− .gitignore file
− Branches and merge
− Remote repository, push and pull commands
Result of the lesson: Students learned teamwork using git tools.
Day Four - Deep dive into routing and controllers in Express
Purpose of the lesson: Review remaining questions about query processing in Express.
− Request parameters
− Setting the response code
− Router
− Receiving post request data
− Redirect
− Sending a file
Result of the lesson: Students gained a more comprehensive understanding of working with routing and request processing in the Express application.
Month 7
Day one - Work on your own projects. Static files
Purpose of the lesson: Start putting your web applications into practice. Learn how to process static files in an Express application.
− How do static files differ from dynamic information and why should they be processed separately
− Setting up flow for processing static files
Result of the lesson: The students continued to work on their own projects. Learned how to work with static files in Express.
Day two - Work on your own projects. Working in depth with MongoDB and Mongoose
Purpose of the lesson: Continue working on your web applications. Review remaining questions about working with a MongoDB database in Express.
− Data types in schemas
− Data validation and storage
− Different types of database queries
Result of the lesson: The students continued to work on their own projects. Gained a deeper understanding of working with data in Express using MongoDB and Mongoose.
Day three - Work on your own projects. Continue working with data in Express
Purpose of the lesson: Continue working on your web applications. Learn some interesting techniques for working with data in Express.
− Asynchronous data request
− Flash messages on the page
− Editing existing records in the database
Result of the lesson: Work continues on our own projects. Students learned to implement useful techniques for working with data in Express.
Day Four - Presentation and Public Speaking
Purpose of the lesson: Get started on preparing to protect your web applications.
− Analysis of the topic and purpose of the presentation (the concept of presentation: where and why it is used, creating an association map for your topic, writing a complete text-story on the selected topic)
− Prototyping the presentation (stages of presentation, identifying logical introduction, main idea, conclusions)
Result of the lesson: Students began to prepare to defend their web applications, learned about the conditions for a successful presentation, and practiced writing their own speech.
Month 8
Day one - Work on your own projects. Pagination
Purpose of the lesson: Finish work on web applications, fix the latest bugs, identify the latest problems. Learn how to do pagination (dividing a large amount of information into several pages).
− Creating pagination
Result of the lesson: Work on web applications is entering its final phase. Students received final tips for their revision. Learned how to use pagination in your applications.
Day two - Deploying the application on the server
Purpose of the lesson: Learn how to set up a server on Linux, set up a NodeJS environment, and deploy an application on Express.
− Register a virtual private server
− Basics of Linux administration (working with packages, user management, ssh, firewall)
− Installing NodeJS on the server
− Process Manager PM2
Result of the lesson: Students learned how to set up their server on Linux, created an environment and deployed their web applications.
Day Three - Presentation and Public Speaking
Purpose of the lesson: Continue to prepare to protect your web applications.
− Presentation design (basics of a successful presentation, filling slides with text information, creating a presentation without the help of ready-made layouts, developing your own style and design presentations)
− Public speaking (independent preparation of a text on a chosen topic, preparation of a presentation for a speech, defense of a project)
Result of the lesson: Students continued preparing to defend their web applications, learned about the principles of presentation design, and practiced public speaking.