[TalkPython] Python для начинающих [Michael Kennedy]

Bot

Администратор
Команда форума
23 Янв 2020
166,127
2,914
113
Python for absolute beginners
Python для начинающих
screenshot.png

Автор Michael Kennedy (язык курса английский)
Краткое содержание курса


Обучение программированию может быть огромным. Концепции и факты приходят к вам быстро, и большинство курсов не охватывают многие из них вообще или в темпе новичка. Это не большинство курсов. Python для начинающих - наш главный курс для начинающих разработчиков. Мы начинаем с самого начала, обучая вас основным идеям и концепциям курса CS 101. Затем мы переходим к написанию все более сложного кода и приложений на Python.
Какие темы охватываются
В этом курсе вы будете:

  • Узнайте, как установить Python и подходящий редактор для написания кода на вашем компьютере.
  • Посмотрите быстрый обзор высокого уровня основных идей компьютерного программирования (например, структуры данных).
  • Поймите, как Python выполняет программу и превращает то, что вы пишете, в исполняемое программное обеспечение.
  • Посмотрите, как Python определяет типы данных (целые числа, строки и т. Д.) И как конвертировать между ними.
  • Создайте интерактивный код, который ведет разговор с пользователем или данными.
  • Используйте функции, чтобы сделать ваш код более понятным и многократно используемым.
  • Выберите правильную структуру данных, чтобы значительно улучшить ясность и производительность вашего кода.
  • Создайте базового AI / компьютерного противника для игр, созданных в ходе курса.
  • Изучите множество методов решения проблем, которые помогут вам продуктивно писать код.
  • См. Ресурсы, чтобы помочь визуализировать связи между данными, созданными вашим кодом.
  • Работа с несколькими форматами файлов для чтения и записи данных во время работы нашей программы.
  • Используйте внешние библиотеки из pypi.org.
  • Добавьте обработку ошибок в ваше приложение для отлаженного, надежного приложения.
  • И многое другое
Для кого этот курс?
Этот курс для тех, кто хочет изучать Python и программирование. Если у вас не было формального образования в области разработки программного обеспечения или вы пробовали другие курсы и программы «не прилипали», то вы - отличный кандидат.

Требования к студенту достаточно легки для этого курса. Тебе понадобиться:

  • Основные навыки печати
  • Базовый опыт работы с компьютером (установка программного обеспечения и т. Д.)
  • Простой компьютер (macOS, Windows или Linux)
  • Желание учиться программированию
Примечание. Все программное обеспечение, используемое на этом курсе, включая редакторы, язык Python и т. Д., Является на 100% бесплатным и с открытым исходным кодом. Вам не нужно ничего покупать, чтобы пройти курс.
Какие игры мы будем строить?

Я считаю, что важно изучать программирование в контексте того, что кажется правдоподобным и реальным. Мы не будем создавать кучу отключенных циклов и других примеров программирования, которые не относятся к реальным программам. Мы создадим несколько забавных игр, которые охватывают значимый контент, который охватит любой элементарный курс Python.

  1. Guess the number of M&Ms in a jar
  2. TIC-TAC-TOE
  3. Rock-Paper-Scissors (3-way and 7-way)
  4. A Connect4 clone
Спойлер: Содержание курса (англ.)
Welcome to the course
Welcome!
Programming is a superpower
Why learn Python (over other languages)?
Student prerequisite knowledge
What will we cover?
How do I get help?
Meet your instructor: Michael Kennedy
Course setup and requirements
Installing and updating Python
Checking for Python on Windows
I do need to install Python, now what?
Setting up an editor
git the source code
The big ideas of software development
The big ideas
Big idea: What is source code?
Examples of code
Big idea: How does code execute?
Code execution diagram
Source code vs. byte code
Big idea: Algorithms
Big idea: Designing an algorithm
Formal algorithms
Beginners and experts
A conversation with Python beginners
Writing your first lines of code
Writing code intro
Running the Python REPL on macOS
Running the Python REPL on Windows
Demo: Happy birthday to me
Concept: Concept sections
Concept: Variables and types
Visualizing variables
Visualizing mutable data types
Using a built-in library
Getting input from a user
Practice time!
Code that interacts with users
Interactive code intro
Our first interactive program
Creating a project with PyCharm
Determining the number of M&Ms
Getting the guess
Checking for a win
Exit early on a win
Using a debugger
Concept: Conditional statements
Concept: Truthiness
Concept: Multiple conditions to test at once
Practice time!
Organizing and reusing code with functions
Intro to functions
02-intro-to-our-rocks
Demo: Starter Rock Paper Scissors
Checking for a win
Adding a computer opponent
Cleaning up Rock Paper Scissors with functions
Functions for play-game
A function for winning
Adding the best-of feature
Concept: A simple functions
Selecting the roll quickly
Concept: for-in loops
Practice time!
Cleaner code with common data structures
Introducing data structures
Our Rock Paper Scissors code has issues
Demo: Data structure basics (dicts, sets, lists)
Concept: Dictionaries
Demo: Better rules with dictionaries
Demo: Checking for winner with new rules
Improving win-tracking with dictionaries
Concept: Data structures simplify our code
Concept: Common data structures and when to use them
Practice time
Problem solving techniques for writing software
Getting started when you're lost
Some techniques for problem solving in programming
Our problem solving project
Demo: Divide and conquer in action
Demo: Create the board
Demo: Choose the active player
Demo: Play until someone wins
Demo: Show the board
Demo: Choose a location
Demo: Toggle active player
Demo: Find the winner, naive version
Demo: Find the winner, good version
Concept: Remember the debugger
Concept: Refactor as you go
Practice time
Reading and writing files in Python
01-file-intro
Max Q
Making the game extensible
Demo: Moving the rules to a file
Demo: Safer file handling
Demo: File location without assumed working directory
Demo: Extending the game
Concept: Reading JSON
Concept: Leader boards!
Demo: Saving wins
Demo: Displaying leaders
Concept: Saving JSON
Demo: Writing lines in a text file
Demo: Adding logging to Rock Paper Scissors
Demo: Writing lines to a text file
Concept: Appending a line to a text file
For real logging use a real framework
Practice exercises
Using external Python packages
01-external-packages-intro
02-introducing-pypi
03-adding-a-little-more-ui-to-rps
04-demo-creating-a-venv
05-requirements_txt
06-demo-adding-color-output
07-word-completion-basic-edition
08-word-completion-substring-edition
09-concept-external-packages-workflow
10-practice-exercises
Error handling
Introduction to Python's error handling
Where are the invalid numerals
Catching invalid numerals
Invalid file formats
Stepping through errors in the debugger
Concept: Python's exception handling
Practice time
Course conclusion
Conclusion
Review: Variables and types
Review: Conditional statements
Review: Functions
Review: Data structures
Review: Problem solving
Review: File I/O
Review: External packages
Review: git the source code
Time to get in the game
Appendix: Jupyter as your editor for this course
What are Jupyter notebooks
Setting up jupyter lab as your editor
Скрытый контент.
 
Сверху Снизу