This course covers all basic knowledge needed for programming in python. The course designed based on the assumption that students want to work in the software industry, but it's also useful for academic purposes.


All available resources for this course will be added to the following table.

1October 19, 2017Python Philosophy, What is Python, Python 2.x vs Python 3.x, Python Installation and Setup, Why Python, Python Shell, Python Basic Syntax, Variables, Basic Data Types, Operators, Type Conversion, Truth Value Testing, Sequences, Sequence Operators, List Comprehension, String Formatting, Tuples, PyCharm Integrated Development Environment py_basics_v2.html---
2October 26, 2017Control Structures, Loops, Sets, Dictionaries, Functions Basicspy_dtypes.html1, 2, 31, 2, 31, 2, 3
3November 2, 2017Problem Solving, Deep dive to Function, Modules Concepts, time Module, random Module, math Module, dir() Function, Packages in pythonpy_modules.html-1, 2, 31-1, 1-2, 2, 3
4November 16, 2017Problem Solving, Working with Python Package Manager and VirtualEnv, Writing a real-world program using some well-known high-level python packagespy_libs.html1--
5November 23, 2017Version Control Systemsgit-version-control-system---
6December 21, 2017Object Oriented Concepts, Class and Object in Pythonpy_oop.html---


Here you can find a list of awesome beginners-friendly projects implemented in Python.

#Project NameDescriptionStarsOpen Issues
1catapultCatapult home for performance tools.654List of Open Issues
2Python BabelThe Python Internationalization Library.640List of Open Issues
3KintoA lightweight JSON storage service with synchronization and sharing abilities.3221List of Open Issues
4BorgBackupDeduplicating backup program with compression and authenticated encryption.2688List of Open Issues
5pylearn2A Machine Learning library based on Theano.2446List of Open Issues
6scrapyA fast high-level web crawling & scraping framework for Python.22272List of Open Issues
7mitmproxyAn interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers8282List of Open Issues
8MailpileA free & open modern, fast email client with user-friendly encryption and privacy features7043List of Open Issues
9coalaA unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.1435List of Open Issues
10jarvisA personal assistant for Linux based on Command line Interface.742List of Open Issues
11qutebrowserA keyboard-driven, vim-like browser based on PyQt5.2276List of Open Issues
12Pybee/vocA transpiler that converts Python code into Java bytecode.512List of Open Issues
13Pybee/bataviaA Javascript implementation of the Python virtual machine.705List of Open Issues
14JARVIS-on-MessengerA community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks of Open Issues
15PytestThe pytest framework makes it easy to write small tests, yet scales to support complex functional testing.1627List of Open Issues
16GratipayHelping companies and others pay for open source.1088List of Open Issues
17FabricPythonic remote execution and deployment.8949List of Open Issues