Hi there,
My name is Merav Yuravlivker, and I'm the CEO of Data Society - we deliver
data science academies to Fortune 500 companies, government agencies, and
other international organizations.
We're currently looking for part-time Python instructors and TAs, and my
friend Jackie Kazil recommended I reach out to you and your list serv. All
of these opportunities can be available for people who are employed
full-time, professors, or grad students. We pay well and provide all the
materials for …
[View More]the instructor, as well as instructor training and support.
If possible, would you please be able to share the following blurb? Please
let me know if there is anything else you need from me. Much appreciated!
Best,
Merav
---
Data Society, a fast-growing data science training company, is looking for
awesome Python instructors and TAs! We deliver data academies to Fortune
500 companies, government agencies, and international organizations. All of
our content is built in-house by an expert team of data scientists and
instructional designers, so you can focus on what you do best - teach
professionals how to find new insights and make their jobs easier.
We currently have a few openings for TAs, as well as part-time instructors
- all of these opportunities can be available for people who are employed
full-time, professors, or grad students. We pay competitively, have a great
support team, and provide amazing opportunities for additional projects if
you're interested.
To learn more, please visit our page for current opportunities
<https://t.sidekickopen10.com/s2t/c/5/f18dQhb0S7lM8dDMPbW2n0x6l2B9nMJN7t5X-F…>,
or simply reach out to Merav at merav(a)datasociety.com.
--
Schedule a time to meet
<https://t.sidekickopen10.com/s1t/c/5/f18dQhb0S7lM8dDMPbW2n0x6l2B9nMJN7t5X-F…>
Merav Yuravlivker
Data Society, Chief Executive Officer and Co-founder
777 6th Street NW, 11th Floor
Washington, D.C., 20001
Enterprise: solutions.datasociety.com
Consumer: datasociety.com
[View Less]
A common "error" (not too serious) that I see in
beginning Python (and no doubt other languages,
but Python is the one I'm teaching), is having a
while condition that appears to put a lid on things,
but then the flow all leaks away through break
statements, such that the "front door" condition
is never revisited.
while guess != secret:
guess = int(input("Guess?: ")
if guess == secret:
print("You guessed it!")
break
else:
print("Nope, try again...")
What's …
[View More]messed up about the above code is you
never really go back to the top in the case
where you'd get to leave. Rather, you exit by
the back door, through break.
So in that case, wouldn't have been simpler and
more elegant, even more "correct" (dare I say it)
to have gone:
while True: # no ifs ands or buts
guess = int(input("Guess?: ")
if guess == secret:
print("You guessed it!")
break
else:
print("Nope, try again...")
I see lots of heads nodding, and that could be
the end of the matter, but then a next question
arises: wouldn't this also be a more correct
solution?:
while guess != secret:
guess = int(input("Guess?: ")
if guess == secret:
print("You guessed it!")
continue # instead of break
else:
print("Nope, try again...")
We're back to having a variable while condition,
not a boolean constant, but this time we actually
exit by means of it, thanks to continue or...
while guess != secret:
guess = int(input("Guess?: ")
if guess == secret:
print("You guessed it!")
else:
print("Nope, try again...")
... thanks to no continue. This last one is getting
a thumbs up, but then I'd pause here and say
"continue" can be easier on the eyes. It's
unambiguous where it takes you, in contrast
to having to scan on down the gauntlet, looking
for possibly other open doors. "What happens
next" should not require scanning ahead too
far. Help us not to get lost. Be a civic-minded
coder.
I'm thinking of a programming style that advises
two things:
(a) if you use a while condition that's variable,
that's expected to change, then your goal should
be to always exit because of that, i.e. that should
be your only exit point. Even if some other
criterion suggests exiting, you have the option
to flip that "lid" at the top, to crack that front
door, and bounce the ball out.
(b) which is why 'continue' is your friend. You
are showing the user where your 'break' statements
are, except you don't use "break" statements, as
you've given a non-constant condition, and your
aim is to make that your ONLY exit point.
In short: never use break to exit a while loop
unless your condition is while True.
Instead, always flip the condition and exit
through the font door.
However, as soon as I make that rule I can
think of good reasons to break it. The other
programmers in the room are shaking their
heads. Won't we lose information, needed
elsewhere in the program, if we "artificially"
force a True condition to False. Aren't we, in
effect, lying? That concern could be addressed.
Keep all the info true, just treat the "lid
condition" (it "keeps a lid on it") as a flag.
Go ahead and remember the user's guess.
allowed = 5
tries = 1
exit = False
while not exit: # no other way out
guess = int(input("Guess?: ")
if guess == secret:
print("You guessed it!")
exit = True # instead of break
continue
print("Nope, try again...")
tries += 1
if tries == allowed:
print("You've maxed out")
exit = True
continue
I think we all understand the main issue:
writing reader-friendly code, and rules for doing
so. There's something comforting about approaching
a while loop and knowing its not a leaky sieve,
riddled with back doors, maybe even an exit( )
time bomb. But in the recursion world we want
a minimum of two exits usually: when another
round is called for versus when we've "hit bottom".
Can we have it both ways?
Conclusions:
Lets not be too hasty with rules of thumb
and:
Lets keep the reader in mind when writing code.
Just because the interpreter knows to compute
the flow unambiguously, doesn't mean all ways
of writing it are equally reader-friendly.
What may seem a gratuitous gesture, an
unnecessary flourish, may actually promote
reader comprehension of your code, and that
should be a goal as much as satisfying the
interpreter.
Kirby
[View Less]
A thread to share [collections of] resources, curriculum ideas, etc. about
and for during the COVID-19 epidemic
Lots of analyses, some data, some helpful contributions, lots of people
learning about exponential growth
One video I saw mentioned that a person normal flu infects about 1.3-1.4
other people, but COVID-19 is closer to 3; so what's wrong with this
analysis?
1**1.3
1**3
1.3**n
3**n
'{:,}'.format(7e9)
1*(3**x) = 7e9
# solve for x with logarithms
# Where is the limit with which …
[View More]controls?
## Notebook idea
Growth curves: polynomials of degree 0 through 10 ('desic'), exponential,
logistic
- Exponential growth and epidemics
https://youtu.be/Kas0tIxDvrg
## Prompt re: positive, helpful, constructive tone; morale; and amateur
data science
Here's a prompt for students and teachers alike:
Respond to this re: amateur data science, tone, attitude, responsibility:
https://www.reddit.com/r/datascience/comments/fm17ja/to_all_data_scientists…
```quote
FWIU, there are many unquantified variables:
- pre-existing conditions (impossible to factor in without having access to
electronic health records; such as those volunteered as part of the
Precision Medicine initiative)
- policy response
- population density
- number of hospital beds per capita
- number of ventilators per capita
- production rate of masks per capita
- medical equipment intellectual property right liabilities per territory
- treatment protocols
- sanitation protocols
So, it **is** useful to learn to model exponential growth that's actually
logistic due to e.g. herd immunity, hours of sunlight (UVC), effective
containment policies.
Analyses that compare various qualitative and quantitative aspects of
government and community responses and subsequent growth curves should be
commended, recognized, and encouraged to continue trying to better predict
potential costs.
(You can tag epidemiology tools with e.g. "epidemiology"
https://github.com/topics/epidemiology )
Are these unqualified resources better spent on other efforts like staying
at home and learning data science; rather than asserting superiority over
and inadequacy of others? Inclusion criteria for meta-analyses.
- "Call to Action to the Tech Community on New Machine Readable COVID-19
Dataset" (March 16, 2020)
https://www.whitehouse.gov/briefings-statements/call-action-tech-community-…
> “We need to come together as companies, governments, and scientists and
work to bring our best technologies to bear across biomedicine,
epidemiology, AI, and other sciences. The COVID-19 literature resource and
challenge will stimulate efforts that can accelerate the path to solutions
on COVID-19.”
- https://www.kaggle.com/tags/covid19
- "COVID-19 Open Research Dataset Challenge (CORD-19): An AI challenge
with AI2, CZI, MSR, Georgetown, NIH & The White House"
https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge
-
https://en.wikipedia.org/wiki/Precision_medicine#Precision_Medicine_Initiat…
```
## NIH FigShare instance
https://www.niaid.nih.gov/news-events/rapidly-share-discover-and-cite-covid…
> NIH is assessing the role of a generalist repository for NIH-funded
research and has launched the NIH Figshare instance, a pilot project with
the generalist repository Figshare
You can archive a tag of a [topic-labeled] GitHub repository [containing
notebooks] with FigShare.
## Resource Collections
https://github.com/topics/2019-ncovhttps://github.com/topics/covid-19https://github.com/topics/epidemiology?l=pythonhttps://github.com/topics/epidemiology?l=jupyter+notebook
Objectively-scored Kaggle competitions:
https://www.kaggle.com/tags/covid19https://github.com/soroushchehresa/awesome-coronavirus
On Tue, Mar 24, 2020, 6:35 AM kirby urner <kirby.urner(a)gmail.com> wrote:
> Awesome!
>
> If you do any kind of Youtube on this specific SIR model I hope you'll
> link it from the cell and share it here.
>
> I see some Youtubes like that already (SIR models, including in Python),
> but everyone codes a little differently.
>
> I'd like to go back to high school and do it all again from a student
> perspective, now that the curriculum and tools are so vastly different.
>
> High school should be for any age, and one keeps going back every 10 years
> or so. Learn it the new way.
>
> Kirby
> _______________________________________________
> Edu-sig mailing list -- edu-sig(a)python.org
> To unsubscribe send an email to edu-sig-leave(a)python.org
> https://mail.python.org/mailman3/lists/edu-sig.python.org/
>
[View Less]
Here's my mostly pyhthonic model, actually it's done in
sagecell.sagemath.org. Problem is, how do you predict the parameters alpha,
probability if infection, and beta, probability of recovery. My simulation
us interactive in that you can change the values of alpha and beta. A
higher alpha ir lower beta with skew the infected curve so it peaks higher
and sooner. So how do we reduce alpha? We use vaccines we don't have. How
do we increase beta? We use antivirals we don't have. All we can do now …
[View More]us
stay home and stay apart to reduce alpha and flatten the infected curve!
Stay Healthy,
A. Jorge García
https://sagecell.sagemath.org/?z=eJytlEtv2zAMgO_-FUSKwXbitE67YVgXr4cdBt8K-9…
[View Less]
Hello!
I've been toying with the idea of recruiting mentors to commit to one hour
a week to moderate a channel on https://gitter.im/ or
https://discordapp.com/ or even IRC, specifically geared towards supporting
kids working through https://codecademy.com/, https://trinket.io/ or
https://twilio.com/quest or any of dozens of other amazing coding tutorials
out there.
With so many kids home now, seems like the perfect time kick something off.
But I wanted to bounce the idea off folks. Does it …
[View More]already exist? Would
you be able to participate?
I envision a directory listing hour by hour who is moderating the hour and
tagging any specializations (#Python, #Repl.it, #Arduino, etc.), but with
the understanding that all general tech support is provided, even if only
to steer questions towards the right resource on the web. Same IRC
etiquette rules would apply. Sample interactions:
kid: How do I get python installed on my dad's laptop:
moderator: Hi #kid well I assume your dad is ok with this? I find
https://installpython3.com/ pretty well maintained.
kid: I'm stuck on this line of code [then pastes in 50 lines of code]
moderator: Hi @kid ah cool, Ill try to point you in the right direction,
but first lemme introduce you to https://dpaste.org/
kid: How do I [whatever]?
moderator: Hi @kid! I dunno, but I've been doing this for 20 years and have
yet to encounter a problem someone else didn't solve. Lemme help you
research it a little. Let's start with [StackOverflow, PyVideo, Google,
ReadTheDocs, DjangoPackages, PyPi, etc]
Bottom line is just to keep younger coders from giving up, by giving them
an introduction to how vast and awesome this community is. This would not
be just another coding site and not open-ended tech support, but rather a
chat-based gateway to what's already out there.
Does such a thing already exist? Would you sign up one hour a week to
mentor? How do we eject violations of https://www.python.org/psf/conduct/
Where does this idea fall apart?
Thanks!
-Jason Blum
Father of four at home right now driving me nuts
[View Less]
Per usual, we're awash in useful tools, many free, but so little time to
learn to use them, it seems. And they all keep evolving.
Along those lines: REPL.IT, favored by many a Python teacher, yet so
little explored by me. Like with LinkedIn and so many of these Web 2.0
tools, we get so many cool features.
Make a Python program public, using 3.8.1 (that's very current now in March
2020), runnable code, blog embeddable.
Use a Share feature to create a public Notification.
Examples, two of …
[View More]mine from today (tested to work fine on Facebook):
https://repl.it/talk/share/Python-Decorators-for-Composing-Functions/30054https://repl.it/talk/share/Computing-Volumes-in-Tetravolumes-S-and-E-Module…
Remember to use Markdown to markup these Notifications (which you can
re-edit), same as here on edu-sig where Markdown is the new normal, right?
On the first one, I used an embedded asterisk a lot, for Python
multiplication, only to discover what I learned about the new edu-sig:
Markdown is your friend.
Kirby
PS: shout out to Jake Vanderplas, the Pycon keynote speaker in Portland
that time, who gets my Stupendous Python Teacher Award. @jakevp
<https://pycon.blogspot.com/2020/03/march-2-update-on-covid-19.html>
[View Less]