Beyond Basic Programming - Intermediate Python

So you have taken an initial programming course or have learned the basics on your own. However, when you look at other people's code, or listen to their discussions, you see many concepts that seem a...

  • All levels
  • English

Course Description

So you have taken an initial programming course or have learned the basics on your own. However, when you look at other people's code, or listen to their discussions, you see many concepts that seem alien -- stuff that you don't understand. So, the question is: how do you go from a beginning level programmer to the expert level? How do you become a guru? This course answers this question. In it...

So you have taken an initial programming course or have learned the basics on your own. However, when you look at other people's code, or listen to their discussions, you see many concepts that seem alien -- stuff that you don't understand. So, the question is: how do you go from a beginning level programmer to the expert level? How do you become a guru? This course answers this question. In it, we will be building on top of your existing basic understandingof the Python language (and programming in general). We will cover concepts that will take you to the next level of programming expertise. These will include language constructs that are typically not covered in a beginner level course. Concepts like generators, decorators, callbacks, higher order functions, context managers and others.

What you’ll learn
  • Cross-cutting Tools (logging and testing)
  • Caveats in usage of lists
  • Intermediate Python concepts such as decorators, generators, context managers
  • Parallel programming, multithreading, synchronization, locks
  • Asynchronous programming (asyncio)
  • Plotting data

Covering Topics

1
Section 1 : Introduction

2
Section 2 : Cross-cutting Tools

3
Section 3 : Intermediate Programming Concepts

4
Section 4 : Time Saving Features

5
Section 5 : Parallel and Asynchronous Programming

6
Section 6 : Functional Programming

7
Section 7 : Applications

Curriculum

      Section 1 : Introduction
    1
    Environment Setup and Jupyter Notebook
      Section 2 : Cross-cutting Tools
    2
    Logging (and how to debug code in realtime) Preview
    3
    Testing and Test Driven Development (TDD)
    4
    Testing Examples
      Section 3 : Intermediate Programming Concepts
    5
    List Mutability and Deep Copying
    6
    Generators and Memory Efficiency
    7
    Generators Case Study Preview
    8
    Higher-Order Functions
    9
    Callbacks
      Section 4 : Time Saving Features
    10
    Decorators
    11
    Decorator Case Study - Memoize
    12
    Context Managers
    13
    More on Context Managers
      Section 5 : Parallel and Asynchronous Programming
    14
    Multithreading - Multiple Tasks Simultaneously
    15
    Synchronization Issues and Locks
    16
    Asynchronous Programming (Asyncio, Async/Await)
      Section 6 : Functional Programming
    17
    Basics of Functional Programming, Map
    18
    Filter and Reduce, Rationale for Functional Programming
      Section 7 : Applications
    19
    Plotting Intro
    20
    Plotting Case Study
    21
    Patern Matching with Regular Expressions
    22
    Modular RegExp (and How Not to Have Headaches with RegExp)
    23
    Extracting Matched Strings with RegExp

Frequently Asked Questions

It is an online tutorial that covers a specific part of a topic in several sections. An Expert teaches the students with theoretical knowledge as well as with practical examples which makes it easy for students to understand.

A Course helps the user understand a specific part of a concept. While a path and E-Degrees are broader aspects and help the user understand more than just a small area of the concept.

A Course will help you understand any particular topic. For instance, if you are a beginner and want to learn about the basics of any topic in a fluent manner within a short period of time, a Course would be best for you to choose.

We have an inbuilt question-answer system to help you with your queries. Our support staff will be answering all your questions regarding the content of the Course.