no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


en:courseware:python_programming:sbu:180208 [2022/07/17 01:19] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +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.
  
 +====== Course Calendar & Materials ======
 +
 +All available resources for this course will be added to the following table.
 +
 +^**Session**^**Date**^**Subjects**^**Slides**^**Codes**^**Homework**^**Solutions**^
 +|1|February 8, 2018|Python 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 |{{ :courseware:python_programming:resources:slides:python_basics:py_basics_v2.html |}}|-|[[courseware/python_programming/resources/hw/1|1]], [[courseware/python_programming/resources/hw/2|2]], [[courseware/python_programming/resources/hw/3|3]]|-|
 +|2|February 15, 2018|Control Structures, Loops, Sets, Dictionaries, Functions|{{ :courseware:python_programming:resources:slides:python_data_types:py_dtypes.html |}}|[[courseware/python_programming/resources/code/6|1]], [[courseware/python_programming/resources/code/7|2]],  [[courseware/python_programming/resources/code/8|3]], [[courseware/python_programming/resources/code/9|4]]|[[courseware/python_programming/resources/hw/4|1]], [[courseware/python_programming/resources/hw/5|2]],  [[courseware/python_programming/resources/hw/6|3]]|[[courseware/python_programming/resources/answer/4|1]], [[courseware/python_programming/resources/answer/5|2]],  [[courseware/python_programming/resources/answer/6|3]]|
 +|3|February 22, 2018|Problem Solving, Modules Concepts, time Module, random Module, math Module, dir() Function, Packages in python, Working with Python Package Manager and VirtualEnv|{{ :courseware:python_programming:resources:slides:py_modules.html |}}, {{ :courseware:python_programming:resources:slides:py_libs.html |}}|-|[[courseware/python_programming/resources/hw/7|0]], [[courseware/python_programming/resources/hw/8|1]], [[courseware/python_programming/resources/hw/9|2]], [[courseware/python_programming/resources/hw/10|3]]|[[courseware/python_programming/resources/answer/8-1|1-1]], [[courseware/python_programming/resources/answer/8-2|1-2]], [[courseware/python_programming/resources/answer/9|2]], [[courseware/python_programming/resources/answer/10|3]]|
 +|4|March 1, 2018|Problem Solving, Version Control Systems|[[https://www.slideshare.net/SMMasoudSadrnezhaad/git-version-control-system-61365105|git-version-control-system]]|-|-|-|
 +|5|March 8, 2018|Writing a real-world program using some well-known high-level python packages, Regular Expressions|{{ :courseware:python_programming:resources:slides:python_regex:py_regex.html |}}|[[https://github.com/smmsadrnezh/hotels_price_collector|1]]|[[courseware/python_programming/resources/hw/11|1]], [[courseware/python_programming/resources/hw/12|2]], [[courseware/python_programming/resources/hw/13|3]]|[[courseware/python_programming/resources/answer/11|1]], [[courseware/python_programming/resources/answer/12-1|2]], [[courseware/python_programming/resources/answer/13|3]]|
 +|6|March 15, 2018|Object Oriented Concepts,  Class and Object in Python, Instance Objects, Method Objects, Class and Instance Variables, Random Remarks, Inheritance, Multiple Inheritance, Odds and Ends, Special Methods, Underscore in Python|{{ :courseware:python_programming:resources:slides:py_oop.html |}}|-|-|-|
 +|7|April 5, 2018|Exceptions Handling, Some Basic Terms in Software Engineering, Cohesion and Coupling Levels|{{ :courseware:python_programming:resources:slides:py_errors.html |}}, {{ :courseware:selected_topics_in_software_engineering:resources:slides:cohesion_coupling:coh_coup.html |}}|-|-|-|
 +
 +====== Project ======
 +
 +Here you can find a list of awesome beginners-friendly projects implemented in Python.
 +
 +^**#**^**Project Name**^**Description**^**Stars**^**Open Issues**^
 +|1|catapult|Catapult home for performance tools.|654|[[https://github.com/catapult-project/catapult/labels/Good%20First%20Bug|List of Open Issues]]|
 +|2|Python Babel|The Python Internationalization Library.|640|[[https://github.com/python-babel/babel/labels/difficulty%2Flow|List of Open Issues]]|
 +|3|Kinto|A lightweight JSON storage service with synchronization and sharing abilities.|3221|[[https://github.com/Kinto/kinto/labels/easy-pick|List of Open Issues]]|
 +|4|BorgBackup|Deduplicating backup program with compression and authenticated encryption.|2688|[[https://github.com/borgbackup/borg/labels/easy|List of Open Issues]]|
 +|5|pylearn2|A Machine Learning library based on Theano.|2446|[[https://github.com/lisa-lab/pylearn2/labels/For%20beginners|List of Open Issues]]|
 +|6|scrapy|A fast high-level web crawling & scraping framework for Python.|22272|[[https://github.com/scrapy/scrapy/labels/easy|List of Open Issues]]|
 +|7|mitmproxy|An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers|8282|[[https://github.com/mitmproxy/mitmproxy/labels/good-first-contribution|List of Open Issues]]|
 +|8|Mailpile|A free & open modern, fast email client with user-friendly encryption and privacy features|7043|[[https://github.com/mailpile/Mailpile/labels/Low%20Hanging%20Fruit|List of Open Issues]]|
 +|9|coala|A unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.|1435|[[https://github.com/coala/coala/issues?q=is%3Aopen+is%3Aissue+label%3Adifficulty%2Fnewcomer|List of Open Issues]]|
 +|10|jarvis|A personal assistant for Linux based on Command line Interface.|742|[[https://github.com/sukeesh/Jarvis/issues?q=is%3Aopen+is%3Aissue+label%3Adifficulty%2Flow|List of Open Issues]]|
 +|11|qutebrowser|A keyboard-driven, vim-like browser based on PyQt5.|2276|[[https://github.com/qutebrowser/qutebrowser/labels/easy|List of Open Issues]]|
 +|12|Pybee/voc|A transpiler that converts Python code into Java bytecode.|512|[[https://github.com/pybee/voc/labels/first-timers-only|List of Open Issues]]|
 +|13|Pybee/batavia|A Javascript implementation of the Python virtual machine.|705|[[https://github.com/pybee/batavia/labels/first-timers-only|List of Open Issues]]|
 +|14|JARVIS-on-Messenger|A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks http://m.me/J.A.R.V.I.S.on.Messenger|517|[[https://github.com/swapagarwal/JARVIS-on-Messenger/labels/Low-Hanging%20Fruit|List of Open Issues]]|
 +|15|Pytest|The pytest framework makes it easy to write small tests, yet scales to support complex functional testing.|1627|[[https://github.com/pytest-dev/pytest/labels/easy|List of Open Issues]]|
 +|16|Gratipay|Helping companies and others pay for open source.|1088|[[https://github.com/gratipay/gratipay.com/labels/Low-hanging%20Fruit|List of Open Issues]]|
 +|17|Fabric|Pythonic remote execution and deployment.|8949|[[https://github.com/fabric/fabric/labels/Low-hanging%20fruit|List of Open Issues]]|
 +
 +====== Additional Resources ======
 +
 +  * [[http://www.ict.ru.ac.za/Resources/cspw/thinkcspy3/thinkcspy3_latest|How to Think Like a Computer Scientist: Learning with Python 3]]
 +  * [[https://docs.python.org/3/tutorial/index.html|Official Python Tutorial]]
 +  * [[https://www.tutorialspoint.com/python3/index.htm|Tutorialspoint Python 3 Tutorial]]
 +
 +====== Useful Links ======
 +
 +  * [[http://pyschool.net|A web-based environment for teachers in Python classes]]
 +  * [[https://www.jetbrains.com/student/|Getting Jetrains Educational License]]
 +  * [[https://www.python.org/ftp/python/3.6.2/python-3.6.2.exe|Download Python 3.6.2 for Windows 32-bit]]
 +  * [[https://www.python.org/ftp/python/3.6.2/python-3.6.2-amd64.exe|Download Python 3.6.2 for Windows 64-bit]]
 +  * [[https://download-cf.jetbrains.com/python/pycharm-professional-2017.2.tar.gz|Pycharm 2017 for Linux]]
 +  * [[https://download-cf.jetbrains.com/python/pycharm-professional-2017.2.exe|Pycharm 2017 for Windows]]
 +  * [[https://download.jetbrains.com/python/pycharm-professional-2017.2.3.dmg|Pycharm 2017 for Mac]]
 +
 +
 +====== What's the next? ======
 +
 +  * Advanced Programming in Python
 +  * Use Python to build web applications with Django
 +  * Web Scraping in Python
 +  * Web Information Retrieval