Daniel Mishler's Python Course
Classes Tuesday night, 7:30CST/8:30EST at this link:
https://tennessee.zoom.us/my/dannymishler/. It will be a
cameras-off style zoom class to start.
The first day of this course is on May 31. If you're on the fence, I
encourage you to come to the first day of class and decide
after that. There is no cost of enrollment since I am offering this to
friends.
We will be coding Coup, the card game, in Python and building
progressively better agents to play the game we just built,
all while learning the basics of the language.
Feedback
Practice 1
Syllabus
Week 1 - GitHub rundown, python basics and classes (basic)
Week 2 - python classes and methods (advanced)
Week 3 - coup without challenging
Week 4 - coup with challenging: human playable
Week 5 - coup agents
Week 6 - learning opponent's strategies
Week 7 - making your strategy unpredictable
Week 8 - FFA Coup
Week 9 - Extra week for catch up (or a break for one of the weeks)
The last day of this course is planned to be July 26.
What to expect
5-10 students all of which who have some sort of connection
with Danny.
You can feel free to use a nickname to keep anonymous in zoom classes.
I'll reach out for and expect a good deal of engagement during the
classes. They will be almost as much of discussions as lectures.
No prior coding experience necessary to succeed (most of the students
will not have any experience)
If you do have coding experience, the project is open-ended enough
so that you won't get bored.
Zoom classes last 1 hour
One assignment per week.
Assignments will take 1-5 hours. 30 minutes per day should be
more than enough.
Additional challenges and extensions available for motivated students.
There will be evaluations, but they will be mostly for-fun and
nonbinding.
Missing class for some reason or another? Let me know - we'll
get you caught up.
Some people find it useful to code along during class. If you feel like
you might be one of these people (if you're new, you probably are), then
try to situate yourself with a two monitor setup so you can see my screen
on one side and yours on another.
Before you begin
Follow the setup steps, and feel free to email me if you need any help!
If you're having trouble with GitHub, feel free to ask about it
at the close of the first class.
Get Spyder
Get GitHub Desktop
Make a GitHub account
Clone
my repository.
Make (and share with me) your repository
(More description below)
Anaconda
This class in Python will use the Spyder IDE found in the Anaconda
package for Python. You should download it at the
Anaconda homepage.
Once you have downloaded it, open it and launch the Spyder application.
It should be on the home page.
To check that Spyder is working, look at the right side of your screen.
You should see a copyright message and something that says "In [1]".
Type in the number 1 and press enter. If you see it output "Out[1]: 1",
then everything is functioning and you're done with this step.
As an aside, because we are using Python through Anaconda, we won't need
to deal with a few things that other Python programmers will be familiar
with, such as pip.
GitHub
You will deliver all of your assignments (and maybe one day share your
code publicly) on a GitHub repository.
GitHub is the most popular version
control system and you can use it for much more. If you already know
how to use GitHub, use whatever you want to commit/push.
If you don't know GitHub yet, go ahead and download
GitHub Desktop.
You should also make a GitHub account, if you don't already have one.
You'll log in to this when you use GitHub Desktop.
The tutorial for GitHub Desktop is okay, and you would learn a little from
doing it, but you can skip if safely if you'd like as well. Create a new
repository, make sure the local path (it's one of the things you set
in the prompt) is something you can find, and make the repository name
"coup_" and then your name, so mine would be "coup_mishler." You can use
a nickname if you want, as well. Then, publish it on the web publicly,
or find it on
GitHub.com and add
"DSMishler" as a contributor if you'd rather it be private.
Now, in GitHub Desktop, go to file, then to Clone Repository. Go to the
rightmost tab to clone by URL, and clone
"https://github.com/DSMishler/Coup_Instructor". Make sure the local path is
somewhere you can find. When the time comes to get exercise files from me,
you'll get them from this repository. As of May 23, 2022, there is just
a "test" file in that repository. Try opening it up in Spyder and seeing
if it prints to you that it works.
How to let me know you're enrolled
When you're done with all of this, please send me an email at
DSMishler@gmail.com with the
URL that your GitHub repository is going to be.
Homepage