# Program | Day | Goal | |-----|-----------------------------------------| | 1 | coding challenge: temperature convertor | | 2 | coding challenge: memento mori | | 3 | coding challenge: guess the number | | 4 | coding challenge: ROT13 | | 5 | | | 6 | coding challenge: task manager | | 7 | useful scripting with pathlib | | 8 | convert login manager to OOP | | 9 | | | 10 | | | 11 | | | 12 | coding challenge: hangman non-OOP/OOP | | 13 | introduction to tkinter | | 14 | | | 15 | | Learning python3 ================= * [What we'll learn](./learning_python3.md#what-well-learn) * [Concepts](./learning_python3.md#concepts) * [Syntax](./learning_python3.md#syntax) * [Tools](./learning_python3.md#tools) * [Writing code](./learning_python3.md#writing-code) * [Running code](./learning_python3.md#running-code) * [The python3 shell](./learning_python3.md#the-python3-shell) * [Installing pycharm](./learning_python3.md#installing-pycharm) * [Virtual environments](./learning_python3.md#virtual-environments) * [Your first project](./learning_python3.md#your-first-project) * [How to execute](./learning_python3.md#how-to-execute) * [Simple printing](./learning_python3.md#simple-printing) * [Try it](./learning_python3.md#-try-it) * [Try it](./learning_python3.md#-try-it-1) * [String replacement](./learning_python3.md#string-replacement) * [String formatting](./learning_python3.md#string-formatting) * [Some links to read up](./learning_python3.md#some-links-to-read-up) * [Taking input](./learning_python3.md#taking-input) * [Some functions are blocking](./learning_python3.md#some-functions-are-blocking) * [Functions can return something](./learning_python3.md#functions-can-return-something) * [Try it](./learning_python3.md#-try-it-2) * [Functions can take arguments](./learning_python3.md#functions-can-take-arguments) * [Try it](./learning_python3.md#-try-it-3) * [Taking input and evaluation](./learning_python3.md#taking-input-and-evaluation) * [Conditional logic](./learning_python3.md#conditional-logic) * [Class string methods](./learning_python3.md#class-string-methods) * [Try it](./learning_python3.md#-try-it-4) * [Some links to read up on](./learning_python3.md#some-links-to-read-up-on) * [Coding challenge - Currency converter](./learning_python3.md#coding-challenge---currency-converter) * [Coding challenge - Celsius to Fahrenheit converter](./learning_python3.md#coding-challenge---celsius-to-fahrenheit-converter) * [Some links to read up on](./learning_python3.md#some-links-to-read-up-on-1) * [A text based adventure game](./learning_python3.md#a-text-based-adventure-game) * [Creating your own functions](./learning_python3.md#creating-your-own-functions) * [Functions that do something](./learning_python3.md#functions-that-do-something) * [Variable scope](./learning_python3.md#variable-scope) * [Functions that return something](./learning_python3.md#functions-that-return-something) * [Try it](./learning_python3.md#-try-it-5) * [Some links to read up on](./learning_python3.md#some-links-to-read-up-on-2) * [Coding challenge - Pretty Print](./learning_python3.md#coding-challenge---pretty-print) * [Using the standard library](./learning_python3.md#using-the-standard-library) * [Coding challenge - Memento Mori calculator](./learning_python3.md#coding-challenge---memento-mori-calculator) * [Writing your first library](./learning_python3.md#writing-your-first-library) * [Try it](./learning_python3.md#-try-it-6) * [How do we write libraries?](./learning_python3.md#how-do-we-write-libraries) * [What is __name__ == "__main__"?](./learning_python3.md#what-is-__name__--__main__) * [Anatomy of a program](./learning_python3.md#anatomy-of-a-program) * [Try it](./learning_python3.md#-try-it-7) * [While loop](./learning_python3.md#while-loop) * [Try it](./learning_python3.md#-try-it-8) * [Coding challenge - Guess the number](./learning_python3.md#coding-challenge---guess-the-number) * [Try it](./learning_python3.md#-try-it-9) * [Logical Operators](./learning_python3.md#logical-operators) * [Lists](./learning_python3.md#lists) * [Creating lists](./learning_python3.md#creating-lists) * [List methods](./learning_python3.md#list-methods) * [Try it](./learning_python3.md#-try-it-10) * [Picking elements and slicing lists](./learning_python3.md#picking-elements-and-slicing-lists) * [Try it](./learning_python3.md#-try-it-11) * [For loop](./learning_python3.md#for-loop) * [Coding challenge - Cheerleader chant](./learning_python3.md#coding-challenge---cheerleader-chant) * [Coding challenge - ROT13](./learning_python3.md#coding-challenge---rot13) * [Try it](./learning_python3.md#-try-it-12) * [Coding challenge - Christmas Tree](./learning_python3.md#coding-challenge---christmas-tree) * [List comprehension](./learning_python3.md#list-comprehension) * [Handling files](./learning_python3.md#handling-files) * [Reading from a file](./learning_python3.md#reading-from-a-file) * [In-line way](./learning_python3.md#in-line-way) * [Pythonic way](./learning_python3.md#pythonic-way) * [Writing to a file](./learning_python3.md#writing-to-a-file) * [Coding challenge - Login generator](./learning_python3.md#coding-challenge---login-generator) * [Dictionaries as data containers](./learning_python3.md#dictionaries-as-data-containers) * [Two dimensional lists](./learning_python3.md#two-dimensional-lists) * [Dictionaries](./learning_python3.md#dictionaries) * [Try it](./learning_python3.md#-try-it-13) * [Coding challenge - Task manager](./learning_python3.md#coding-challenge---task-manager) * [CSV based task manager](./learning_python3.md#csv-based-task-manager) * [Text based databases](./learning_python3.md#text-based-databases) * [Try it](./learning_python3.md#-try-it-14) * [Now for some useful scripting](./learning_python3.md#now-for-some-useful-scripting) * [Creating our own objects](./learning_python3.md#creating-our-own-objects) * [First some abstract examples](./learning_python3.md#first-some-abstract-examples) * [Try it](./learning_python3.md#-try-it-15) * [Magic methods](./learning_python3.md#magic-methods) * [Class inheritance](./learning_python3.md#class-inheritance) * [Try it](./learning_python3.md#-try-it-16) * [Coding challenge - Chalet floor](./learning_python3.md#coding-challenge---chalet-floor) * [Now some practical improvements](./learning_python3.md#now-some-practical-improvements) * [Improve the login generator](./learning_python3.md#improve-the-login-generator) * [Improve the task manager](./learning_python3.md#improve-the-task-manager) * [Infinite programs](./learning_python3.md#infinite-programs) * [Logic breakdown of a simple game](./learning_python3.md#logic-breakdown-of-a-simple-game) * [A non object orientated solution](./learning_python3.md#a-non-object-orientated-solution) * [An object orientated solution](./learning_python3.md#an-object-orientated-solution) * [Trivial pursuit multiple choice game](./learning_python3.md#trivial-pursuit-multiple-choice-game) * [Introduction to the requests library](./learning_python3.md#introduction-to-the-requests-library) * [Threading](./learning_python3.md#threading) Introduction to solid ================= * [Object-Oriented class design](./introduction_to_solid.md#object-oriented-class-design) * [SOLID](./introduction_to_solid.md#solid) * [Single-Responsibility](./introduction_to_solid.md#single-responsibility) * [Open-Closed Principle](./introduction_to_solid.md#open-closed-principle) * [Liskov Substitution Principle](./introduction_to_solid.md#liskov-substitution-principle) * [Interface Segregation Principle](./introduction_to_solid.md#interface-segregation-principle) * [Dependency Inversion Principle](./introduction_to_solid.md#dependency-inversion-principle) Learning python3 gui ================= * [tkinter](./learning_python3_gui.md#tkinter) * [Tkinter helloworld](./learning_python3_gui.md#tkinter-helloworld) * [Adding widgets](./learning_python3_gui.md#adding-widgets) * [Try it](./learning_python3_gui.md#-try-it) * [Coding challenge - Guess the number](./learning_python3_gui.md#coding-challenge---guess-the-number) * [MVC design pattern](./learning_python3_gui.md#mvc-design-pattern) * [Coding challenge - Login generator with GUI](./learning_python3_gui.md#coding-challenge---login-generator-with-gui) * [Coding challenge - Trivial pursuit with GUI](./learning_python3_gui.md#coding-challenge---trivial-pursuit-with-gui) * [WXpython](./learning_python3_gui.md#wxpython) * [wxpython helloworld](./learning_python3_gui.md#wxpython-helloworld) * [wxpython guess the number](./learning_python3_gui.md#wxpython-guess-the-number) * [MVC design pattern](./learning_python3_gui.md#mvc-design-pattern-1) * [Coding challenge - Login generator with GUI](./learning_python3_gui.md#coding-challenge---login-generator-with-gui-1) * [Coding challenge - Trivial pursuit with GUI](./learning_python3_gui.md#coding-challenge---trivial-pursuit-with-gui-1) Learning git ================= * [About](./learning_git.md#about) * [Git via bash](./learning_git.md#git-via-bash) * [Initialing a git repo](./learning_git.md#initialing-a-git-repo) * [What's in this repo](./learning_git.md#whats-in-this-repo) * [Adding and tracking content](./learning_git.md#adding-and-tracking-content) * [The main workflow](./learning_git.md#the-main-workflow) * [Git via Atom](./learning_git.md#git-via-atom) * [Git via Pycharm](./learning_git.md#git-via-pycharm) * [Starting a version controlled project](./learning_git.md#starting-a-version-controlled-project) * [Creating an online repository](./learning_git.md#creating-an-online-repository) * [Adding some changes to our local code](./learning_git.md#adding-some-changes-to-our-local-code) * [Cloning the remote project into a new project](./learning_git.md#cloning-the-remote-project-into-a-new-project) * [Updating the original project](./learning_git.md#updating-the-original-project) What is next ================= * [Some random recommendations](./what_is_next.md#some-random-recommendations) * [IDE](./what_is_next.md#ide) * [Syntax](./what_is_next.md#syntax) * [Concepts](./what_is_next.md#concepts) * [Books](./what_is_next.md#books) * [Linux](./what_is_next.md#linux)