- Notifications
You must be signed in to change notification settings - Fork0
Python 🐍 Workshop on Language Basics, Constructs and introduction in Data Structures & Algorithms 👨💻 @ What After College 🎓.
License
anishLearnsToCode/python-workshop-8
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Workshop Timings
Workshop Dates: 2nd - 3d January 2021Workshop Timings: 9:00 AM - 2:00 PM (9 - 14)
Break Timings: 11:00 AM - 12:00 AM (11 - 12)
📺Workshop Link (Zoom) |📽Class Recordings |🌊Course Flow
- Introduction
- Getting Started with Python
- Day 1
- Day 2
- Capstone Project
- Further Reading
- Python Books
- Future Path??
Solutions to all sample problems on HackerRank under thePython domain can belooked uphere.
Programming is a very hands process and is both an art as well as a science. We areengineers and are required to create efficient solutions but at the same time our programs should behighly 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 meritand making the first step in any direction is commendable, but the cardinal factor at the end of the daywill 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 onLinkedIn,GitHub &Instagram.
We need to install and configure a few things before we can write and run any Python code. To write Python code weneed the Python interpreter on our machine.
To write python programs on your machine we need the Python interpreter. There are 2 popular versions of Pythonout there right now Python 2 and Python 3. There are breaking changes between these versions and this course will betaught in Version 3. So as long as you have python version 3.{something}.{something} you're good to go 🙂
Download python fromthis website 🌐.
To check that python has been correctly installed on your machine run the following command on your terminal:
python --version
It should have an output akin to:
Python 3.8.3
Once that Python has been successfully installed, we need to install a code editor or IDE so that we can writeprograms and run them. I suggest usingVS Code if you prefer a Code editor over an IDE (or if you don't know thedifference between Code editor and IDE 😉). using a code editor will aso be less intensive on computing resources.
I personally prefer theJetBrains PyCharm, but warning ⚠ it is a heavy software and might not run properly onall machines (especially laptops that are constrained for resources).
- Download the setup fromhere.
- Run the setup which is pretty straight forward. Just click next like 10 times and voila!
- You can either install the educational edition (free) fromhere.
- Or you can create an account on JetBrains if you have a university email address and then install theJetBrains Toolbox.
- You can easily manage JetBrains IDE's and projects using the ToolBox app. From the ToolBox app you can now installeither IntelliJ PyCharm Edu Edition or Ultimate Edition.
This is an optional step of your getting started guide and can be skipped. Although installing git and using itin your projects is highly recommended. For a learning path to learn git have a look at theFuture Path + Scope section.
Install git from thegit-scm website. Run the setup and click next like 10 timesand use the recommended settings for installation.
There will be a section when it will ask the standard text editor and gie you an option betweenVim andnano.If you are not familiar withVim then opt fornano.
IMPORTANT Opt fornano if not familiar withVim.
To check your installation of git check that git bash has been intalled and run the following command on yourterminal.
git --version
The output should be akin to
git version 2.24.1.windows.2
Open your text editor/IDE and create a new filehello_world.py and in that file copy paste the following codesnippet.
print('hello world !')
To run the code navigate to file in terminal and run the following commands.
python hello_world.py>>> hello world!- Print Function
- Strings
- Variables
- Naming Convention
- Comments
- Taking User Input
- Taking Integer Input
- Arithmetic Operators
- Boolean Operators
- If Statements
- Odd Even
- Ternary Operator
- Hackerrank If Else
- While Loop
- Basic Loops
- Operator Shorthand
- Sum N Natural Numbers (While Loop)
- Sum of Squares of Natural Numbers (While Loop)
- Factorial Using While Loop
- Range Object
- For Loop
- Sum N Natural Numbers (For Loop)
- Sum Squares of Natural Numbers (For Loop)
- Factorial Using For Loop
- Loop Control Flow Statements
- Combinatorics Functions (Factorial, Permutation, Combination)
- Calculator Program (Importing Functions)
- Lists
- Complex Lists
- Iterating Over Lists
- List Comprehension
- Taking List Input
- Map Operator
- Tuples
- Dictionary
- Dictionary Iterate
- Frequency Counter
- Inbuilt Functions
- Math Package
- Random Package
| Question | Solution Link |
|---|---|
| Write a Function | Solution |
| Print Function | Solution |
| collections.Counter() | Solution |
| DefaultDict Tutorial | Solution |
| Collections.namedTuple() | Solution |
| Collections.orderedDict() | Solution |
Have Fun 😀🎮🕹!
- 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 showcasesyour skills, how to move ahead and learn more? What else could you work on? Here are afew suggestions:
Data Structures and Algorithms is an immensely important topic required for Software development andis used by organizations for all sizes as a tool for employee hiring and recruitment. To get betterat this I recommend that you practice questions in theData Structures andAlgorithmsdomain on HackerRank and you can have a look at solutions to many of those problems in thesolution 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 problemsor solutions in more languages (aka Python).
You can also try questions onLeet Code and have a look at thesolutions repositoryand are most welcome to contribute just as above 😀
Before starting of your journey in Data Structures orweb development or evenmachine learninganother good first step can be just developing your core Python skills further so that you arefamiliar with all the different constructs that the language has to offer. That can be done onHackerRank in thePython Domainand you can have a look at solutions to all the problemshere.
Python is a very versatile programming language and is being used for all things from biologyto 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 webdevelopment framework likeDjango orFalcon.
Django is a have all web development framework and you can even build very large, highly moderncluster based web sites that can be deployed to scale. You can use it just to create a server-sideAPI with a separate client facing application or a MVC (Model view controller) based applicationthat has server side rendering.
Falcon is a relatively light weight web development platform but it is blazing fast ⚡ and that servesit's own purpose. It can be used to create a super fast very minimalistic server side API'sand 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 opportunityto use buzz words like docker, kubernetes 🛳, clusters, swarms and add all these buzz words toyour resume 😉.
Speaking of buzz words... Machine Learning has enjoyed fame of meteoric proportions and there areplenty of resources to get started with ML and Python has somehow become the defacto languageused in Machine Learning / Deep Learning applications and is being sed by Engineers &scientists of many different domains that have written numerous libraries serving various purposesall around the globe 🌎 which is good for us ☺.
Some popular libraries are:
To get started with Machine Learning I recommend the ubiquitousMachine Learning by Stanfordcourse onCoursera by Andrew Ng.
This may be old but it's essence and relevance haven't dwindled at all. Solutions to all problemswith well written code can be foundhere.
This is not very correlated to Java, but Git is a technology being used by all organizations big and smallthat wish to maintain their code over teams of varied sizes and manage projects. Even this repository which youare currently reading in is being maintained bygit &has been deployed ongithub.
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 projectstate over all your devices.
There is an excellentVersion Control with Gitcourse on Coursera by Atlassian or you can even try thisGit Introductory 30min Videoon YouTube to learn the basics of git.
So, what are you waiting for git started 😁 (bad pun!)
About
Python 🐍 Workshop on Language Basics, Constructs and introduction in Data Structures & Algorithms 👨💻 @ What After College 🎓.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
