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]
Dear Opensource Enthusiasts,
I hope you are going well amidst this pandemic and contributing to opensource projects.
This mail is regarding our opensource organization that promotes python education primarily and related support we request from PSF.
Recently we have started as an early-stage startup, named eduAlgo(https://edualgo.github.io/organization/). Our aim is to promote opensource learning in our region, in India, especially in the field of Algorithms and their implementations in …
[View More]python, most importantly for beginners in the remote areas. Recently one of our python package of the same name eduAlgo on PyPI(https://pypi.org/project/eduAlgo/), has crossed 8000+ downloads worldwide according to the data available from PyPI and the statistics of the package can be checked here(https://pepy.tech/project/edualgo)
eduAlgo is an algorithmic educational package that's aimed for developers, educators and students learning algorithms in python. This package has modules that can be helpful in cryptography, competitive programming, software development, education and machine learning. The sole aim of creating this software is to make your python code shorter and save your timing by reusing the code inside the package.
This project has been a part of some very well known opensource programs in India namely, FOSS Hack 2020, PyCON India Devsprint 2020 & Winter Of Code. Also, we were a part of Hacktoberfest 2020 as a participating project, this year.
As PSF has the best community for opensource in the world, we are requesting for some help as we are kids in the field of opensource for our python package and make that more user friendly.
- We need some suggestions and reviews on our package, we would be glad if you take some time from your busy schedule and check our Tutorials here(https://www.youtube.com/watch?v=XlOx62W4Nxg)
- We want to promote python learning here in our region. We strongly support the initiatives and technologies from PSF.
- Can our package be a helping tool in any industry technology? If yes, please let us know, we will be glad in helping out.
- The most important one, we need contributors and users for our package. If possible please suggest some ways.
As an opensource enthusiast my self, I strongly believe if we come together for opensource development, especially learning then, things can be changed in the industry by making it more education-centric and the development procedure more interesting.
Hoping to get the reply soon, Happy opensource development guys.
Regards.
Abhijit Tripathy,
Founder, eduAlgo
[View Less]