What's included
Homework
2-4 hours per week. Each module of the course will involve reading approximately 10 pages, working through the video (usually around an hour in length) and code examples provided with the module, and uploading homework for each module. Many of the modules build on each other, so it is important to complete each module before working on the next. Homework should take approximately one to two hours per week, in addition to the one to two hours required to work through each module. This may take longer depending on the complexity of the module, and the code that the student is interested in working on. There will be a homework assignment provided for each module of the course, students can work on their own version of the topics that are being covered using the sample provided code or come up with their own unique idea. The goal is to spend time programming each week and incrementally build their coding skills.Assessment
All submissions to the classroom or the teacher section for each submission will be reviewed and feedback will be provided. Feedback is generally given either as an informal assessment, or with a video. Of course, if students run into problems with their code, they are more than welcome to send in any issues, which will be promptly addressed.Class Experience
Welcome to Python Programming Compressed 10 Weekly Modules Flex Class - Automate Awesome! In this ten week course, we are going to cover Python programming from the very beginning and work our way towards more complex and intricate programs. This is a great course for those with programming experience or students that are starting from scratch. Our goal is to introduce various programming methods and techniques as we build examples that have real-world applications. Programming is a superpower for the future, and students will look at many different ways to interact with the world, gather and analyze data, manipulate various elements using programming, and ultimately gain a deep insight into the Python programming language. The compressed format has two modules per week, and students should expect to do a minimum of 2-4 hours of homework per week. Modules are sent out at noon EST with code, video, and detailed instructions, and students work through the modules, complete a weekly homework assignment for feedback, and write in with any questions or problems as we go. This course is divided into two parts, the first part is composed of 6 modules (three weeks) on the basics of Python programming, which will go over data structures and various types of programs, which will serve as a refresher for those who have python experience, or an introduction for those who are new to programming. The second part of the course is 14 modules (seven weeks) that cover how to use many different Python packages, from designing, reading and writing word and PDF documents in code, automating computer control of the mouse and keyboard, building games, and a great overview of the things you can do with Python. Required experience: No knowledge of programming is required to get started with this course, our goal is to work through the tools we need in the first part of the course so we can experiment with amazing projects in the latter 14 modules. We will work on expanding our foundational knowledge of python in the second part of the course By working on projects that automate various tasks. We will look at validating input reading and writing to files, connecting with the web and scraping data, working with various kinds of data and documents, using python to send emails and text messages, manipulating images, and even creating keyboard and mouse control using python. Each module will very clearly break down the elements that we need to know to increase our knowledge of python. Each module will have code, examples, and video. And throughout the course will work on many interesting projects including text based adventure games, programs that actually do things, and look at many interesting pieces of code as we go. The goal is that by the end of the course students should be able to program intricate and complex programs on their own, build games, and become very familiar with automating various tasks using Python programming. Learner Interaction: One of the fantastic things about programming is that there is a whole community of people who are working on the same problems and looking for answers. In our class we are going to interact frequently by sharing and commenting on each other's code, looking at different ways to solve the same problems, and providing feedback to each other in order to learn and approach problems with new and creative ways. Students will submit weekly code homework assignments, and will review and comment on each other's work. Building our programming community in the course is important, and by sharing and collaborating, we will all get better at solving coding challenges. Each week, learners review each others code and and share their successes and challenges in the classroom with their weekly homework assignment. Course Outline (Introduction or Refresher to Python): Part I: Python Programming Basics Module 1: Python Basics Module 2: Flow Control Module 3: Functions Module 4: Lists Module 5: Dictionaries and Structuring Data Module 6: Manipulating Strings Part II: Automating Tasks (Projects and Programming Exploration) Module 7: Pattern Matching with Regular Expressions Module 8: Input Validation Module 9: Reading and Writing Files Module 10: Organizing Files Module 11: Debugging Code Module 12: Web Scraping Module 13: Working with Excel Spreadsheets Module 14: Working with Google Sheets Module 15: Working with PDF and Word Documents Module 16: Working with CSV Files and JSON Data Module 17: Keeping Time, Scheduling Tasks, and Launching Programs Module 18: Sending Email and Text Messages Module 19: Manipulating Images Module 20: Controlling the Keyboard and Mouse with GUI Automation
Learning Goals
In this ten week course, we are going to cover Python programming from the very beginning and work our way towards more complex and intricate programs. This is a great course for those with programming experience or students that are starting from scratch. Our goal is to introduce various programming methods and techniques as we build examples that have real-world applications. Programming is a superpower for the future, and students will look at many different ways to interact with the world, gather and analyze data, manipulate various elements using programming, and ultimately gain a deep insight into the Python programming language and how to build programs that do something.
This course is divided into two parts, the first part is composed of 6 modules (two per week for three weeks) on the basics of Python programming, which will go over data structures and various types of programs, which will serve as a refresher for those who have python experience, or an introduction for those who are new to programming. No knowledge of programming is required to get started with this course, our goal is to work through the tools we need in the first part of the course so we can experiment with amazing projects in the latter 14 modules (two per week for 7 weeks).
Other Details
Supply List
We will be using the Automate the Boring Stuff with Python, 2nd Edition Practical Programming for Total Beginners book by Al Sweigart book in the course. November 2019, 592 pp. ISBN-13: 9781593279929 We will be using Repl.it for the majority of the course, some modules may require the student to use Python locally (for example, some elements like opening the web browser can only be done locally), directions and detailed instructions will be provided.
Language of Instruction
English
External Resources
In addition to the Outschool classroom, this class uses:
Sources
We will be using https://automatetheboringstuff.com/ weekly links to the text will be provided. We will also be using the collaborative programming site repl to code and share our work
Teacher expertise and credentials
I love teaching programming using fun and interesting examples because it helps students go farther than learning hard to contextualize concepts. Understanding what we are doing and why means that students will be able to apply algebraic concepts (like x+y) having understood examples like (red bike + blue bike) in a way that has context and meaning.
Reviews
Live Group Class
$35
weekly10 weeks
Completed by 10 learners
No live video meetings
Ages: 13-18