~Anish Sachdeva
Workshop Timings
Workshop Dates: 2nd - 6th February 2021Workshop Timings: 5:00 PM - 8:00 PM (17 - 20)
Workshop Timing (5th February 2021): 6:00 PM - 9:00 PM (18 - 21)
Workshop Timings (Saturday): 11:00 AM - 2:00 PM (11 - 14)
π½ Class Video Recordings | π Course Flow | β MS Exam Sample 1 | β MS Exam Sample 2 | π Brochure
- Introduction
- Environment Setup
- Day 1
- Day 2
- Day 3
- Day 4
- Day 5
- Further Reading
- Python Books
- Machine Learning Books
- Future Path??
Solutions to all sample problems on HackerRank under the Python domain can be looked up here.
Programming is a very hands process and is both an art as well as a science. We are engineers and are required to create efficient solutions but at the same time our programs should be highly readable and flexible and all the other snappy terms which makes it an art as well.
To become proficient in this art, there are many resources, and books and tutorials. Each has it's merit and making the first step in any direction is commendable, but the cardinal factor at the end of the day will be you sitting down (or standing) and writing code. No book or resource can substitute that.
So, what are you waiting for ππ - try as many questions (below or otherwise) as you can.... π±βπ€
Happy Coding π±βπ»
You can stalk your instructor on LinkedIn, GitHub & Instagram.
- Hello World
- Comments
- Strings
- Data Types
- Variable Naming Rules
- Variable Naming Conventions
- Taking User Input
- Taking Integer Input
- Arithmetic Operators
- Boolean Operators
- If Else Block
- Determining whether number is Odd or Even
- Ternary Expression
- Hackerrank If Else
- Operator Shorthand
- While Loop
- Nested While Loops
- Sum N Natural Numbers (While Loop)
- Sum Squares
- Factorial (While Loop)
- Range Object
- For Loops
- Sum N Natural Numbers (For Loop)
- Sum Squares (For Loop)
- Factorial (For Loop)
- Control Flow Statements
- Functions
- Sum N Natural Numbers
- Sum Squares
- Combinatorics
- Lists
- Iterating Over Lists
- Complex Lists
- Taking List Input
- The
map
Operator - Reverse of a List
- List Comprehension
- Dictionary
- Complex Dictionary
- Frequency Counter
- Iterating over DDictionary
- The
math
Package - The
random
Package - The
numpy
Package - NumPy Tutorial (Jupyter Notebook)
- Matplotlib Tutorial (Jupyter Notebook)
- Drawing Multiple Plots
- Introduction to Pandas Tutorial (Jupyter Notebook)
- Working With The Stack Overflow Data Using Pandas (Jupyter Notebook)
- Plotting Pandas Data Using Matplotlib (Jupyter Notebook)
- Vectorization (Jupyter Notebook)
- Linear Regression (Jupyter Notebook)
- Multi Linear Regression (Jupyter Notebook)
- Logistic Regression (Jupyter Notebook)
- Numpy Basics For Deep Learning (Jupyter Notebook)
- Logistic Regression As A Neural Network (Jupyter Notebook)
- Planar Classification With 1 Hidden Layer (Jupyter Notebook)
- Building Neural Network Step By Step (Jupyter Notebook)
- Deep Neural Network Application (Building a Neural Network Classifier) (Jupyter Notebook)
- Decision Trees (Jupyter Notebook)
- Kaggle Titanic Solution (Jupyter Notebook)
- w3 School Python
- HackerRank python Domain
- Why is it called Python?
- Projects Created on Python
- C++ vs. Java vs. Python Language Speed Test (Informal)
- Math Module
- Stack Overflow Survey 2020
- Python Example Projects and Project Based Tutorials
- Django: Web Development on Python
- Falcon: Minimalist Web Framework
Now that you have learnt the basics of Python and also built an amazing project that showcases your skills, how to move ahead and learn more? What else could you work on? Here are a few suggestions:
Data Structures and Algorithms is an immensely important topic required for Software development and is used by organizations for all sizes as a tool for employee hiring and recruitment. To get better at this I recommend that you practice questions in the Data Structures and Algorithms domain on HackerRank and you can have a look at solutions to many of those problems in the solution repositories given below.
Problem Domain | Solution Repository |
---|---|
Data Structures | Solutions |
Algorithms | Solutions |
You can views solutions to problems in Python (or any of your preferred programming language) and you are most welcome to contribute to the repository solutions to unsolved problems or solutions in more languages (aka Python).
You can also try questions on LeetCode and have a look at the solutions repository and are most welcome to contribute just as above π
Before starting of your journey in Data Structures or web development or even machine learning another good first step can be just developing your core Python skills further so that you are familiar with all the different constructs that the language has to offer. That can be done on HackerRank in the Python Domain and you can have a look at solutions to all the problems here.
Python is a very versatile programming language and is being used for all things from biology to robotics, computer vision and even serve side rendered web applications and api's. As you are now proficient with the programming language you can start learning a web development framework like Django or Falcon.
Django is a have all web development framework and you can even build very large, highly modern cluster based web sites that can be deployed to scale. You can use it just to create a server-side API with a separate client facing application or a MVC (Model view controller) based application that has server side rendering.
Falcon is a relatively light weight web development platform but it is blazing fast β‘ and that serves it's own purpose. It can be used to create a super fast very minimalistic server side API's and can aso be used to create server side job runners like mail sending and background processing.
You could always use multiple server side frameworks which will give you the perfect opportunity to use buzz words like docker, kubernetes π³, clusters, swarms and add all these buzz words to your resume π.
Speaking of buzz words... Machine Learning has enjoyed fame of meteoric proportions and there are plenty of resources to get started with ML and Python has somehow become the defacto language used in Machine Learning / Deep Learning applications and is being sed by Engineers & scientists of many different domains that have written numerous libraries serving various purposes all around the globe π which is good for us βΊ.
Some popular libraries are:
To get started with Machine Learning I recommend the ubiquitous Machine Learning by Stanford course on Coursera by Andrew Ng.
This may be old but it's essence and relevance haven't dwindled at all. Solutions to all problems with well written code can be found here.
This is not very correlated to Java, but Git is a technology being used by all organizations big and small that wish to maintain their code over teams of varied sizes and manage projects. Even this repository which you are currently reading in is being maintained by git & has been deployed on github.
Being proficient with git and version control will help you manage all your projects, be in any language Java, Python, C++ and even non-programming projects very efficiently and you will be able to easily maintain project state over all your devices.
There is an excellent Version Control with Git course on Coursera by Atlassian or you can even try this Git Introductory 30min Video on YouTube to learn the basics of git.
So, what are you waiting for git started π (bad pun!)