An introductory course for Python programming, intended to be used by those looking to program with little-to-no prior experience.
Welcome to this discussion! For this course, we'll be looking at a variety of Python programing ideas over the course of a series of lectures. The basic syllabus is as follows:
- Introductory programming with types and basic functions
- Conditionals (if-then-else statements)
- Arrays and Lists
- Loops (while and for loops)
- Dictionaries
- Advanced Functions
- Files and Modules
- Object basics
- And more!
Every directory is a block of learning, organized by starting number (start with 00-Setup for installation). Each directory contains markdown files, which can either be read raw or converted to fancy pdfs (I recommend this website, which is what I've tested on, but whatever works). I won't upload PDFs to avoid overloading servers.
Along with each lecture is an assignment, which should be completed as part of reading the lecture to encourage understanding of each topic. Each of these assignments consists of a series of problems to be solved, along with test cases for those problems. Instructions are written as comments above each section of the assignment, but don't hesitate to let me know if you have questions. An assignment is generally finished once all test cases are passing.
Projects will be given at the end of each section to test understanding and reinforce the ideas of the section. I highly recommend spending a good amount of time on these projects and going beyond the basic instructions to help understand what's going on. If you have questions, as always, don't hesitate to reach out.
Additionally, there are a few appendices in the Appendices folder. These contain useful references to common terms and functions used in Python. If you're not sure what something means, check these out, they might come in handy!
If you're interested in doing the assignments and having them graded, email assignments to checkmatepython@gmail.com (not my real email, obviously). Questions should all be either asked there or DM'd to me in discord (I'm Checkmate#0888). Assignments can also be DM'd to me, though this is not preferred.
I'll try and keep up with grading assignments once a week on average. I'll list deadlines per-student; let me know if you need an extension and it shouldn't be an issue to give it to you. Late assignments will be accepted, though I can't grade an assignment until I get it! I grade on a star system as follows:
- No stars = F-C
- * = A
- ** = A++
- *** = Above and beyond!
The summary of this star system is that getting a star is very good, and two stars is excellent! You have to do pretty much perfect to get three or higher stars, so don't expect to get that very much / only on projects.
All assignments are rated in terms of importance:
- + = Standard assignment
- ++ = Extra credit
- +++ = Extra challenging bonus assigment (!)
All course material will be posted online in the form of either written documents or recorded lectures (potentially). Extra help will be given one-and-one, just bug me and I can find time to help you out. I really enjoy teaching ideas in Python, so don't hesitate to ask if you have questions or if there's confusion. The course materials and appendices will be updated regularly until I feel satisfied with them.
Feedback on the lectures / assignments themselves, or an error spotted in an assignment, can be done as a GitHub issue on this GitHub. Questions and assignments can either be DM'd to Checkmate#0888 on Discord or emailed to checkmatepython@gmail.com. I will try and grade assignments within a week.