Python Fundamentals and Programming Basics

Get started with Python programming including syntax, variables, control structures, and functions.

Python Fundamentals and Programming Basics showcase image
Track
Software Development
Level
Foundation
Language
English
Duration
30 hours
Learning Mode
Learn at ALC or at Home

Introduction

  • Gain a comprehensive understanding of Python, including its history, features, and applications in diverse industries.
  • Develop proficiency in Python syntax, data types, and control flow structures for effective programming.
  • Master memory management techniques and optimization strategies to enhance code performance.
  • Learn to work with various data structures such as lists, tuples, sets, and dictionaries, and manipulate them efficiently.
  • Explore advanced concepts in Python programming, including functions, iterators, generators, and decorators.
  • Understand module, package, and library management to organize and reuse code effectively.
  • Acquire skills in file handling, including reading, writing, and manipulation of data, as well as working with date and time modules.
  • Compare Python with other programming languages to understand its strengths and weaknesses.
  • Familiarize yourself with common Python libraries and their applications in areas like mathematics, file handling, and data manipulation.
  • Develop practical coding skills through hands-on exercises and projects to solve real-world problems.

What you'll learn ?

  • By the end of the course, learners will be able to:
  • Demonstrate a thorough understanding of Python, including its history, features, and diverse applications across various industries.
  • Achieve proficiency in Python syntax, data types, and control flow structures, enabling the writing of efficient and effective Python code.
  • Implement memory management techniques and optimization strategies to improve code performance and resource utilization.
  • Work with various data structures such as lists, tuples, sets, and dictionaries, effectively manipulating them to solve programming problems.
  • Master advanced concepts in Python programming, including functions, iterators, generators, and decorators, to write sophisticated and efficient code.
  • Gain proficiency in module, package, and library management, enabling efficient organization and reuse of code in Python projects.
  • Possess skills for effective file handling, including reading, writing, and manipulation of data, as well as working with date and time modules.
  • Compare Python with other programming languages, understanding its strengths and weaknesses in relation to others.
  • Become familiar with common Python libraries and their applications in areas such as mathematics, file handling, and data manipulation, enhancing the ability to leverage existing resources.
  • Develop practical coding skills through hands-on exercises and projects, applying knowledge to solve real-world problems effectively.

Syllabus

Python Introduction
  • What is Python?
  • History of Python
  • Versions of Python
  • Features of Python
  • Limitations of Python
  • Scripting vs Programming Languages
  • Applications of Python
  • Python 2 vs Python 3
  • What is Python used for?
  • Flavours of Python
  • Python compared to other Languages
  • Python vs Java
  • How Python works?
  • What is PVM?
  • Compiler vs Interpreter
  • Compile Time vs Run Time
  • Future Scope and Career Opportunities
  • What is Memory Management?
  • Memory Management in other Languages
  • Memory vs Storage
  • Three Areas of Memory Management
  • Importance of Memory Management
  • Memory Management
  • Memory Management in Python
  • Allocator Domain
  • Allocation Domains in detail
  • Python Memory Manager
  • Default Python Implementation (C Python)
  • GIL (Global Interpreter Lock)
  • Python Memory Allocation
  • Garbage Collection
  • Object Eligibility for GC
  • Reference Counting in Python
  • Cyclical References
  • Generational Garbage Collection
  • C Python Memory Management
  • Reduce Space Complexity
  • Python Installation (Windows)
  • Adding Python to Env Variable
  • Checking Python Version
  • Verifying Pip Installation
  • IDE and IDLE Editors
  • Running Python via IDLE
  • IDE Installation
    • How to install Visual Studio?
    • Thonny Installation
  • Executing Python Program
  • Identifiers and Rules
  • Constants, Variables, Literals
  • Keywords
  • Comments
    • Python comments
    • Benefits of using comments
  • Syntax
  • Lines and Indentation
  • User Input
  • Data Types
    • Text, Numeric, Sequence, Mapping, Set, Boolean, Binary, None, Type Casting
  • Operators
    • Arithmetic, Assignment, Comparison, Logical, Identity, Membership, Bitwise
      • Precedence, Ternary
  • What are Control Flow Statements?
  • Decision Control Statements
    • Simple if, if-else, nested if, elif ladder
      • Short hand if/else, and/or usage
  • Transfer Statements
    • Break, Continue, Pass
  • Iterative Statements
    • For, While, Nested Loops
  • Pattern Programs
  • Data Types (brief)
  • String Access & Indexing
  • String Slicing
  • Mutable & Immutable
  • Math Ops on Strings (+, *)
  • String Comparison
  • Membership
  • Format Strings
  • Escape Characters
  • Removing Spaces
  • Finding Substring
  • Count Substring, len()
  • Replace Strings
  • Split & Join
  • Change Case
  • Start/End Check
  • Check Character Types
  • List Creation
  • Access Elements
  • Mutability
  • Traversal
  • List Functions
  • List Manipulation
    • append(), insert(), extend(), remove()
  • Ordering Elements
  • Aliasing & Cloning
  • Mathematical Ops
  • Comparison & Membership
  • Nested List
  • List Comprehension

Work-Centric Approach

The academic approach of the course focuses on ‘work-centric’ education. With this hands-on approach, derive knowledge from and while working to make it more wholesome, delightful and useful. The ultimate objective is to empower learners to also engage in socially useful and productive work. It aims at bringing learners closer to their rewarding careers as well as to the development of the community.

  • Step 1: Learners are given an overview of the course and its connection to life and work
  • Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
  • Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
  • Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
  • Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
  • Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
  • Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
  • Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
  • Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
  • Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
  • Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
  • Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!