<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Academic | Khusainova D. A.</title>
    <link>https://dakhusainova.github.io/tag/academic/</link>
      <atom:link href="https://dakhusainova.github.io/tag/academic/index.xml" rel="self" type="application/rss+xml" />
    <description>Academic</description>
    <generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Wed, 01 Jun 2022 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://dakhusainova.github.io/media/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_3.png</url>
      <title>Academic</title>
      <link>https://dakhusainova.github.io/tag/academic/</link>
    </image>
    
    <item>
      <title>Last week 6</title>
      <link>https://dakhusainova.github.io/post/last-week6/</link>
      <pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/last-week6/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Absolutely nothing supernatural happened last week. A normal week of study, and then a return to text games. A wonderful life.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Programming language С# in game development</title>
      <link>https://dakhusainova.github.io/post/topic/</link>
      <pubDate>Wed, 25 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/topic/</guid>
      <description>&lt;h2 id=&#34;c-programming-language&#34;&gt;C# programming language&lt;/h2&gt;
&lt;p&gt;Unity uses the productive C# programming language. Thanks to C# and Mono – cross - platform implementation .NET, Unity-projects can be assembled and run equally stably on different operating systems.&lt;/p&gt;
&lt;p&gt;In the future, you will need to learn the language in full, but the following set of topics will do for a start:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;basic constructions;
objects, types, and references;
enumerations and collections;
object-oriented programming;
exception handling.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you plan to create network games, it is highly desirable to know ASP MVC, a framework for creating web applications that simplifies networking and working with databases.&lt;/p&gt;
&lt;p&gt;A requirement common to all programmers is knowledge of algorithms and data structures. This knowledge will not become obsolete, no matter what programming language you use and for what operating system you develop.&lt;/p&gt;
&lt;p&gt;In addition to the programming language and algorithms, design patterns are mandatory for studying – thoughtful architectural solutions used by programmers. It is necessary to understand well how and in what situation to use this or that template.&lt;/p&gt;
&lt;p&gt;Most of the training and reference materials are written in English, and therefore we advise you to master the language at least at the Intermediate level. Knowledge of English is not a specific requirement for Unity programmers, but a standard requirement for IT.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Scientific programming</title>
      <link>https://dakhusainova.github.io/post/programming5st/</link>
      <pubDate>Wed, 25 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/programming5st/</guid>
      <description>&lt;h2 id=&#34;scientific-programming&#34;&gt;Scientific programming&lt;/h2&gt;
&lt;p&gt;Science in programming — the past or reality? How much of it is in languages and why are there holivars about the advantages of some languages over others? If you are interested, I ask under the cat.&lt;/p&gt;
&lt;p&gt;For a long time there have been &amp;ldquo;holy wars&amp;rdquo; in which various approaches in writing programs and in programming itself are discussed and criticized, mainly Object-Oriented Programming is criticized (one, two, three).&lt;/p&gt;
&lt;p&gt;Egor Bugayenko criticizes the PLO on practical examples (one, two, video), using the ideas of David West and, as I understood, recently went towards theory. The effectiveness of these disputes tends to zero. Why? Because all these disputes are already being conducted on the basis of the realizations of some thoughts, practices and opinions of individuals, and not on the basis of theoretical works. The scientific method and approach with its theories, hypotheses, axioms, experiments, proofs and facts in recent years in these disputes and &amp;ldquo;wars&amp;rdquo; there is no word at all!&lt;/p&gt;
&lt;p&gt;In mathematics, as in any other science, any theorems and theories require proof. As an example: The Pythagorean Theorem. Theory comes first, followed by practice. In programming, this approach has not been followed for several decades. Everything has been replaced by dogmas and the opinions of individuals, who are sometimes called &amp;ldquo;evangelists&amp;rdquo; or &amp;ldquo;prophets&amp;rdquo;. With their verbiage, they promote only the ideas they need to the masses, without caring about theory or evidence (Look at conferences and presentations on IT). Where is science here, and where is religion? And are we not slipping into obscurantism and faith in words written long ago and not requiring proof? Have you heard about the flat Earth supporters? Does it remind you of anything in terms of approaches to persuasion and stubbornness?&lt;/p&gt;
&lt;p&gt;And for the last 30-40 years, programmers, blinded by religious beliefs from the preachers of PLO or OP, have been building abstractions on top of other abstractions, new languages on top of other languages, new frameworks and libraries on top of old ones. And why was all this necessary? For the sake of simplification and productivity of their work on writing programs. Only this path led to a dead end. Because instead of simplification, we got complication and now we are studying not algorithms, but APIs and documentation for another fashionable framework, and maybe several. Now they began to look for bugs not only in their own code, but also in someone else&amp;rsquo;s. Debugging code has to be done through tons of proxies, architecture patterns and design patterns, helpers, frameworks and libraries. And, as research shows, there is no gain in the speed of writing code from the use of OOP at all.&lt;/p&gt;
&lt;p&gt;A little history. How did it all start? First there was procedural programming, then structural programming, and then imperative programming came on the scene. Some people thought of introducing the concept of an object — this is how object-oriented programming was born. And at that moment there was a sharp turn that turned the entire industry into the state in which we are now.&lt;/p&gt;
&lt;p&gt;The introduction of the object had to be theoretically justified. But that didn&amp;rsquo;t happen. Instead, each language introduced the concept of an object in its own way. And each developer of the language interpreted the postulates of the OOP to his taste and color. Particularly stubborn fundamentalists came up with Functional Programming based on mathematics, lists and higher-order functions. It sounds serious and even a little scientifically justified, because mathematics is a necessary and useful thing, but what does lists and functions have to do with the real world?&lt;/p&gt;
&lt;p&gt;What tasks does pure OP solve without using states and is there an optimal, convenient and correct way on the part of a person — that&amp;rsquo;s the question you need to ask the &amp;ldquo;prophets&amp;rdquo; of OP. And it is asked (one, two).&lt;/p&gt;
&lt;p&gt;Functional language developers have started to apply some paradigms from OOP in order to move out of the field of applied mathematics problems into the field of real-world problems. In response,
some OOP languages have implemented paradigms from the OP. And &amp;ldquo;Horses and people mixed up in a bunch&amp;rdquo; (c)&lt;/p&gt;
&lt;p&gt;As a result, the implementation of pure paradigms of OOP and OP in current languages is like in a song — &amp;ldquo;I made it out of what was, and what was, and I fell in love&amp;rdquo;! And it turns out that without theoretical work and scientific basis, all these languages are just a figment of the fantasies and desires of their developers. And there are more than a hundred such languages! And it shouldn&amp;rsquo;t be like this! Ideally, there should be only 2 low-level languages and 3-4 high-level ones built on their basis.&lt;/p&gt;
&lt;p&gt;I can assume that when they introduced the concept of an object, they took as a basis what they saw around them — humans and animals. And this was the main mistake that would later grow to a huge size! Thus, inheritance may have appeared (ancestor-descendant and the relationship between them is explained by inheritance, but what about other objects in the world? And what does the very definition of the word &amp;ldquo;inheritance&amp;rdquo; mean in the real world? Blood and DNA? Nitrogenous bases?). How do the other terms, namely abstraction, encapsulation and polymorphism, relate specifically to OOP? And somehow they didn&amp;rsquo;t bother to provide evidence of such a connection. After all, you can write anything and it sounds logical, but the problem is that the arguments given have nothing to do with OOP. After all, a logical mistake was made in the OOP — (incomplete induction) a transition was made from one particular case to the entire general set. To show this, I will give an example — if it is possible to take only living beings with inheritance as a basis, then why, following the same logic, not take a planet or an entire galaxy as a basis? After all, a planet or galaxy is also the heir of other objects from outer space and has a state and some kind of behavior. Or imagine all mountains as objects without inheritance and practically without behavior.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How to make a presentation</title>
      <link>https://dakhusainova.github.io/post/presentationmake/</link>
      <pubDate>Thu, 12 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/presentationmake/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Making a good presentation starts with crafting the content. No matter how compelling your message is, if you don’t get it out of your brain and on to the screen in a simple way, you’ll be met with a sea of blank faces. So, where to begin?&lt;/p&gt;
&lt;p&gt;Create an easy-to-follow structure&lt;/p&gt;
&lt;p&gt;When it comes to what you have to say, break it down into three simple sections: your presentation needs an introduction, body, and conclusion.&lt;/p&gt;
&lt;p&gt;A compelling introduction. Your introduction needs to briefly sum up what you’re going to talk about and why it’s useful or relevant to your audience.
Offer a body of evidence. The body of your presentation is where you hit ’em with the facts, quotes, and evidence to back up your main points.
Sum up with key takeaways. The conclusion is where you loop back to your original statement and give the audience some key takeaways on how they can put into practice what they’ve learned.
No more than 10 slides in total. Who wants to sit through pages and pages of slides? No one, that’s who. By keeping your slide deck to 10 slides, even if your presentation is 30 minutes long, you’ll give the audience a chance to digest the on-screen messages in line with your talk. Using concept maps before structuring your slides can help keep to the point.
Limit the amount of copy on each slide&lt;/p&gt;
&lt;p&gt;Less really is more, especially when it comes to making a good presentation. Too much text and the audience will just be reading the screen instead of looking at you and feeling the emotional impact of your message.&lt;/p&gt;
&lt;p&gt;No more than six words per slide. Marketing king Seth Godin says we should have just six words per slide – that’s not a lot of copy. Choose your words carefully and rewrite until you’ve got it just right.
Think ‘bite-size’ information. We called ourselves Biteable a reason: studies have shown that information is retained better when it’s broken down into bite-sized chunks. Video is a great way to learn and research suggests it’s 95% more compelling than text.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Last week 3</title>
      <link>https://dakhusainova.github.io/post/last-week3/</link>
      <pubDate>Thu, 12 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/last-week3/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Last week I was in Kazan, a wonderful city, because it is my hometown. And I suffered over laboratory work, watched video tutorials in German and just rested.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Last week 9-12 May</title>
      <link>https://dakhusainova.github.io/post/last-week2/</link>
      <pubDate>Thu, 12 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/last-week2/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;The best day this week was the first day, because it was Victory Day. My brother and I were watching parade on TV. After that, I went to Victory Park and went to the center of Kazan. At the end of the day we watched the fireworks in honor of the victory.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>What is Markdown?</title>
      <link>https://dakhusainova.github.io/post/markdown/</link>
      <pubDate>Thu, 12 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/markdown/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. Created by John Gruber in 2004, Markdown is now one of the world’s most popular markup languages.&lt;/p&gt;
&lt;p&gt;Using Markdown is different than using a WYSIWYG editor. In an application like Microsoft Word, you click buttons to format words and phrases, and the changes are visible immediately. Markdown isn’t like that. When you create a Markdown-formatted file, you add Markdown syntax to the text to indicate which words and phrases should look different.&lt;/p&gt;
&lt;p&gt;You can add Markdown formatting elements to a plaintext file using a text editor application. Or you can use one of the many Markdown applications for macOS, Windows, Linux, iOS, and Android operating systems. There are also several web-based applications specifically designed for writing in Markdown.&lt;/p&gt;
&lt;p&gt;Depending on the application you use, you may not be able to preview the formatted document in real time. But that’s okay. According to Gruber, Markdown syntax is designed to be readable and unobtrusive, so the text in Markdown files can be read even if it isn’t rendered.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Last week</title>
      <link>https://dakhusainova.github.io/post/last-week/</link>
      <pubDate>Tue, 03 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/last-week/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Friends, last week was terribly difficult for me. I spent it doing laboratory work and the first stage of an individual project. Fortunately, I passed everything on time and did not forget anything, and this has happened to me more than once.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Last week 5</title>
      <link>https://dakhusainova.github.io/post/last-weekst5/</link>
      <pubDate>Tue, 03 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/last-weekst5/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Last week I finally wrote a chapter of my book that I can&amp;rsquo;t finish. I need motivation for this, so I watched a lot of videos on Youtube, which I would rather not watch, because there is so much misinformation about what is happening in the world.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Version control</title>
      <link>https://dakhusainova.github.io/post/version-control/</link>
      <pubDate>Tue, 03 May 2022 00:00:00 +0000</pubDate>
      <guid>https://dakhusainova.github.io/post/version-control/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Version Control Systems (VCS) are used when several people work on one project. Usually, the main project tree is stored in a local
or remote repository, to which access is configured for project participants. When
making changes to the project content, the version control system allows
you to fix them, combine changes made by different project participants,
roll back to any earlier version of the project, if required.
In classical version control systems, a centralized model is used,
assuming a single repository for storing files. Most version control functions are performed by a special server.
The project participant (user)
receives the version of files he needs before starting work through certain commands. After making changes, the user
places the new version in the repository. At the same time, previous versions are not deleted
from the central repository and you can return to them at any time. The server can
not to save the full version of the modified files, but to perform a so—called delta compression - to save only changes between successive versions, which
reduces the amount of data stored.
Version control systems support the ability to track and resolve
conflicts that may arise when several people work on a single
file. You can merge (merge) changes made by different participants (automatically or manually), manually select the desired version, cancel the changes altogether
or lock files for modification. Depending on the settings, the lock is not
allows other users to get a working copy or prevents changing
the working copy of the file by means of the OS file system, thus providing
privileged access to only one user working with the file.
Version control systems can also provide additional, more flexible
functionality. For example, they can support working with multiple versions of a single file, keeping a common history of changes up to the point of branching
versions and their own change histories of each branch. In addition, it is usually available
information about which of the participants, when and what changes were made. Usually this
kind of information is stored in the change log, access to which can be restricted.
Unlike the classical ones, in distributed version control systems, a central
repository is not mandatory.
Among the classic VCS, the most famous are CVS, Subversion, and among the distributed ones — Git, Bazaar, Mercurial. The principles of their work are similar, they differ mainly
in the syntax of the commands used in the work.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
