PYTHON SELF-STUDY FOR BEGINNERS
Tags: python, github, algorithms, beginners
Published: 2022-04-22 13:44:37


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy1yfeyyt1qfzh9hpiyb.png)

```python
print("Hello world)
```



This is a guide into the world of software development. It is meant for anyone who is interested in learning about software development using Python programming language. You can choose to read specific chapters (for experienced developers) or go through the whole course from beginning to end. 

## 1. Introduction to Computer Science
- [X] [What is Computer Science](http://interactivepython.org/courselib/static/pythonds/Introduction/WhatIsComputerScience.html)
- [ ] [Key Computer Science concepts explained](http://carlcheo.com/compsci)

## 2. Introduction to Programming with Python
- [ ] [What is Computer Programming?](http://interactivepython.org/courselib/static/pythonds/Introduction/WhatIsProgramming.html)
- [ ] [Computer Programming Overview](http://www.tutorialspoint.com/computer_programming/computer_programming_overview.htm)
- [ ] [Introduction to the basics](http://www.tutorialspoint.com/computer_programming/computer_programming_basics.htm)
- [ ] [Computer programming environments](http://www.tutorialspoint.com/computer_programming/computer_programming_environment.htm)
- [ ] [Complete this CodeCademy course](https://www.codecademy.com/learn/learn-python-3)


## 3. Object Oriented Programming(OOP)
- [ ] [What is OOP?](http://teknadesigns.com/what-is-object-oriented-programming/)
- [ ] [Introduction to Python Objects](https://www.programiz.com/python-programming/object-oriented-programming)
- [ ] [Python Classes](https://realpython.com/python3-object-oriented-programming/)
- [ ] [Inhertance in Python](https://www.digitalocean.com/community/tutorials/understanding-class-inheritance-in-python-3)

## 4. Data Structures
- [ ] [Introduction to Data Structures](https://towardsdatascience.com/data-structures-algorithms-in-python-68c8dbb19c90)
- [ ] [Importance of Data Structures](https://runestone.academy/runestone/books/published/pythonds/Introduction/WhyStudyDataStructuresandAbstractDataTypes.html)
- [ ] [Basic Data Structures & Algorithms](https://www.studytonight.com/data-structures/introduction-to-data-structures)
- [ ] [Data Types in Python](https://realpython.com/python-data-types/)
- [ ] [Data Structures in Python](https://www.edureka.co/blog/data-structures-and-algorithms-in-python/)


## 5. Algorithms
- [ ] [A beginners guide to algorithmic thinking](https://learntocodewith.me/posts/algorithmic-thinking/)
- [ ] [Basic algorithms in Python](https://www.tutorialspoint.com/python_data_structure/python_algorithm_design.htm)
- [ ] [Importance of algorithms](https://www.programiz.com/dsa/why-algorithms)
- [ ] [Analysis of algorithms](https://runestone.academy/runestone/books/published/pythonds/AlgorithmAnalysis/WhatIsAlgorithmAnalysis.html)


## 6. Recursion
- [ ] [Introduction to recursion](https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Recursion%20Part%20One)
- [ ] [Multiple related decisions](https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Recursion%20Part%20Two)
- [ ] [Recursive functions](https://www.programiz.com/python-programming/recursion)
- [ ] [Understanding recursion in Python](https://realpython.com/python-recursion/)
- [ ] [Iteration vs recursion](http://www2.hawaii.edu/~tp_200/lectureNotes/recursion.htm)


## 7. Sorting & Searching
- [ ] [Searching & Sorting](https://codeburst.io/algorithms-i-searching-and-sorting-algorithms-56497dbaef20)
- [ ] [Sorting algorithm in Python](https://stackabuse.com/sorting-algorithms-in-python/)


## 8. Software Engineering
- [ ] [Introduction](https://www.educba.com/software-development/software-development-tutorials/software-engineering-tutorial/)
- [ ] [A day in the life of a software developer](https://codeinstitute.net/blog/a-day-in-the-life-of-a-software-developer/)
- [ ] [Software development lifecycle](https://www.tutorialspoint.com/sdlc/sdlc_overview.htm)
- [ ] [Software development methodologies](https://codebots.com/library/way-of-working/what-is-the-best-software-development-methodology)


## 9. Version Control 
- [ ] [Introduction to version control](http://guides.beanstalkapp.com/version-control/intro-to-version-control.html)
- [ ] [Git and Version Control](https://www.freecodecamp.org/news/learn-git-and-version-control-in-an-hour/)
- [ ] [Version control with Github](https://launchschool.com/books/git/read/github)
- [ ] [Version control best practices and conventions](https://deepsource.io/blog/git-branch-naming-conventions/)


## 10. Remote Work 
- [ ] [What is remote work?](https://www.remoteyear.com/blog/what-is-remote-work)
- [ ] [Tools for remote work](https://x-team.com/blog/remote-work-tools-software-developers/)
- [ ] [How to be an effective remote developer](https://www.codementor.io/learn-programming/8-tips-to-become-an-effective-remote-developer)