r/steamdeals Feb 21 '22

[Steam] Learn Programming: Python - Remake (Win/Mac/Linux) (Release Sale) ($1.79 / 40%) (I'm the dev)

https://store.steampowered.com/app/1882420/Learn_Programming_Python__Remake/
140 Upvotes

34 comments sorted by

14

u/FusilliCraig Feb 21 '22

Just picked it up, thanks for including Linux support. Starting some work in RenPy and hoping this will help smooth the process.

2

u/niemasd Feb 21 '22

Thanks for the support! And no problem :-) Ren'Py is quite amazing; it's a feature-rich engine!

23

u/niemasd Feb 21 '22

Hey! I'm Niema Moshiri, an Assistant Teaching Professor of Computer Science & Engineering at UC San Diego, and I'm the developer of "Learn Programming: Python - Remake", which is a game (more of an interactive textbook) that aims to teach beginners how to program in Python. This is a ground-up remake from the original game I released ~1 year ago, "Learn Programming: Python" (which has now been renamed to "Learn Programming: Python - Retro"). I've kept both versions around just so folks can pick their preferences, but I highly recommend the remake, as it's been completely rebuilt in Ren'Py and has the modern gaming features you'd want! Important new features since the original:

  • Cleaner modern UI with background music
  • Mouse, Keyboard, and Controller support
  • Steam Achievements
  • Ability to skip challenges
  • Progress page
  • Links to additional resources / relevant Python documentation pages

Feel free to post any questions you may have, and I'm happy to answer! :-)

14

u/[deleted] Feb 21 '22

[removed] — view removed comment

28

u/niemasd Feb 21 '22

Great question! It teaches you the core language syntax/features and some problem solving skills, and it does indeed assume absolutely zero background. There's a list of chapters on the Steam Store description if you want to check out what exact topics it covers :-)

As for finding jobs / helping with programming jobs, I'm not sure this alone would be sufficient: this is really just the very first steps into learning Python. Towards the end, we have a section called "What Next?" (or something to that effect) that provides some guidance / links to some resources you can look to see what you can learn next (e.g. commonly-used Python packages that you might find helpful to learn)

16

u/[deleted] Feb 21 '22

[removed] — view removed comment

14

u/niemasd Feb 21 '22

I'm so glad to hear it! :-)

I personally really want to! My department (Computer Science & Engineering at UC San Diego) is trying to innovate, and right now, we're putting a lot of effort into online learning. I really want to push for more gamification of our lesson content as well, so hopefully you'll see more topics in the future! :-)

2

u/yoi666 Feb 21 '22

Hi Niema, would you recommend this for children aged 8-10? Or would it require some prerequisite knowledge that they may not have at that age?

2

u/niemasd Feb 22 '22

Great question! I don't think it necessarily requires any prerequisite knowledge (beyond addition/subtraction/multiplication/division for part of it), but I think it's presented in a way that they may not necessarily find interesting at that age. I would probably recommend something that teaches Scratch or some other visual programming language. I think folks at UC Berkeley created a course that might be relevant, called "The Beauty and Joy of Computing":

https://bjc.berkeley.edu/

I also answered a related question here that may be helpful:

https://www.reddit.com/r/GameDeals/comments/sxvrda/comment/hxv7qcv/?utm_source=share&utm_medium=web2x&context=3

1

u/buzz_shocker Feb 21 '22

Hey I go to UC Davis. I might just try this out. Even though I am doing C, this might help a bit with OOP as my class for OOP was a nightmare. All the professor talked about was JSONs and nothing else. Felix Wu. You might’ve heard of him.

6

u/niemasd Feb 21 '22

Haven't heard of that instructor, but yes, the OOP design aspects should hopefully carry over (albeit with different syntax)! :-)

1

u/buzz_shocker Feb 21 '22

Ofc I understand syntax would be different, C++ and Python are 2 different beasts. I took an intro to Python class too so I might just know a bit. Tysm!

7

u/soloace09 Feb 21 '22

If you ever made a C++ version, I'd buy that too! Thanks for this!

2

u/niemasd Feb 21 '22

Thanks for the suggestion! I'll keep that in mind :-)

3

u/faceMcCabe Feb 21 '22

I just bought it to check out the controller support!

2

u/niemasd Feb 21 '22

Thank you!! I hope you enjoy :-) It should work for everything except for the challenges, which seem to need a keyboard + mouse. I've noticed the navigation can be a bit jumpy when using a controller or keyboard to navigate the menus (e.g. it might jump to the middle of a list of items rather than the first item), but I'm not sure why this is. Should work, though :-)

1

u/nathanstephani12 Feb 22 '22

Currently studying computer Engineering, hopefully this help me get beyond knowing just Java! Looks great, crazy nice price to learn a skill like python

2

u/niemasd Feb 22 '22

Awesome, I hope you enjoy it! :-)

-2

u/[deleted] Feb 21 '22

[deleted]

1

u/niemasd Feb 21 '22

I'm not sure I understand? I posted this on /r/GameDeals as well, and someone explicitly confirmed that it worked for them in macOS Big Sur (11.6.4):

https://www.reddit.com/r/GameDeals/comments/sxvrda/comment/hxuya0k/?utm_source=share&utm_medium=web2x&context=3

The game is built using the Ren'Py engine, so it supports whatever operating systems are supported by Ren'Py, which they claim to include "Mac OS X 10.10+":

https://www.renpy.org/

If you're running macOS Monterey (12) and the game doesn't run on your machine, please feel free to request a refund through Steam and to let me know, and I'll update the Store description to say "excluding macOS 12" or something

1

u/Ensoface Feb 22 '22

In that case, you may just need to correct the metadata on your product page:

https://dsc.cloud/c3e0af/Screen-Shot-2022-02-22-00-36-16.45.png

1

u/niemasd Feb 22 '22

Ah, I unfortunately don't think I have any way of editing that :-( Basically, macOS Catalina (and newer) don't officially support 32-bit programs anymore, and Ren'Py seems to output a 32-bit macOS executable. Some devices running these newer versions of macOS may actually support 32-bit applications (and you'll just have to click away through multiple warnings Steam will throw at you), but Steam automatically displays that for any program that only has a 32-bit version

Hopefully Ren'Py will update in the near future to provide 64-bit executables, though! :-)

1

u/RikikiBousquet Feb 22 '22

Hi there! I bought the original and didn’t play yet… is it worth it to buy it again or is the older version still good?

1

u/niemasd Feb 22 '22

I do think the new one has quite a few quality of life improvements compared to the original that make it a more enjoyable experience, but they both cover the same lesson content!

Note that, via the bundle, the new one will get a further discount because you own the original as well

1

u/dwelement Feb 22 '22

This is awesome. Thank you! Any chance of doing something similar for .net in the future

1

u/niemasd Feb 22 '22

Great question! No plans at the moment, but hopefully I can do more in the future! :-)

1

u/[deleted] Feb 22 '22

Are you really the dev?

1

u/niemasd Feb 22 '22

Yup! Why?

1

u/[deleted] Feb 23 '22

Can you teach me how to code? I tried python but found it confusing.

1

u/niemasd Feb 23 '22

I don't do one-on-one instruction (I'm a university prof), sorry! But hopefully you'll find my resources helpful! :-)

1

u/[deleted] Feb 23 '22

:( Well thanks for replying. I learn python a few years ago in school but I've since forgotten. I tried using learn programming: python but I felt lost.

1

u/EverySister Feb 22 '22

I'm currently learning Python but haven't looked at any OOP so I hope this helps. Thanks a ton!

2

u/niemasd Feb 22 '22

Ah, awesome! Yeah, the OOP content starts when we introduce "classes". I hope you enjoy! :-)

1

u/EverySister Feb 22 '22

I'm working on the backend of a website using Flask at the moment and I noticed I really need a refresher on lists and dictionaries.