Posts

Showing posts from March, 2026

String variable type in programming

Image
String variable type in programming is a collection of characters. Strings in programming are enclosed in single or double quotes. A person who creates a string object needs to be consistent with opening and closing quotes. If a single quote is used for start of a string, then single quote needs to indicate where it ends. YouTube video

Formatting variable names

Image
Sticking to a specific format of naming the variables will make code looks nice. It will also remove confusion from a developer of how to format a variable. Common variable naming formats are: Upper case characters and underscores separating words. Even so this one of the variable naming formats, it is a good practice of using upper case letters for constants. Pascal case. First letter of each word is capitalized. Camel case. First letter of first word is lower case, all of the following first letters of each word are capitalized. Camel case is also known as mixed case. Capitalized with underscores. Each word in a variable name is separated by the underscore character.

Copying a file in Linux

​Copying a file in Linux is done using ‘cp’ command. Command ‘cp’ is short for word copy. There are a number of command switches for ‘cp’ command. One of the useful switches is -r of -R. Both lowercase and uppercase options are supported. Long form of it will be --recursive. It will copy recursively files and folders.

Creating an empty directory in Linux

​An empty directory in Linux can be created with mkdir command. This command will be followed by the name of the directory. The directory can be just a one word name, in this case a directory will be created in the current path. The directory name can be also a full path. Last directory in the path name will be created. If path doesn’t exist than such a directory will not be created, it is necessary to specify -p flag, it stands for word parent. If such flag is specified, then all of the directories in the path will be created.

Creating an empty file in Linux

​An empty file in Linux can be created with ‘touch’ command.

Creating files in Linux using cat command

​There are a number of ways to a new file in Linux. One of the ways is to use cat command and redirect output to a new file. Command ‘cat’ is short for word concatenate.

Listing processes in Linux using ps command

​ps command in Linux will list running processes. There are a number of switches that can be used with this command. Please refer to that command documentation to list all of the possible switches. Often this command will be paired with ‘grep’ command to filter only those processes that are needed.

Variables values in Python

Image
There are four generic data types in Python programming language. These types are: strings, numbers, lists, Booleans. Numeric data type contains number values. A list in Python is ordered sequence of values. Strings data type contain text. Boolean values are True and False. YouTube video

Variables in Python programming language

Image
Variables in Python programming language are of a basic data type, meaning there is no need to specify a type of a variable at a variable declaration time. YouTube video

Comments in Python programming language

Image
There are two types of comments in Python code. There are single-line and multi-line comments. Single line comments are denoted with hash symbol. Multiline comments are denoted with triple single line quotation symbols to start the comment, and the comment ending is also specified with triple single line quotations symbols. Data in comments is not executed, but it adds clarity to the code that follows that comment. YouTube video

Introduction to Python programming language

Image
A programming language Python is easy to be used. It is an interpreted programming language, meaning that Python interpreter is needed to run the code. Since it is interpreted, the code that is written in Python language will be cross-platform, meaning it will run in different operating systems without modifying code. Python is multipurpose, meaning that it is possible to use it in many scenarios. There are many of Python extensions or modules exists, so it is possible to enhance the functionality of the application easily. Python is popular, many people use Python programming language to write programs using it. YouTube video

Parameters of a function or a procedure

Image
Parameters of a function or a procedure are the values that are provided into that code. YouTube video

A procedure

Image
A procedure can be used when a repeatable code is used. Instead of using that code again and again, it is possible to put that code inside of a procedure, and call that procedure instead of reusing that code. It will make code more cleaner, and has a potential of reducing number of errors. Even so, a function can be used to achieve the same result, the main difference between a procedure and a function, that a function returns something back, where a procedure just executes code. YouTube video

An event handler

Image
An event handler is code that runs when a specific action happens. For example a key on a keyboard is pressed. YouTube video

Nested loop

Image
Nested loop is a loop that consists of two or more loops. Inner loop is executed before the outer loop execution continues. YouTube video

Different types of loops

Image
There are different types of loops available: One of the kinds of a loop is a for loop. For loop specifies a set number of times the code inside of this loo needs to be executed. While loop is the type of a loop when it is unknown of how many times steps inside of the loop will be executed. Check for the loop condition can be in the beginning or at the end of the loop. YouTube video

Loops in programming

Image
Loops in programming are repetition of executing the code as long as loop condition is true or there is a forced exit from the loop. YouTube video

Compound Boolean operations

Image
Compound Boolean operation is the result of entire Boolean operation if that expression consists of more than one Boolean operation. Most common compound Boolean operations are: AND, OR, NOT. YouTube video

Comparison Boolean operators

Image
Comparison operators such as equal, not equal, grater than , less then an others are used in if statement to compare values. YouTube video

Conditional statements

Image
Conditional statements indicate that specific code needs to be executed in a case when conditional statement results to true. I will go over details of a condition statement later, I am just giving a brief overview of what a conditional statement is. It is possible to specify more then one condition. The code of the first one which results in true will be executed. It is possible to have a default section within if statement. Default section is optional. It will be executed only in a case, when all other conditions result in false. In a chart, if statements are often represented with a rhombus sign. It splits code execution based on outcome of the conditional statement. YouTube video

A variable data type

Image
A variable usually have a type that is associated with that variable. A variable type defines which operations can be performed with a variable. For example it is possible to do division with variables of numeric type, but this operation does not make sense for strings. Many of programming languages have the following simple data types: a single character, a string, an integer, a floating point number, a Boolean. I have listed simple data types, I hope that I will list more complex data types later. YouTube video

Reserved words

Image
A reserved word is a word that has a special meaning in programming and cannot be used for naming a variable. For example word 'while' specifies a loop, and it cannot be used to name a variable. There are a small number of reserved words. Please refer to the programming language you use documentation of what are reserved words. YouTube video

A variable naming

Image
A variable naming needs to be descriptive of what value that variable holds. It adds clarity to the code. There are several types of naming a variable. Naming of variables need to be consistent throughout at least the project. Ideally naming of variables will be consistent throughout all of the projects this company has. YouTube video

A variable

Image
A variable in a computer is a container that stores a value. That value can be changed. A variable takes some space in a computer's memory. YouTube video

Algorithmic design

Image
Algorithmic design is a process of recognizing steps that were done in the past. Such an activity will save coding time. If a person does not apply algorithmic design in coding practices, then development time will increase. YouTube video

Abstraction

Image
Abstraction is a process of focusing on major parts that need to be accomplished by a program. YouTube video

Pattern recognition

Image
Pattern recognition is a process of identifying that similar problem was accomplished in the past, therefore pattern recognition will save development time. YouTube video

Decomposition

Image
Decomposition is a process in programming to take a bigger task and divide into several smaller pieces. Completing the work of one big task can be tiring, but completion of each smaller task may give a sense of accomplishment. YouTube video

Computation thinking

Image
Computation thinking is way of thinking of how a specific job will be completed by a computer. YouTube video

Flowcharts in programming

Image
Flowcharts in programming help to visualize the logic that a developer needs to implement. Flowcharts have set number of elements to represent graphically which logic that needs to be implemented. YouTube video

Pseudocode

Image
Pseudocode is the intermediate step between envisioning a program and writing code. Pseudocode outlines the logic of what the program suppose to do. Creation of pseudocode step can be often skipped, a person may keep the logic or the steps needed to do in the code in the head. YouTube video

Programming languages

Image
A programming language is an artificial language to translate human thoughts into steps that need to be performed by a computer. There are number of programming languages available, some can do mathematical calculations well, others are good for web development, others are good for application development. A person may know a few programming languages, however it is impossible for a person to know all of them. YouTube video

Getting feedback on software development

Image
A software developer hardly work alone, if it is a very small company, then such a person works alone, but in a bigger companies such a person works in a team with other developers. Getting feedback from other people is important from the co-workers. Some companies release beta versions of their software to get feedback from users. YouTube video

Documenting the code

Image
Documentation of the code tells why a specific method was chosen and how to use a program. Documentation has two common methods: 1. Documenting the code, explaining what it does and sometimes why this specific logic was chosen. 2. How to use a program is specified in readme file. YouTube video

Defensive programming

Image
Defensive programming is a type of coding practice, where software code is written in a way that it continues working even after errors occur. One the ways to handle errors in code is via try/except block in python programming language. YouTube video

Software testing - peer review

Image
Software testing is a process of finding issues with the code. Humans are not perfect and can make mistakes. Those mistakes can be found in the software code. One of the ways to minimize number of mistakes is to perform code review by another person. YouTube video

Software engineering steps

Image
Software engineering goes through several phases. These phases are: 1. Identify the problem. 2. Develop a plan of how to solve this problem. 3. Write the code per this plan. 4. Test if that code works. 5. Improve the solution. It is the stage where software bugs are fixed and enhancements are made to improve this software solution. YouTube video

Software engineering

Image
Software engineering is practical implementation of computer science skills.  YouTube video

Graphs and charts

Image
There is a relationship between charts and graphs. Charts are subset of graphs. There are different types of charts. Charts help in a visual way easily understand the data. A graph shows relationship between two variables. YouTube video

Programming

Image
​Programming is a process of turning an algorithm to language that can be used by a computer. Programming languages are used for programming. There are different programming languages depending on what type of application is being developed. There maybe application programming for desktop and server computers, web, mobile devices. Programming is highly intellectual task. There are several types of programming such as web development, application development, mobile development. YouTube video

Algorithm

Image
An algorithm is a logical representation of specifies steps that are needed to be taken in order to achieve a needed result in code. There could be efficient and inefficient algorithms. YouTube video

Programming libraries

Image
Programming libraries are the code that can be consumed by a program that is written that perform certain functionality. Using programming libraries speed-up development process since some work will be already completed. If libraries are used, than it is a good habit to list which libraries were used. Another words for programming libraries are .toolkits, SDKs and frameworks. YouTube video

Attribution

Image
When a person works on coding tasks there is a chance that someone completed exactly the same thing. Attribution is a practice of mentioning who actually completed such a task. YouTube video

Pair programming

Image
Pair programming is a practice that two people are working on the same computer. Pair programming usually results in fewer errors. In pair programming there two roles: driver and navigator. Driver writes the code, navigator tells what needs to be accomplished. YouTube video

Collaboration

Image
Term collaboration means that multiple people will be working on the same project. Different people have different strengths. It is important to have good communication in project where multiple people work together to ensure that two people are not working on the same task and nothing is omitted. YouTube video

Visualizing the data

Image
Visualizing the data using charts is a good way to represent the data to a human. A computer is good of dealing with raw data, but representing such data to a human may be overwhelming. In order to make it more digestible for a person, charts can be used. There are a number of charts available. The type of chart that is suitable in a specific case will depend on the data that is available. YouTube video

An observation

Image
An observation is collecting data about an event. Data that is collected via an observation needs to be sufficient and reliable.

Common ways to collect the data

Image
Two common ways to collect data is via conducting interviews or surveys.  Interviews provide a free form of the answers to provided questions. Such data is not easily consumed by computers. Surveys have a rating system associated with questions, or true and false choices. The data from surveys can easily be consumed by a computer. Surveys have a problem over interviews, that it is impossible to get a response from the user, that does not fit the given options.

A chart is a good representation of output data

Image
A good example of the output data that can easily be consumed is a chart. A chart will show low and high point, and a change over a specific change of one variable.

Input and output data

Image
Input data is the data that is entered into a computer, output data is the data that comes out of a computer or final result, after the processing of the input data is done. For example for a self driving car the input can be a presence of obstacles, the output will be decision if it is safe to drive or not.

Data vs. information

Image
Data is a set of numbers, that don't have a particular meaning, information is making sense of that data. For example 20-25 feet is the example data, but if the same is tied to height of the building this data becomes the information. For example, if someone says that the average height of a two story building is 20-25 feet, it is already the information.

It is important to keep in mind what users want when developing a program

​It is important to keep in mind what users actually want when developing a program. There a couple of term that can describe a program. First term is usability. Usability is a description of how well that code is useable by other people. Accessibility defines what is needed to use that code.

Readme file

​Readme file describes of how a program can be used, and describes it’s program functionality.

Comments in code

​Comments in code adds clarity to another developer to learn about intentions of specific piece of code. It is a good habit to include comments as part of the code. Comments are skipped during code execution and not executed.

Test cases

​Test cases verify details of a program functionality. A program without test cases is a poor quality program. A developer needs not only focus on developing any software, but needs to focus on developing good quality software. Test cases may have different percentages of coverage, a developer needs to strive for 100% of coverage. If modules are being used, then there no reason to write test cases for the module itself. I hope people who developed that module did good testing before releasing that module. However, it is needed to write test cases for invocation of that module.

Use cases

Use cases defines goals for the program.

Common 5 step process used in software engineering

​It is possible to point out a common 5 steps process that can be applied in software engineering: 1. Identifying a problem  An example of it, is what is the shortest way between two locations. 2. Plan. How this problem will be resolved. 3. Build. Implantation of the plan, 4. Testing. Testing is a process of finding issues with the solution, and understanding if it leads to correct results. 5. Improving the solution. Improvement can be done via finding a more optimal way of achieving the same result.

Engineering

​Engineering is a process of studying and designing solutions for specific case. Computer engineering is a process of study of computer technology. Software engineering is process of applying knowledge and data retrieved from computer engineering.

Making sense out of the raw data

Image
​Since a person can not deal well with the raw data, computers can be used to transform raw data into to the information that a person can easily consume. For example a raw data can be transformed to a chart. A chart can be easily be understood by a person than the raw data. A chart is easier to understand by a person then to look through a lot of numbers. YouTube video

Common data encoding formats

Image
​Two of the common data encoding formats are binary and hexadecimal. Binary format are the numbers 0 and 1. In computer terms 0 means absence of a signal and 1 means presence of it. 0s and 1s can be grouped together to form a hexadecimal number. Hexadecimal number is another word for word sixteen. Numbers 11 through 15 are represented with letters from A through F. Count in a computer starts with 0. YouTube video

Decoding data

Image
​Decoding data is the process that is opposite to encoding data. If encoding data is a process of transforming information to the data that is easily can be be processed by a computer, then decoding the data, means taking that data and presenting it to a person. For example a computer will store a picture in a binary format, however for a person to make meaning out if it, this picture needs to be presented to such a person as a drawing and not as a set of numbers. YouTube video

Encoding data

Image
​Encoding data in a computer means to transfer the information that is easily can be understandable by a human to be understandable by a computer. For example when a person looks at the picture it makes sense for such a person, however a picture will not mean anything to a computer, that picture needs to be translated into format that a computer can take. Computer will take binary data, therefore that picture that we use to be understandable by a computer needs to be translated into binary format. YouTube video