I719 Fundamentals of Python: Difference between revisions
add lecture 3 |
Add more project notes |
||
Line 5: | Line 5: | ||
== Contact == | == Contact == | ||
My email is eroman@itcollege.ee | My email is [mailto:eroman@itcollege.ee eroman@itcollege.ee] | ||
= Frequently Asked Questions = | = Frequently Asked Questions = | ||
Line 32: | Line 32: | ||
You only need python 3 and an editor. | You only need python 3 and an editor. | ||
I recommend that you install an interactive python shell, like IPython[https://ipython.org/] or bpython[https://bpython-interpreter.org/] | I recommend that you install an interactive python shell, like IPython[https://ipython.org/ 1] or bpython[https://bpython-interpreter.org/ 2] | ||
= Grading = | = Grading = | ||
Line 42: | Line 42: | ||
* it can do something | * it can do something | ||
* it uses version control | * it uses version control | ||
** it has more than one commit | |||
** it has commit messages that are relevant to the commit | |||
* it has a relevant unit test | * it has a relevant unit test | ||
Line 50: | Line 52: | ||
* a command line tool that does something | * a command line tool that does something | ||
* a web application in python | * a web application in python | ||
** [http://flask.pocoo.org/ Flask] is simple and has good documentation for building a website | |||
** for a website that would require users to sign up and login, consider [https://www.djangoproject.com/ Django] | |||
* a web scraper | |||
* many websites have HTTP APIs that can give you data, you can make something that uses data from public APIs. | |||
=== If you want to do things with cryptography === | |||
* a cryptographic chat app | |||
* a password storage bank like KeePassX | |||
== Can I ...? == | |||
=== Can I use python 2? === | |||
Yes | |||
=== Can I use external libraries outside of the standard library? === | |||
Yes | |||
If you use external libraries, include a [https://pip.pypa.io/en/stable/user_guide/#requirements-files <code>requirements.txt</code>] or [https://docs.python.org/3/distutils/setupscript.html <code>setup.py</code>] which has a list of packages required by your project | |||
= Lecture Notes = | = Lecture Notes = |
Revision as of 14:13, 22 February 2017
About
This class is python for beginners, taugh Spring 2017
Contact
My email is eroman@itcollege.ee
Frequently Asked Questions
What should I know already
It would be good to know:
- How to use the unix command line
- GIT
What editor/IDE should I use?
Whatever you want! I recommend learning emacs or vim. If you do not know how to use any specific editor and do not want to learn one now, then use spyder for writing python.
What python version are we using?
I will teach using python 3
What books/resources do you recommend?
This page contains most of python's syntax: https://learnxinyminutes.com/docs/python3/
What software do I need to install?
You only need python 3 and an editor.
I recommend that you install an interactive python shell, like IPython1 or bpython2
Grading
There will be a test on the last day. It is pass/fail. You may do a project instead of the test. I recommend this, since it will be more fun and you will learn more.
Project Requirements
- it can do something
- it uses version control
- it has more than one commit
- it has commit messages that are relevant to the commit
- it has a relevant unit test
Project idea examples
- a game
- exploring a technology like image recognition
- a command line tool that does something
- a web application in python
- a web scraper
- many websites have HTTP APIs that can give you data, you can make something that uses data from public APIs.
If you want to do things with cryptography
- a cryptographic chat app
- a password storage bank like KeePassX
Can I ...?
Can I use python 2?
Yes
Can I use external libraries outside of the standard library?
Yes
If you use external libraries, include a requirements.txt
or setup.py
which has a list of packages required by your project
Lecture Notes
Recordings
recordings are found here: https://echo360.e-ope.ee/ess/portal/section/fc0c6bfd-9187-4365-b2c9-0085b3a89906
Lecture 1
Basic types, lists, for-loops, functions, imports and classes https://wiki.itcollege.ee/index.php/I719_Fundamentals_of_Python/lecture1
Lecture 2
importable modules, unit tests, dictionaries https://wiki.itcollege.ee/index.php/I719_Fundamentals_of_Python/lecture2
Lecture 3
Command line arguements, opening and using files, csv files https://wiki.itcollege.ee/index.php/I719_Fundamentals_of_Python/lecture3
Assets
file to count words in: http://pastebin.com/3faqcc5j csv file: https://docs.google.com/spreadsheets/d/1uSbHeppEyKNxF0WncvhxTBF8wj_co0v5XOYlXKLL8Lg/edit?usp=sharing