Computer programming for beginners: Understand how it works
4.3 (12 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,099 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Computer programming for beginners: Understand how it works to your Wishlist.

Add to Wishlist

Computer programming for beginners: Understand how it works

No previous experience required! Learn the basic principles that will ease your further development as a programmer.
4.3 (12 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,099 students enrolled
Created by Miroslav Paunov
Last updated 11/2016
Price: $25
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • 1 Article
  • 54 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand how programming works
  • Create algorithms, using flowcharts
  • Develop your "programming thinking"
  • Convert numbers from one numeral system to another
  • Understand how computers handle data and programs
View Curriculum
  • No special requirements for this course.

This course helps you understand how computer programming works. Here, I will introduce you to the basic principles of programming. You will develop your logical thinking, while learning how to design algorithms.

Becoming a programmer(software developer) does not mean to just learn a programming language. Nope! It means to:

  1. Learn to think like a programmer,
  2. understand how programming works,
  3. learn any programming language,
  4. practice, practice, practice

This course will help you with points 1 and 2. The course does not cover any programming language or development environment. This course is meant to be taken before learning a specific programming language.

I designed this course for complete beginners, because I have seen too many students starting from point 3 and not understanding what they are doing. I recommend this course to all beginners at our live courses and if you are just starting with computer programming, I also recommend it to you!

I am very keen on examples. Every time when I explain something new, I supplement it with examples. Another key to understanding is exercise. I prepared questions, exercises or practice problems after each lesson.

By the end of this course you will understand:

  • How the computer represents and handles information
  • How to design an algorithm, using flowcharts
  • Data types, operators, Variables, Decisions, Loops, Arrays and matrices

After this course you will be ready to learn any programming language faster, with deeper understanding.

Who is the target audience?
  • For students who want to learn programming, but have no previous knowledge
  • For students who want to understand how programming works
  • For you if you want to improve your logical thinking
  • Learn how to design algorithms, using flowcharts
  • the course is NOT FOR YOU if you already have good understanding of the above subjects
Students Who Viewed This Course Also Viewed
Curriculum For This Course
21 Lectures
About this course and how to use it
1 Lecture 05:14

You made the right decision!

Course scope and contents.

Course resources - video lessons, pdf presentations, graphics, exercises.

Preview 05:14
Numeral Systems for Programmers
3 Lectures 23:51

Recall what exponentiation is. Learn how positional numeral systems work. Introduction to binary and hex.

Preview 11:46

Answers to the exercises from the last lesson

Numeral Systems - Answers

Learn to convert numbers between any two numeral systems.

Learn why programmers need to know binary and hex.

Converting numbers
Computer Data
2 Lectures 19:27

Learn about the basic data types and their characteristics.

Data types

Learn how the data is represented in the computer:

  • Binary
  • Signed numbers
  • Floating Point Numbers - IEEE-754
  • Complete/Incomplete bytes
  • Character codes - ASCII, Unicode, escape sequences
  • String - the null character
  • Boolean
Data representation
Human-Programming-Machine Language. How the hardware interacts with your code
2 Lectures 10:44
  • What a software developer needs to know about the computer hardware?
  • Storage
  • Memory
  • CPU

Learn how a human-like language is executed by the computer. Learn about

  • Machine Language
  • Programming Language
  • Compilation
  • Interpretation
  • How is a program executed
Programming language, Compilation, Interpretation
Saving and manipulating data
3 Lectures 20:24
  • What is a variable?
  • Initialization
  • Type, Value, Size, Address
  • Naming a variable


  • Operators and Operands
  • Sign
  • Arithmetic
  • Assignment
  • Comparison
Math operators

Answers and explanations for the questions and exercises from the "Math Operators" lesson.

Math operators - Answers
Algorithms and Flowcharts
10 Lectures 02:25:29
  • What is an algorithm?
  • What is a flow chart?
  • How we use flow charts to describe algorithms?
  • The best practices when creating algorithms.
Preview 20:13

Logical NOT, AND, OR, XOR

Decisions and Logical Operators

  • What is a loop?
  • Pre-condition
  • Post-condition
  • Examples and exercises

A practical lesson on nested loops. Here we learn to organize loops in more complex algorithms.

Also you will understand how nesting affects the speed performance of a program.

Nested Loops

Solutions to the exercises of the previous lesson.

Nested Loops - Solutions

Here, you will learn about the array data structure. In this lesson, you will understand how to create arrays and how to handle their elements, using the index.


Arrays with more than one dimension - how can you handle then and what are they useful for.

Multidimensional Arrays

Solutions to the exercises of the last lesson.

Multidimensional Arrays - Solutions

Practical lesson on square matrices. This lesson emphasizes juggling with the indices.

Here you will see some interesting properties of the square matrices. This will allow you to implement some basic rules from games like chess and Tic-tac-toe.

Square Matrices

Solutions of the exercises of the last lesson.

Preview 12:56
About the Instructor
Miroslav Paunov
4.3 Average rating
12 Reviews
1,099 Students
1 Course
Engineer, Software developer, Lector

Hi, my name is Miroslav. I am from Bulgaria and I have been a professional programmer for more than 6 years. I have experience in C, C#, Java SE, Java EE, Android, PHP, SQL, HTML, CSS.

In these 6 years I have 3 crazy years of daily programming and evening teaching. I taught hundreds of students - students who enrolled to learn and developer teams for other companies.

Now I want to use my experience and knowledge to teach people all over the world. Thanks, Udemy!