Git Product home page Git Product logo

pyfun's Introduction

🚧 Currently a work in progress as we port our content to this [GitHub classroom textbook][text-work]. [text-work]: https://blog.skilstak.io/github-as-text-book-and-work-book-828ffada9542#.etr9ts7me

💬 This workbook goes with a textbook Students get their personal, private workbook after asking their instructor for an invite or clicking on one in their course chat room. We invite teachers and parents to read 🍎Welcome Teachers!

Welcome to Python! In this course you will learn the fundamentals of programming in Python. Concepts include variables, operators, blocks, logic, loops, data types, lists, dictionaries, functions, exceptions, unit testing, classes, files, json, web api consumption, and basic code organization. This course covers Python 3.5+, the most recent version of Python.

Table of Contents

  1. Get the Workbook (workbook)
  2. Open GitHub in Incognito
  3. Click on the Octocat
  4. Find and Click the Clone or Download Button
  5. Make Sure SSH
  6. Copy to Clipboard
  7. Pull Up a Terminal
  8. Change Into Your repos Directory
  9. Enter the git clone Command
  10. Checking the Python Docs (docs)
  11. Make Sure Python3
    💡 docs.python.org ◦ Standard Documentation ◦ Python Versions
  12. Pydoc
    💡 pydoc3 ◦ Comments ◦ | ◦ Pagers ◦ Pipes ◦ | moremore ◦ UNIX Pipeline
  13. Manual man Pages
    💡 Man Pages ◦ man
  14. Why Python? (why)
  15. Easy
    💡 Best First Language ◦ MIT ◦ ghc
  16. Everywhere
  17. Powerful
    💡 Python C Extensions ◦ Data Science ◦ Premature Optimization
  18. Versatile
    💡 One Best Way ◦ Beat Perl
  19. Mature
    💡 Python 2 v.s. 3 ◦ Libraries
  20. When Not to Pick Python (not)
  21. Concurrency
  22. Slow
  23. Not a Web Language
  24. Not for Graphical Games, No PyGame
  25. No Python IDLE?
  26. Short History of Python (history)
  27. Guido's Christmas Present Named After Monty Python
  28. Whitespace Novelty
  29. Best First Language to Learn
  30. The Python Command Interface (cli)
  31. Why CLI?
    💡 python3
  32. Easter Eggs
    💡 Easter Eggs ◦ Zen of Python ◦ Python Longevity
  33. Conclusion
  34. Hello World (hello)
  35. History
  36. Touch and Chmod
    💡 touchchmod +x ◦ Permissions ◦ Executable ◦ Runnable ◦ File ◦ Script
  37. Printing Text to the Screen
    💡 print() ◦ Strings ◦ Quotes ◦ vimvi ◦ Code Birthday
  38. Files and PATH
    💡 Files ◦ $PATHpathwhichecho ◦ Full Path ◦ Fully ◦ Qualified Path ◦ Root Path ◦ /..../../~
  39. Shuh to the Bang
    💡 Shebang Line ◦ #!env ◦ File System ◦ Path
  40. Color Things Up
    💡 importcolorsas ◦ Using Python Modules ◦ Terminal ◦ Escapes ◦ c.random()c.multi()c.clear
  41. Spinning Emoji Earth Globe
    💡 Unicode ◦ Code for the World ◦ Emojis ◦ fromimport
  42. Beads on a Necklace
    💡 Strings ◦ Quotes ◦ Join Operator+
  43. Action
    💡 Actions ◦ Functions ◦ Function Call
  44. Paying for Air
    💡 Arguments ◦ Parameters
  45. Final Comment
    💡 Comments ◦ '''"""pydoc3pydoc
  46. Do It Again
    💡 Repetition ◦ Athletic Software Engineering
  47. Conclusion
  48. Hi There! (hi)
  49. The Usual
  50. Replacing World
    💡 Variables ◦ Operators ◦ = ◦ Constants
  51. Teaching a Computer to Remember
  52. Prompting for Input
    💡 input()
  53. Where is Your Assignment?
    💡 Assignment ◦ Assignment Operator ◦ = ◦ Operator ◦ Operand
  54. Difference Between Functions and Procedures
    💡 Functions ◦ Procedures ◦ Side Effects ◦ Functional Programming Paradigm
  55. Conclusion
    💡 REPL ◦ Interactive Text Adventures ◦ Stories
  56. Nyan, Nyan, STOP! (nyan)
  57. Nyan What?
  58. The Usual
  59. True or False
    💡 Booleans ◦ Types ◦ TrueFalse
  60. Loop It
    💡 while ◦ Infinite Loops ◦ End of the World
  61. In Your Block
    💡 Code Blocks ◦ :
  62. Indenting with vim
    💡 >><<vim
  63. Spaces and Tabs that Matter
    💡 Significant White Space
  64. Make is STOP!
    💡 Interrupts ◦ KeyboardInterruptctrl-c ◦ Exceptions ◦ ctrl-zctrl-x ◦ Why NO nano
  65. Catching and Trapping Exceptions
    💡 Exceptions ◦ try:except: ◦ Blue-Sky Scenario ◦ exit()
  66. Printing to Same Line
    💡 print()end=" "Line Bufferingflush=True ◦ Line Returns
  67. But WHY?!
    💡 Event Programming ◦ Event Loops
  68. Conclusion
  69. Bonus Challenges
  70. Do You Like Waffles? (waffles)
  71. An Ancient Meme?
  72. The Usual
    💡 Boilerplate ◦ bin
  73. Do you like waffles?
    💡 input()
  74. Logic is a Little Tweeting Bird
    💡 Logic ◦ ifelse ◦ Conditions
  75. The Difference Between Equality and Assignment
    💡 === ◦ Is Equal To ◦ Assign
  76. A Big Nest
    💡 Nested Code Blocks ◦ Shallow Nesting by Design
  77. Trimming the Nest
    💡 Refactoring ◦ Code Maintenance ◦ Code Organization ◦ Program Design ◦ Spaghetti Code ◦ Conditional Modifiers ◦ not ◦ Checking for Good not Bad
  78. Notice Any Patterns?
    💡 Redundancy ◦ Variables ◦ Assertions ◦ The Dude
  79. Defining Our First Procedure Function
    💡 Defining Functions ◦ Python Style Guidelines ◦ PEP-0008
  80. Handling the Other Exceptions
    💡 Blue Sky Path ◦ Blue Sky Scenario ◦ Exceptional Path ◦ Exceptions
  81. Speaking of Lists (and Tuples)
    💡 Lists ◦ Tuples ◦ []() ◦ Immutable
  82. Exception: User Enters Variation of yes
    💡 Compound Conditions ◦ orand ◦ Logic Errors ◦ .startswith().lower()in ◦ Methods v.s. Functions ◦ String Methods ◦ Order of Operations ◦ () ◦ Regular Expressions
  83. Exception: User Includes Spaces
    💡 Trimming Whitespace ◦ .trim().ltrim().rtrim()
  84. Exception: User Interrupts with ctrl-c
    💡 Catching Multiple Exceptions ◦ exceptKeyboardErrorelsefinally
  85. Conclusion
  86. Bonus Challenges
  87. Badgers, Badgers, Badgers (badgers)
  88. The Usual
  89. How many badgers is that again?
    💡 Counting ◦ Infinite ◦ Finite ◦ Boolean ◦ while ◦ Algorithms
  90. Teaching Our Program to Count
    💡 Addition Operator ◦ + ◦ Augmented Assignment ◦ +=
  91. But Mom, the Program Says Raise My Allowance
    💡 Difference Between Join and Addition Operators ◦ Chores ◦ Allowance
  92. Conclusion
  93. Bonus Challenges
  94. More Python3 Learning Resources (more)
  95. Dive Into Python 3
  96. Warning
  97. 🍎 Welcome Teachers! (teachers)
  98. Prerequisites
  99. Age
  100. Time
  101. Rubrics
  102. Resources
  103. Encrypted Solutions
  104. Other
  105. Next
  106. Contributing
  107. Copyright

home [cc-by-sa][cc-by-sa] [skilstak][skilstak] [cc-by-sa]: https://creativecommons.org/licenses/by-sa/4.0/ [skilstak]: http://skilstak.io

pyfun's People

Stargazers

Drake Griffith avatar

Watchers

Drake Griffith avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.