
In this lesson we are going to see, introduction to Computer Programming via Python which is meant for absolute beginners to show how to get started with Python quickly.
Focus is given on the reasoning part of the programming and also all the concepts we are going to learn is Language Agnostic.
Here we will focus on to the concept of what is a Computer Program and what is meant by a Computer Programming Language.
We will create some machine code instructions that CPU understands with human readable programming language with the help of a 'converter program'.
The topics that we are going to discuss here is about different variants of Programming Language like,
1) Java
2) C
3) C++
4) C#
5) Python etc.....
Here we will see couple of the features of Operating System we will be using for programming.
Some of them are as follows ;
a) Terminal
b) Shell
c) Command Prompt
d) Files
e) File Browsers
This lecture is the continuation of features of OS, that are Files and File Browsers.
In Files, we will see about Disk, Memory and CPU. In File browsers we will have a look into explorer on windows.
We will also focus on other Programming Languages like, Tools, IDE, Runtime, Visual C++ etc....
In this demo we are going to install Python runtime in windows using google and download it.
Python Interpreter or Python.
Focus is also given on testing the installation in from command prompt.
In this lesson we are going to create a simple python program that is 'Hello World'. This should be a .py file.
The Python version that we are using here is Python 3.XX and later. Always try to download the latest version.
The major points that we are going to discuss in this lesson are,
1)Analysing what is all about in the folder of Python.
2)Discussing the difference between Text files and Binary files in the context of 'hello world' program we have written.
In this lecture, we are going to install Visual Studio Code for the purpose of editing python.
Visual Studio Code is an IDE which is used for different programming languages. Here we are going to use it for Python. Also we will do the 'hello world' program once done in python using Visual Studio Code
In this lesson we will learn about Online IDEs or Online Compilers or Online Python itself.
We will also see 'hello world' program in Online Python or Compiler.
In this lecture, we are going to see the unseen part of OS, that is the machine code it generates.
We will also discuss about binary digits created by python runtime. The digits mentioning in this video are nothing but binary numbers, which goes into the CPU.
We have seen the execution of 'hello world', which is the simplest python program.
In this lesson, we will see a ton of things that helped behind in the execution of 'hello world'.
Some of them are;
1) CMD(Command line)
2) Explorer
3) Task Managers
4) Process Explorer
In this short video we are going to see how to execute a python program using command line.
The command line argument used here is hello.py
This lesson summarises all the concepts that we have learned so far.
Different ways in which the 'hello world' execution has happened.
a) CMD
b) Explorer
c) Online Compilers
d) VS code
e) Powershell etc.....
This lesson gives a short explanation on language part of the 'hello world'.
Coding part is done in VS code.
We will also see the execution of 'hello world' program in this video.
In this lecture we will see how Python programming language if different from normal English language.
The significance of characters in English language in Python Program.
In this lesson we are going to see two different type of entities, they are, String and Variable.
Both looks similar but they are entirely different from one another.
For eg: if Variable is a bag, then String has a value.
In this lesson we are going to learn much more about the special characters that are used in Python.
These characters are crucial to programming, not only in Python but most of them.
We will also see the importance of assignment operator in Python
Here we are going to see about Commands which is a part of programming.
Commands are lines inside the program which are not executed.
The main purpose of Command is to explain a program.
It is of two types;
a) Single Line Commands
b) Multi Line Commands...
We are going to discuss a very important concept called Variables.
Variables are programmatic way of handling computer memory. It's a crucial part in Python Programming which cannot be avoided.
In this short video, we will see about different types of Variables.
Types of Variables are classified based on;
a) Purpose
b) Size
c) Usage...
In this lesson. we will see some Sample Codes that demonstrates some concepts which we have discussed before.
One more type of Variable, called signed and unsigned variables will be also discussed here in a short.
In this lesson we will learn a concept called Literal.
Literals usually represents Values.
Almost always we use a variable to 'carry' a literal.
We will also discuss about key words in Program. It is a variable or literal which has a very specific meaning from a programming perspective.
Next concept we are going to discuss is Operations. We have seen couple of Operations,
for eg; Assignment Operation.
We will see more in this lesson.
In this lecture, we are going to learn about Functions. We will see the demo of functions in a block diagram.
In the block diagram will see the working of functions as well.
Here we going to see a program, to understand the execution flow of a function.
We are going to put some breakpoints and will see how it hits.
This lesson also gives a short summary about Functions..
In this lesson we will see some of the operators which are most important things in Python and other programming languages.
We will also see another important concept called Functions in Programming in this session
We have learned different operators other than multiplication and division.
In this lecture, we are going to see different types of Operators in detail.
We will also have a look into the comparison between operators and maths.
In this chapter, we will discuss about the concepts of Debugging and Import.
Debugging is the super important topic that cannot be avoided in Python.
Import or libraries are a group of functions which is written by someone else.
In this lesson, we are going to learn about different conditions in Python.
Some of them are; if, else if, if loop etc....
Conditional execution is the important topic here. If there is no conditional check then it is not a programming language at all..
In this chapter, we are going to look at 'else' condition. Previously we were looking at 'if' condition.
Here we are going to combine 'if' with 'else'.
Here we are going to look at some Combinational Conditions and we also see some 'nested if' which can be rewritten using combinational conditions.
In this particular lesson, we are going to see about arrays and list in Python.
Array is a bag which stores same type of items. In Python, arrays and list are considered as similar, but in other programing languages it is different.
Here we are going to discuss about Dictionaries.
In some other programming languages it is called Maps, Hash table etc...
Dictionary in Python holds key and value which is correspondent to word and meaning.
Here we will have a look into the theoretical part of dictionary.
We will also discuss the properties of dictionary as well.
This video also summarizes the concept of Dictionary
In this lesson, we will have a look into the concept of loops in python and types of Loops.
We will also have a discussion about nesting as well.
Loops are present in all programming languages just like everything else we are discussing.
In this lecture, we are going to continue with the concept of loop itself.
The main topic discussed here is different variants of loop.
We have seen types of loops in the previous video. Here it continues with the variants of loop.
In this lesson, we are going to see something called Scope.
Scope is nothing related to loops in general, but it is related to functions and variables.
We need some conceptual leaps to understand what is scope.
In this lesson, we are going to illustrate Scope in a similar program.
Lets see the scope of certain variables in this video.
Variables also have different scope.
In this chapter we are going to see some control flow keywords which are;
a) Return
b) Break
c) Continue
These keywords are basically used to stop or restart loops.
Here we are going to continue with the control keywords itself. In the previous lesson we learned about Break, here we will look into Continue.
Break and Continue looks similar, but there is a subtle difference between both.
Now lets have a look into the last keyword called Return. Return is very similar to Break, but there is a big difference, just like Continue.
Return will stop the execution of entire function. On the other hand, Break stops the execution of a loop.
In this lesson, we will see a complicated program that includes the combination of all the control flow keywords discussed above; Return,Break and Continue.
If you understand this program, you are half way throgh programming in general.
This lesson is the continuation of previous one. Here we will execute some nested loops like while loop and for loop. It is an complicated program.
We will also replace Return with Break and then with Continue.
Make your own modifications in this program and try.
In this session we are going to deal with the features or properties of nesting.
Most of the students get confused at this particular point. Because there are several variants for Nesting.
Pay little more attention to this session
In this session we are going to deal with the concept of Recursion in programming.
It is similar to loops but, it is just academic and we don't really use recursion for production code.
Most of the programming languages have this concept.
In this lesson we will see recursion and a new concept called Strings.
Recursion is highly academic and doesn't scale.
String is a list or array of characters. We use it for different printing operations.
Here we are going to revisit the debugging.
We have been doing debugging throughout the course.
We have seen so many debugging techniques.
So far we have been seeing programs which uses computer memory. Now let's revise the block diagram again and lets see some simple programs to write and read from disk.
For reading and writing from the disk, we will be using memory.
In this lecture, we are going to see some properties of files. File is similar to array in memory.
Files are continuous streams of binary digits.
By the end. this session summarizes all the above topics, major and minute, that we have discussed above.
Here we are going to look at different coding practices. We are going to focus on programming logic or problem solving as well.
No focus on programming language and its features but on 'logic'.
In this session, we are going to deal with simple programs.
So the first one is something which calculates the area of a circle.
Later we will move to complicated one.
In this program we are going to learn a program which calculates the average of n integers.
It is a simple program, but we will try to make it more interesting.
In this program we are going to find the maximum values inside a list of integers.
So that is the program we are going to see here.
Next program we are going to look at is linear search. It tries to find out the index of a particular digit inside an array.
Finding out something, that is the goal of it.
In this lesson we are going to look at a super simple calculator. All it does is addition, multiplication, subtraction and division.
a) Type Conversion
2) Parcing
3) Exception handling etc.... we will discuss about these functions too..
Here we will see a program that find out whether a number is even or odd.
In this program we will look at a new operation called Modular Operator.
Also we will look at the string format function and documentation of that function.
In this program we are going to print all even numbers under a certain value or range.
We will use loop here to achieve it.
We will also look into adding additional conditions to handle certain edge cases.
Next what we are going to see is a python program that prints the factorial of even numbers under certain range.
This is a common scenario in programming that we combine different logic from different parts of program.
In this lecture we are going to see a program that finds out whether an year is leap year or not.
This is relatively more complex logic.
We are going to implement this program under 4 ways.
Here what we are going to learn is, we are going to debug the leap year programs we have written and try to undrestand little more about it.
We will also try to write a program that prints all the leap years under certain value.
Next program we are going to look at is a program that swaps two variables.
We will see a method in which there is no temporary variable.
We will also see a program which swaps string correctly using temporary variable.
In this lesson we will create a program, without knowing anything about it and we will try to debug it as well.
Through this program one will be able to understand more about this, the working. the flow etc... everything.
This is a similar program that we have seen in the previous one.
For some, it may seem difficult, but try it figure out it. Try yourself.
Here we are going to see another debugging program which is not much complicated than previos one.
Look at the code and try to debug it by yourself. We will also see a program to reverse a string and a Python specific syntactical sugar as well.
This program is little more complicated compared to others. Here also we are continuing with the debugging session itself.
But here if you are familiar with binary numbers and arithmetic, it may seem little easier.
In this program we are going to discuss about binary numbers.
And we will also understand about the AND & OR operations that we didn't know about.
In this program we are going to learn a program that prints all the prime numbers under certain range or value.
Here we will have a new language feature or syntactical sugar in this code.
Here we are going to look at a visual program in which we will try to understand the program after seeing the output of the program.
It is a very straight forward program not very complicated at all.
Here we are going to explain about the turtle application that we have seen in the previous one.
Use the blackboard here and try to understand.
In this lesson, we will see a program which counts the vowels in a string.
The program is straight forward. It has yet another syntactical sugar from Python.
This is a python program that sorts n numbers using an algorithm called Bubble sort.
It is one of the simplest sorting algorithms. Sorting is an important operation computer does.
Next program we are going to look at is something called Binary search.
We are not using our normal approach of getting into the code first, its a different method we are going to use here. Because there is a reasonable amount of complication behind this program.
In this lecture, we are going to see a new program which is like the turtle program we have seen, and it is called the Pattern Generation Program.
This is mostly used to learn logic.
Next program we are going to look at is a tree walk program or a category of a program called tree walk.
One important thing you need to understand here is that, this is one of the favorite questions of interviewers.
In this program we are going to look at different concepts called,
1) Command Line argument
2) Environment variables
3) Config files
4) User Interface etc...
In this lesson we are going to see Command line arguments as the way to configure the program.
It is a very important topic and simple topic as well.
We will look into it mainly from a code perspective.
Here we are going to discuss about environmental variables. Yet another way to configure the program.
We will focus on windows OS.
Next program we are going to look at is Exceptional Handling.
Python is one of the languages which has exceptional handling.
Sometimes it is difficult to understand. .
In this particular session, we are going to see a case study of exception handling.
We will also see If & else conditions which looks very similar to exception handling.
Though exception handling is very very different.
In this video, we are going to look at some features of python regarding exceptional handling.
Some basic concepts are exception filtering finally block etc..
In this session, we have seen a program that generates an exception and handling it.
We should be very careful not to use exception handling for control flow.
In this session we are going to learn a new concept called Current Directory.
It is common for almost all programming platforms.
Next we are going to get into a complicated topic called object oriented programming.
The topic is too big and so that we are not going to have a full coverage of it.
We will also see one of the concepts of it called Encapsulation.
In this session we are going to look at a very important topic called Inheritance which is one of the concepts of object oriented programing.
By inheritance we are trying to emulate the nature itself.
Next we are going to see the 2nd important concept of object oriented programing called Polymorphism.
It is an action performed on different functions.
In this session we are going to learn a concept called classes and object.
Classes are blueprint or template of an object.
So classes created objects.
In this lecture we are going to discuss or explain more about class, object, inheritance and polymorphism.
We will see how this works in an object oriented program as well.
We will also see how it works in general.
In this session, we are going to discuss more about Encapsulation.
Also we will see a specific example of Polymorphism as well.
Here we are going to discuss a very important topic called Memory Management.
We will discuss about a concept called garbage collection in this program.
In this session we are going to discuss another big topic called Function Objects, which is also known as Function Pointers.
Although it has different names in different programing languages.
In this session we are going to learn an application called Decorators using function objects.
It is very useful in unit testing.
In this session, will discuss Decorator Advanced.
This will be the most non-linear program that we will see int his training.
In this session we are going to learn a new concept called Multithreading.
It is a big topic, even experienced trainers may find it difficult.
Next we are going to see a classic multithreaded program.
Here we will figure out a problem and try to fix it using something called Lock.
In this session, we will create some additional processes from Python program.
We will also see another concept called multiprocessing
This has some similarities from multithreading.
Here we are going to see a small multi file program and how it works, how we access the files etc..
Libraries are just another multifile program.
Next topic that we are going to discuss here is Git.
Git is a class of software which is used for source control management.
Basically these are software that used to keep files.
Here we are going to see some of the tools for installing Git.
It is going to be procedural.
Feel free to play around all the tools that we are going to discuss here.
Here we are going to see the concept of branches and pull request.
What it means and what all are its functions etc...
The coding that we are doing is always a PR.
In this session, we are going to look see some of the practical of branching, merging, PR, review etc.. all that kind of things using Git and Git hub.
In this session, we are going to discuss about Package Management.
Older versions of programing like, C, C++ doesn't have package management. But python has.
Here we are going to see a complicated package installation called Pip Installation.
There are lot more complications in it. So put an eye on it.
An introductory guide to computer programming principles using the Python programming language, structured into three main sections:
Covering fundamental programming concepts such as variables, conditions, loops, and data structures.
Exploring programming logic and cultivating a programmer's mindset through a series of progressively challenging exercises based on the concepts learned in section 1.
Delving into more advanced programming paradigms including Object-Oriented Programming (OOP), multi-threading, packaging, multi-file programming, and beyond.
This comprehensive resource serves as a starting point for anyone embarking on their journey into computer programming and coding.
Notable features of the course:
Tailored for complete beginners
Ideal starting point for learning any programming language
Comprehensive Python instruction
Emphasis on mastering coding logic
Abundant practice opportunities included
Subtitles ensuring 100% accuracy
Lot of focus on “Why”
Almost all the concepts are language agnostic
Though the medium is Python, nothing much is specific to Python.
Addresses the problem of “Everyday a new programming language”
About instructor
Trainer and Consultant SourceLens, Sydney Australia
1.15+ years of experience in core programming and debugging.
2.Currently providing DevOps and cloud consultancy to leading financial institution in Australia.
Previously,
Staff Engineer - VMware Inc
Principal Engineer - Intel ( Security )
Senior Software Engineer – Citrix Inc.
Developer SE – Microsoft Corp.