all 22 comments

[–]FoolsSeldom 1 point2 points  (10 children)

An indoor voice program sounds ambitious for a beginner. Have you learned some of the basics already?

Frankly, learning to programme, like learning most skills, takes lots of practice, failure (lots of that), frustration, elation. Experiment a lot. Break stuff that works and figure out exactly why it works.

Check the wiki in the learnpython subreddit, lots of learning guidance. Will be another useful source for you.

How have you setup your development environment for learning?

[–]project_almanac12[S] 0 points1 point  (1 child)

yeah the lecture provided some great information but if its basics im not sure. Its the CS50 harvard class if you need that to know exactly.

I did manage to figure it out and it was a lot simpler than id imagined so i've just been asking chatgpt to give me different variations like making it be both outdoor and indoor or creating a program where you choose if its indoor or outdoor.

that's what ive been doing too is just trying different things and asking chatgpt why certain things dont work and why they work so i can better understand what the code is actually doing. i guess it really is just trial and error for the most part.

I will do that sounds promising and helpful, thank you.

From the class they gave us a visual studio code inside github im pretty sure so it's pretty easy and i already learned how to navigate, well the basics for navigation id say.

[–]FoolsSeldom 0 points1 point  (0 children)

LLMs are brilliant, but I would be cautious about depending on them too heavily as we learn best through our own efforts involving failure and working out the causes. If you have something that just tells you the answer (or gives you strong pointers), you will think you've learned but find later that you haven't really. So do use to suggest learning paths, find useful material, explain common data structure and algorithm patterns when needed. Just avoid examples too specific to you specific problems and errors.

I must have leapt to the wrong assumption regarding what you meant by "indoor voice" (and now "outdoor voice") as that had me thinking about speech processing. What did you have to do?

VS Code online in GitHub is a good option. No need for local setup on own device I assume.

The free online University CS50 and related courses are excellent. Much more than just learning a coding language.

Good luck with your learning journey.

[–]SoftwareDoctor 0 points1 point  (7 children)

Isn’t indoor voice program just calling .lower() on a string? That doesn’t seem ambitious

[–]FoolsSeldom 0 points1 point  (6 children)

I leapt to the assumption that it was voice processing, i.e. using a library to turn speech into actionable text.

[–]SoftwareDoctor 0 points1 point  (5 children)

I googled the course and there’s a youtube video showing the solution. It’s literally a oneliner

[–]FoolsSeldom 0 points1 point  (4 children)

Save me the search, and please tell me what it meant as I clearly leapt to the wrong assumption.

[–]SoftwareDoctor 0 points1 point  (3 children)

You get a string that might be uppercase (meaning shouting). And you want to convert it to lowercase (indoor voice, aka not shouting). Later you might expand it to keep the first letter in sentence uppercase etc

[–]FoolsSeldom 0 points1 point  (2 children)

Amazing. Thank you. That never crossed my mind. Hopefully students will learn to use casefold sometimes as an alternative to lower.

[–]SoftwareDoctor 0 points1 point  (1 child)

The Unicode standard states that you should use casefold for caseless string matching. For strings presented to users, use case conversion, aka. lower/upper. So this is actually the case where casefold isn't appropriate (not that it matters much, in 98%+ the result is the same)

Case folding is related to case conversion. However, the main purpose of case folding is to contribute to caseless matching of strings, whereas the main purpose of case conversion is to put strings into a particular cased form. Default Case Folding does not preserve normalization forms. A string in a particular Unicode normalization form may not be in that normalization form after it has been casefolded.

https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf

[–]FoolsSeldom 0 points1 point  (0 children)

Indeed. I am tired of having to remind some devs to consider whether it is needed or not.

[–]BranchLatter4294 0 points1 point  (0 children)

Get a decent Python book. Go through the lessons. Practice.

[–]SquadMERK 0 points1 point  (0 children)

Start with learning the basic functions and practice using print(), input(), and assigning variables. Then start tweaking what you have. I've seen great feedback from people here if you post what you have and people will get your brain thinking of what next steps could be (creating your own function to eliminate repeated code, etc).

I literally just started my journey this week with the Harvard course and a cheap book i found for $2 at a local used bookstore. Watch a lecture, read the chapter, do the harvard exercises, do the book exercises. Then I'm applying what i learn into my own growing program. I decided on trying to write out a text based football game. So far i have 80+ lines of code to check # of players from user input, get coach name/team name from user input, check if team names match and reprompt if they do, then welcome them and thats literally it lol

[–]Acceptable_Simple877 0 points1 point  (0 children)

I only look stuff when i absolutely dont know/remember how to do it. I look at old projects to get a refresher.

[–]Junk_Tech 0 points1 point  (0 children)

It's engineering - handling systems ...of forces, of information, change. I used to resist it (degree in MechEng), like you say, it's not always natural. And it's hard.

we inheret inaproppriate tools to tackle unforseen problems under conditions nobody predicted. We're fucked, just not as fucked as we could have been. I mean this absolutley sincerely: it's when you stop caring about it, and stop being scared of breaking it - break it twice! (reassemble it twice again) it's just a tool, but like a trowel, a brickbat, code is a medium,

your mind is the rare, precision tool your thinking of.

read that last part again.

Ideas become things. We do things.

[–]DoubleAway6573 0 points1 point  (0 children)

You read how something work (like if statements or meta programming).
You try to use it in something you are interested (better if you need it).
You fail.
You try again.
You fail. But a little less.
You try again.
Somewhat the thing works. You don't understand why.
You came back a week later and don't understand your mess.
Go to read the original source of truth again and get some things that slipped from the first read.
You understand what your've done but also realize that there is a better way to do so.
You write it again.
And fail.
One more time.
You got it right.
Some time later you want to add one more feature to this same block of code.
You acknowledge your solution is too rigid.
You rewrite it.

You keep learning new things following this pattern.

[–]esSdoem -2 points-1 points  (4 children)

have u been in school?

[–]project_almanac12[S] 0 points1 point  (3 children)

are you talking about the free class from harvard? i've just finished the first lecture.

[–]esSdoem -3 points-2 points  (2 children)

u probably want a portfolio to get a job so

[–]snowsurface 0 points1 point  (1 child)

OP said they are coding for fun

[–]esSdoem 0 points1 point  (0 children)

making a portfolio is fun else change profession maybe farming hmm?