This course is an introduction to fundamental programming concepts by way of the Python programming language. Python is a high-level interpreted language that has many benefits, including easy-to-read and easy-to-write syntax and powerful libraries that provide additional functionality. Python is a great programming language for beginners; it is also used extensively for practical applications in engineering and data science. This course is intended for people with no or very little prior programming experience. It covers a range of topics, such as data types, control flow, functions, file operations, and object-oriented programming. When you finish this course, you will be able to create Python programs for a variety of applications.
Unit - I will introduce you to the Python programming language and cover how to use a platform-independent web-based programming environment to begin writing basic Python scripts. We will introduce basic Python data types: integer, float, Boolean. Using the variable types, this unit will allow us to begin computing using arithmetic, relational, and logical operators. We will also introduce operator precedence and discuss what happens when several operators are applied within a single instruction and how to output data to the screen.
Unit - II covers "program flow control", which is necessary for programs to make decisions based upon a set of logical conditions. Your knowledge of relational and logical operators will be pivotal for applying a new set of Python commands that will enable you to control your program's flow. Most of the programming concepts presented so far can be found in any programming language. In this unit, we begin studying how data is structured within Python so we can program efficiently. Specifically, you will be introduced to lists and also immersed more deeply in the subject of tuples.
Unit -III introduces two more ways of structuring data that must be mastered: sets and dictionaries. Furthermore, the use iterators and generators to create streams of data is introduced. In this unit, we take another step to improve upon our program organization skills by introducing functions. When a given task is performed many times throughout a program, it is usually wrapped within a function so that it can be used or "called" whenever needed. This notion of creating a specific function or "procedure" to achieve a given task is part of a programming methodology known as "procedural programming". We will also briefly contrast this approach with the use of methods that are used in "object-oriented programming". We will discuss these in greater detail in Unit IV.
Unit – IV will introduce data structure strings and its methods. Regular expressions are a syntax framework for performing more general pattern searches that allow for a measure of pattern variability. This unit will introduce you to the re module and its regular expression syntax to gain expertise with string pattern searches. We are now ready to transition into object-oriented programming, which organizes code in the form of what are referred to as classes. In this unit, you will learn how to design your own classes, create or "instantiate" objects from a given class, and write programs that apply your class designs.
Unit – V is all well and good that data can be created within a program via variable assignments and user input. However, we must also be able to deal with data stored in files. In this unit, we will introduce methods for reading data from and writing data to a file/ directory. Any programmer should be able to identify the source of potential errors and implement code to handle those errors. This unit introduces the syntax necessary for achieving this goal. In this unit, you will be introduced to parallel programming via multithreading.
Throughout the course, hands-on coding exercises using commonly used data structures, writing custom functions, and reading and writing to files are provided. This course will help the learners attain a fair knowledge about the python programming and solve the problems by applying acquired skills.