IT fundamentals: Become comfortable with the digital world
Information, number systems, data storing and manipulation, machine instructions, algorithms, programming, artificial intelligence!
From this course, you will learn how a computer works. What applications it has, in what way it realizes them, and how is it built. I will present the computer as an abstract machine and as a physical machine. You will learn how computers store and convert data. You will learn different number systems and conversions between them (binary, decimal, octal, hexadecimal). You will understand why computers use zeros and ones to represent everything. I will explain what is the phenomenon of the growing power of computers, how it affects minimization and miniaturization. You will learn the backstage of software development, you will see what a programmer’s work looks like. What are the features of a good programmer. Finally, I am talking about artificial intelligence, which is a very mysterious field for many people. I also discuss the physical and logical limitations of computers, you will learn what computers are good at and what is hard for them, and why.
This course is divided into 5 sections.
1. Introduction to the introduction
As the name suggests, it is the part that introduces you to the entire course (which in itself is an introduction to computer science 🙂 ). You can treat this section as “mini-version” of the rest of the course. So it is the part that shows you what kind of topics you may expect in further parts of the course. I cover the various topics very briefly to give you an overall picture of the topic. For example, I mention here very briefly the topic of programming, giving a very general view of it. However, the course has a whole part named “Software”, in which I show you exactly what is it about. I explain how programs are created today, what tools are used etc. Probably the completion of this part of the course, therefore, will not take you much time.
2. Computer architecture
2.1. Data representation
In this section, I discuss how to represent information and store it inside your computer. Computer as a calculating machine can not store data the same way people store it in the brain. Firstly, it is a machine. Secondly, it is a calculating machine. What does it mean and what are the implications of this, I will discuss in detail in this section.
So people had to invent appropriate techniques for transforming information from a form understandable to them (sound and image) into a form understandable for the machine. They came up with a few interesting, clever ways.
2.2. Data processing
It is very crucial in computer science to process data. In fact, data processing is the whole point of the existence of this field. If computers could only store information, they wouldn’t be as useful as they are. Now that we can force the machine to store information, let’s try to force it to manipulate it.
3. Computer organization
Anatomy of counting machines. In this section, we will look inside computers and see how they are constructed and how they operate at the lowest level. You will learn about how digital technology works, which is ubiquitous in the modern world.
From section 1 we already know what the computer is used for. From section 2, we know what operations should be performed to be able to implement these ideas. So we have specific goals and developed theory. Now we only need to build a physical, tangible machine that will carry out the appropriate operations in practice.
4.1. Operating systems – hardware-software communication
Modern computers perform many activities that often compete with each other for access to computer resources. We can request actions such as printing one document, modifying another, creating a graphic that will be used in the document, enabling background music or installing the application.
The execution of these requests requires good coordination to ensure that unrelated processes do not interfere with each other and that communication between related tasks is effective and reliable. This coordination is performed by a software package called the operating system.
4.2. Teach something to the computer – the art of analytical thinking
In order for a computer to perform any task for a human being, it must be carefully instructed on how to do it. The computer won’t come up with anything on its own. That was not the reason he was invented. The computer is to be our “slave” who performs time-consuming, schematic and repetitive activities for us, performing a lot of calculations.
Before our “slave” starts working for us, however, we need to tell him not only what to do, but how to do it. Therefore, the computer does us out in tedious work, but it does not do us out in thinking. It is us, the people, who have to strain the gray cells and use our creativity to find a recipe for solving the problem. This “recipe” is called an algorithm. Once we have an algorithm, we can use a programming language and appropriate tools to convey our idea to the computer. For more information on these tools and languages, see the next section.
4.3. Not only code writing – how the program is created
Most people have a strong view of the programmer’s work. The programmer is the man that sits at the computer for long hours, writing some mysterious code. Code that looks as if it were written in the language of beings from a foreign planet or encrypted. Programming is considered as a very difficult, even mystical field. The entire software development process is associated only with writing code. Is that the way it is? Well, no.
In this section, I will introduce the backstage of creating computer programs. I will show you how software development has evolved. I will present the tools and techniques used by programmers sometime and today. We will also write some simple code.
5. Limits of computations
Is the end of fast computer development approach? What computers do easily? What computers do hardly, why, is it possible to improve this and to what extent? What can not counting machines at all? Is it possible to force the machine to think or at least to simulate that it thinks? What is this mysterious artificial intelligence and how does it look real these days? How can a computer learn to play chess better than anyone in just a few hours? And finally, how can AI contribute to the development of medicine? You will find the answers to these questions in this section.