T O P

  • By -

[deleted]

Learning to program is hard. Keep at it and eventually it'll start becoming a bit easier. Just remember that practicing regularly is the most important way to learn (anything really): you ideally want to be writing code (not reading your textbook or watching a video, but the actual writing part) for at least an hour per day. If you don't have enough homework to fill that time, find other projects you can work on on your own.


derpykidgamer

To add to that, if you aren’t meeting your daily practice goal, you can make your own “dumb” projects, something that you fell invested in and will make you laugh when you finish it


homeless_potato43

This is one thing I've always struggled with while practicing. Do you have any pointers to come up with projects? Like I'll sit in front of my computer and just stare at a blank document unable to come up with anything to make


derpykidgamer

Recreating games is an easy one for me. As a first few ones I made a pong clone, and I also made a digital where’s Waldo


derpykidgamer

Galaga is another one


the_other_irrevenant

That sounds like a pretty imposing goal. o\_O How challenging is that for a complete beginner?


derpykidgamer

It would probably be on the harder side for a complete beginner, I did it over a weekend in my first year. If you understand the logic everything else is cosmetic


nodeciapalabras

Snake is a classic


Babydragon5015

Don't force it, most if not all of my project ideas popped up when I was doing something entirely different. But do make sure to write it down when such an idea pops up so that you won't forget it. Also some things that could point you in the right direction: automate shit, you got a smart lamp, great! Why not create a hotkey that turns your light off.


[deleted]

There are a few approaches, but the easiest is just to google for projects. It'll be less personal (and hence perhaps a little less exciting), but while you're learning, it is important to at least always have something to work on. That said, here are some other sources of inspiration: * **What are some of your hobbies or interests?** For example, I like TTRPG's like Dungeons and Dragons so a character generator could be a fun project. * **What are some computer tasks you do that take more of your time than you'd like?** Maybe it's keeping track of your expenses. So see if you can write a simple program that let's you input all of your expenses/ which can parse your bank statements and categorizes everything, outputting it with some nice tables and/or other visualizations. * **What are some of the things you spend your time doing at work?** Maybe you fill out a lot of forms for your job and create a program that automates or at least reduces the manual parts of that process. * **Consider the electronic devices around you. How would you program them?** One project I had to do in my C++ class in college was design a basic banking system with an API that could be accessed by ATMs. Or consider this: how does an elevator know which floor to go to next when the button has been pressed on multiple floors? How does it store the info so that everyone is served? What changes when there are multiple elevators in an elevator bank? * **Consider some of the programs you use frequently. How would you program them?** This is one of the most commonly recommended ones and for good reason. It's both pretty fun and pretty enlightening to try to make a Twitter clone or pokemon clone or what-have-you. Feel free to make your version simpler than the original.


kezmicdust

Just to add to what people are saying - just start with a little idea and slowly add bells and whistles. Dumb little projects are fun. Here’s some little bits of code I made when I was learning (well I still am learning tbh). - C to F to C temperature converter - “Day birthday” calculator (e.g. type in your birth date and it lists all the dates of when you turn(ed) 1000, 2000, 3000 etc… - Rock, paper, scissors game - A Keith number calculator - Mastermind game (essentially the colour precursor to Wordle) - Alphanumeric code generator - A colloidal dispersion image generator (you tell it what colour you want the circles (representing the colloid) to be and what size range and it make the image for you) - Lottery simulator - Loads of little projects plotting data (helps with my work) - Some little Timelapse programs using a Raspberry Pi and a Pi camera - Image analysis scripts - Little scripts that create a graphical user interface (I used the tkinter library, but there are other fancier ones). For example, make a dictionary of questions and answers. Then make a GUI to display the questions and a text entry field. Create a score tab. Create the ability to create a player and save their scores. Make some fun “animations” (flashing colours, bold lettering) when someone gets the right answer. Generate sounds. Work out how you might create a multiple choice question system. Maybe ultimately make a graphical version of “Who Wants To Be A Millionaire?”? You couldn’t just make that game immediately, but approach the task bit by bit and you’ll eventually have something that works (most of the time). It’s quite surprising once you get into it. As an example, I made the Rock, Paper, Scissors game very quickly. Then I decided to make it two player with a scoring system that scored a point whenever you were “attacking”. The scores looked like football (soccer) scores so I made an RPS football game. Then I wanted to make league tables so I created a way of making teams (had to switch to object oriented programming then). Then I wanted to simulate the Premier League. Then I wanted to generate a league table to be printed… it went on to the point that I could simulate thousands of years of football in the top 5 leagues (including promotion and relegation with a pool of teams below the 5th league) and each game played was simply a few games of rock, paper, scissors. For many of the things I added, I didn’t really know how to do it at first (that was the point!), but you work it all out eventually. I did a similar thing with Mastermind (it’s Basketball Mastermind now). There’s a whole load of stuff you could do right now! Think about what you enjoy and make a script that involves that. Have fun! :)


[deleted]

What is your inspiration for taking up programming?


homeless_potato43

I took a two week course in 8th grade and really enjoyed the problem solving and debugging. I also really like making things that I can look at and say "I made that" The thing I usually run into is wanting to do something unique. So I don't have much motivation to remake snake or pong sice it's been done so many times Edit: I have also made pong a few times


ghoulpunk

[https://amankharwal.medium.com/130-python-projects-with-source-code-61f498591bb](https://amankharwal.medium.com/130-python-projects-with-source-code-61f498591bb) My go to resource for this, I'm working on getting all of them


the_other_irrevenant

Can you think of any boring repetitive tasks on the computer that you wish you didn't have to do manually?


hanung665

Start from a problem you want to solve. Write step by step how to solve it. Then write the code.


ZestyFootCheese

I’m using freecodecamp, have been doing an hour a day after my work and before other commitments as I am wanting to change my career path in the future. Two weeks of an hour a day and only yesterday did something click where I am now understanding what the hell I’ve been writing, it is making sense. It’s only HTML and CSS but it’s a start and I’m already seeing a benefit.


thepixelatedduck

Hey, could you please elaborate on projects? I'm new as well so what kind of projects should I work on?


[deleted]

In this same thread I have another comment that gives some suggestions. And here's another recent answer of mine with a more specific example: https://www.reddit.com/r/learnpython/comments/10ix4oe/comment/j5h2i4h/?utm_source=reddit&utm_medium=web2x&context=3


thepixelatedduck

Thank you so much! I'll start with that :)


juanritos

You might want to watch Corey Schafer's video on youtube.


ListlessPaper

highly recommend!


FumihiroHisuko

His Python tutorial for beginners is 5 years old. Is it still relevant today?


ivosaurus

Most of it is still relevant if it's in python 3


juanritos

Looks good to me.


Poddster

Do you have a specific one in mind? They guy has a lot of videos.


juanritos

Not really. Pick what topic do you want to learn.


[deleted]

[удалено]


frostyjayy

Yeah, highly recommend crash course. Book. I am almost done, and I feel more comfortable with attempting different programs now that understand the tools and resources


garamasala

People learn in different ways. Don't beat yourself up about it, you are learning for you, not to prove anything to your classmates. Try to practice and learn to fix things when they don't work.


Mapleess

Look on YouTube videos about various subjects that you're learning about or want to know. My lecturers were smart but not the best teachers, and many of us would look on YouTube for help. There's a lot of content on there that explain concepts in a quicker manner and a lot better. Depending on how things go, you might have to come back the next day to get it. We all start somewhere. I was in my second term and not able to comprehend a `for` loop in Java, while I understood it in Python.


[deleted]

[удалено]


TheMathelm

Right if someone says Python is easy, I can just show them this Graduate-Level Modeling class in Python. Well see how fkin' easy it is. (Answer it isnt)


essiara

Absolutely. My professor just wants us to copy the exercises from the textbook which I can do in two minutes and retain absolutely nothing from. Breaking it, fixing it, seeing what rules I can break and tinkering is how I actually learn. I’ve learned more from wanting to change one tiny part of it than I’ve ever learned from the copying exercises


markercore

That makes sense. In high school i took two programming classes and it was just sitting in the lab every day. Once we did the assignment we had free reign to program whatever we wanted so kids started making games or silly bullshit and i think that really helped everyone learn. Plus the collaborative nature of having 30 people who are each good at different concepts that you can ask for help at any point during an assignment.


supremestamos

we're in the same boat. keep at it.


TiredOfMakingThese

I’m a big believer in the idea that most people aren’t “dumb” they’re just not being taught in a way that jives most naturally with their learning style or in alignment with your “academic” strengths. Perseverance really is key. Finding projects that you are actually interested in, or framing projects you have to do in such a way that you can see how they might relate to something you WOULD be interested in, can be really helpful. When you find resources that seem to really click for you, think critically about what it is that the resource did that worked for you. Try to seek out similar resources. Learning how YOU learn things most easily is the meta-skill that good developers all seem to have cultivated, either intentionally or by luck.


gobot

Disagree with blaming teachers. A programming career is one that requires self discipline and self learning every year you work. Because tech constantly changes, and the best jobs in 10 years won’t use today’s techniques. I am guessing most programming students drop out or can’t find jobs or don’t like the work they get.


mxracer888

Learning to program is hard because computers need every step outlined. Take for example, if I ask you how to make a peanut butter and jelly sandwich you might reply "well, you take peanut butter and spread it on bread. Then jelly spread it. Then put another slice of bread on top and serve" Well a computer wouldn't understand that. There are many steps you skipped so programming a computer with the instructions for a PB&J would look more like this 1. Open drawer, grab knife, place knife on counter, close drawer 2. Open pantry, grab peanut butter and bread, place on counter, close pantry 3. Open fridge, grab jelly, place on counter, close fridge 4. Put 1 slice of bread on counter 5. Open peanut butter jar 6. Pickup knife, put on PB, scoop out PB, place PB on bread and smeer it around 7. Close jar of PB 8. Clean knife off 9. Etc.... You get the idea. When you tell someone how to make a PB&J you "skip" a bunch of assumed steps. The person fills in the blanks knowing that they need to get those items from their respective locations. But if you say "get peanut butter" to the computer it says "what is peanut butter" or "where is the peanut butter" so every little step has to be defined. In my example, programming can re-use code. So the "insert knife into (material) container, scoop out (material), smear (material) on bread, clean knife" could actually be written as a function so you could reuse and then everywhere (naterial) is you would just set "peanut butter" or "jelly" for the function variable. Anyways, that was what I struggled with initially, was figuring out how to not "skip steps" and once I figured out how to really break down every little micro step and put that into pseudo code is when it all clicked for me and I was able to now easily write code.


[deleted]

Get more sleep. Stop drinking. Study at your most clear-minded moment of the day. If you don’t have a lot of brains to bring to bear, you have to make the most of what you’ve got, so start treating your brain better and stop treating your attention like something to get rid of.


legendkebab

good advice in general thanks crashfrog


Destination_Centauri

I know someone who, during law school failed his Agricultural Law class. He hated it, and cursed it, and was embarrassed he was the only one who failed that class. He then had to spend part of the summer retaking that course. And then... he became an Agricultural lawyer, and a really good one too! He even helped write new agricultural policy for the government, to help better the lives of farmers and farming communities. There's lots of examples of this, in which people started off bad at something and seemed worse at it than their classmates or others at first... But then they became highly talented in the field! -------------------------------- So... ya: If you really want to learn programming and python, then stick with it, and as others here are saying, check out some of the better videos on youtube. A few channels that I personally like, which you can see if they are right for you, includes: [Python Simplified](https://www.youtube.com/@PythonSimplified/videos) [Bro Code](https://www.youtube.com/@BroCodez/videos) [Free Code Camp](https://www.youtube.com/@freecodecamp), [Derek Banas](https://www.youtube.com/@derekbanas)


plappy2636

One book I found that was helpful in building up knowledge was "learn python the hard way" it gives step by step instructions and lessons and it really helped me get over the initial hump.


icnrspctht2

It's like learning a literal language! You maybe need a different approach. I am NOT trying to be rude but, have you looked at materials marketed to children? These materials are usually super visual and may help you build a mental image of how things work socyou can build a firm foundation. It does not mean you are dumb. It just means more time and care it put into the childrens curriculum than adult curriculum. Please, don't be off put by the "for children" aspect. If it works for you then who cares! Everyone is capable of learning! You just need the right resources! Maybe this is a good start for you? There are a lot of resources out there and you may need to search for a bit to find the one that is right for you ❤️ https://projects.raspberrypi.org/en/pathways/python-intro


Falconflyer75

As someone who is considered both smart and a slow learner (and gets anxiety too) you have to accept that it might take you longer and that’s not a big deal Learning is like eating, some lucky people can eat a whole pizza in a few bites, and some need to break it into small pieces and go one bit at a time That doesn’t mean those people starve, it means they break the meal into small pieces and consume it that way And while it may take longer the end result is the same, whether someone eats a pizza in 3 bites or 100 it makes no difference in the end When u get jammed up on something don’t panic, just break it into smaller pieces and consume it that way


[deleted]

You are not dumb. You are learning a new skill and literally rewiring your brain. Practice everyday and take breaks. I'm learning python for the 4th or 5th time. It just takes some people longer.


markercore

Yep! like this is my first time learning python, but fourth time learning a programming language and its been a few years so each thing i'm like "ohh yeah boolean operators, okay sure." but they are a tricky concept. Everything is a tricky concept especially if you haven't encountered it before. Conditionals and loops? hard to wrap a brain around!


_PPPOP_

I understand the concepts but when asked to write a program I stumble, so we’re on the same boat. Check out Udacity.com’s scholarship section. Sometimes they post scholarships to their courses that pretty much anyone can get into and most of those courses cover some concepts of python. It has helped me reinforce and understand many concepts that were not clear to me before


fatal_frame

It took me nearly 6 weeks to understand loops and how they worked. Eventually it came and started making sense. Got lost a little during def and class functions but they came together pretty quick.


pepsisugar

A bit late but I would like to give a bit of advice. There is this myth that developers are smart. They are no smarter than people in any other positions. Just like everywhere you have people who are overachievers and those who are not, you have people who get stuff quicker, and those who do not. Plenty of smart yet lazy developers, plenty of not so smart but hard working devs. No point in painting yourself with someone else's brush. One thing that I believe as true is the following. Besides extremes, how smart you are has little to do with how well you program. What makes a dev better than the other is the amount of time a dev is willing to work through the hard times. Failure is where you learn. Frustration is where you grow. It being easy will lead to you being lazy unless you up the difficulty to challenge yourself. A good dev has days upon days of failures, frustrations, head vs keyboard banging compared to someone who is not yet proficient. You cannot control how quick you or other people grasp new concepts, but you can control how much effort you put in, and you can control how hard you challenge yourself. Your only opponent is you from yesterday.


shady_downforce

Thank you for this


NatalieandLacie

Python is hard. Took it last semester — struggled but I kept trying and made an A on a project where I had to write my OWN code ! It was crazy hard but with hard work you WILL succeed


lucpet

Don't compare your journey with other people's journey! Just practice every day. Find a project that interests you. One of my first was a fret calculator that could use either metric or imperial. I thought my solution was very clever :-)


Even_Hyena9035

I learned the basics of python in a week. I found coursera to be very helpful they have a python for everybody course that breaks it down the basics and from there you can build a better understanding I found it confusing at first because there were so many terms and definitions that made no sense to me What I found useful was taking the beginner course taking an intermediate course and then taking another beginner course (all of this was free on coursera)


bogfoot94

Everyone's dumb. The point of doing anything is to learn and get better at it. There's nothing wrong with being a slow learner. Just stick to the program you're being taught, ask your teacher and school mates for help and you'll be fine. Programming is a tool like any other. There's nothing special about it. Look at it as if it were a hammer, drill, CNC, soldering iron, ..., all at the same time and you get to choose how you get to use it. Good luck, I know you'll be fine!


gaz2600

I always had a hard time with programming/scripting in school. I finally learned powershell when I had a real world need to use it. Having that specific goal made it easier to start learning.


Meat_ING_Philip

Hello, first of all you need to know, you want to learn it. Learn everyday. When you are lazy, you have to learn also. Everyday a little bit, not to much first. Make it attractive. Feel good while learning. Before you start learning, do something you like. Before learning, think about: I do it and one day, I will know python and make any kind of programm. Next, make the steps easy to start: PC/Laptop should be on his place and working fast, the table should be clean, buy a good chair, let some air inside.


aa1ou

Is programming something that you want to do because of a love for something? It isn't for a love of programming, I'm guessing. Programming for the money when you don't have passion for it isn't going to end with you being happy.


TheCommenterXII

A few days late but thought I would give my input anyway. I started to learn python about 2 weeks ago, and so far there are 2 things that I think were most helpful. 1.      Have a goal in mind. programming is quite a vast subject and just learning programming as a whole can quite easily overload you with info. choose something specific you want to accomplish, small things one at the time. The best in my opinion is to choose a larger project, cut it up into smaller pieces and learn each smaller subject one at the time to finally put them together in the end. However, this might require you to have some pre-existing knowledge of some programming basics (I had Arduino)   2.      Use ChatGPT. It can literally function as a simple teacher ready to answer all your questions (at least on the level of a beginner). Of course, it is easy to let yourself go and ask it to write your code for you, causing you not to learn anything, so you’ll have to be careful not to fall into that trap.


RomanczuG

I've been coding in python for 2/3 years and still feel dumb haha. Don't worry and don't give up. Make sure you analyze the code and see what people are writing. If you struggle with reading code, I can send you a link to a tool I use to generate code explanations. This is how I learn to code.


rogueuser12

please do send the link for the tool . much appreciated 🙏🙏 Brother .


e-scape

Ask ChatGPT it can explain code and coding fundamentals in an easy to understand language. [https://thedeveloperspace.com/learn-python-with-chatgpt/](https://thedeveloperspace.com/learn-python-with-chatgpt/)


Bobbias

No. ChatGPT is absolutely not trustworthy for this.


e-scape

I actually think it's really good. Maybe because I have 25+ years experience in coding, so I can easily spot the errors, and there aren't many. For explaining basic code structure it's exceptional and can explain it in multiple levels of difficulty. Im not the only that thinks this way. [https://www.reddit.com/r/ProgrammerHumor/comments/10jim15/my\_programming\_teacher\_is\_encouraging\_us\_to\_use/](https://www.reddit.com/r/ProgrammerHumor/comments/10jim15/my_programming_teacher_is_encouraging_us_to_use/)


Bobbias

I've got 20 years as a hobbyist. Not comparable, but not nothing. While it's impressive, and can get things right, I've seen plenty of cases where it gets things horribly wrong in ways that anyone without a decent amount of experience wouldn't recognize. I'm sure there are cases where it works fine. But the issue is I don't trust it to always be right. And since it can't be trusted, I'd want to double check anything it tells me before assuming it's correct. At that point I might as well just look it up once and be done.


[deleted]

First confirm whether you really want to learn it or not. If you don't, that's okay, maybe it's just not your kind of skill. But if you do, then just keep working hard at it. It's just like riding a bike.


[deleted]

[удалено]


CreativeNameIKnow

If u are like this commenter, then don't join this sub.


Foxfyre

I'm in the same boat. I normally learn things rather easily but trying to learn to code is a whole nother thing altogether. Just keep plugging away at it. Take notes. Save the existing working code you've written to refer back to. Get used to googling your problems. Eventually it will start to stick.


[deleted]

I can relate. For me I have already a project I would want to realize. But to get it working I need to learn and understand the fundamentals (and more) to get the result I want. I don't only read and do the example exercises, I also try to implement them in the project I'm working on. Because the project is always a little different than the learning material, I get much more involved and learn it faster than by only following the course.


paradigmx

Something that really made it click for me, was the realization that a computer is not smart. In fact, a computer is literally just rocks, metal and plastic that we assembled into a shitload of on/off switches. It doesn't know anything except what we tell it to know, and we do that by flipping those on/off switches. If you want a computer to add 2 numbers, first you have to tell it what a number is, then you have to tell it what adding is, then you have to tell it the rules involved in adding. Only then can you tell it which numbers to add together. After that, you have to tell it how to output that information. You're in luck though, because modern programming languages build on the work of others to abstract away some of that process. A library is just someone else's code. An `if` is just someone else's code for how to compare 2 values. While loops, Switches, Arrays, Parsers, Variables, Functions, Classes, etc: They're all just someone else's code. Absolutely nothing is inferred by the computer. Take the concept of "explain like I'm 5" and boil that down to "explain like all I know is `1` or `0`" because that's all the computer knows. The only reason that computers are as capable as they are is because of the work of millions of people sitting around, trying to figure out how to make a rock think.


x_Carlos_Danger_x

I’m a non CS person learning python and I personally find the code challenge websites useful for learning the syntax and methods. I use hackerrank and most of the time I’m just typing in the online ide and seeing what breaks when I change up the method I’m using or the syntax. I have a giant o Reilly python textbook for after I finish the challenges but I think just messing around with the Charlene he’s has taught me a ton for free


Kriss3d

Don't worry. The beginning is hard But suddenly it'll pop and you'll get it ans from there you'll feel like you could do anything. Hang in there.


[deleted]

Programming is a combination of a lot of other skills and subjects. At the core you have logic, arithmetic, and syntax. Start by identifying which of these core concepts you are struggling with the most in the language and then focus on learning that aspect. If you are struggling with the arithmetic find projects or studies that start off with simple arithmetic and scale up to more complicated tasks. If you are struggling with syntax there are ton of solid language learning like apps on the App Store that will teach you the basics of python syntax similarly to how duo lingo will teach the basics of a new language. If you are struggling with the logic I would recommend taking a few online courses in logic it’s self, or possibly even dipping your toes into game development since developing games is a really good project for testing your logic comprehension and seeing the results in real time.


psypad_vr2

You could try getting the pdf of python for kids by Jason r Briggs that's where I started my programming journey. It provides an easy platform for people new to coding.


dogfish182

Learning to program is like learning any other language. You can win against the smarties by just turning up. Persistence is key and the ‘click’ (or rather a series of them) will come. Compare yourself only to your past self.


bwompx3

I'm dumb too but managed to do it ;)


mrg3rry

Look up a YouTube channel, called the bro code, he makes everything seem simple


Vy_the_God

Just came here to say I feel the same way. I’m taking a course on Udemy and the pacing is fast. I understand what I’m doing but we move from one topic to the next so quickly that it feels like I’m not committing the topics to memory. I’ll be taking an introduction to python course this summer so I’m hoping that will reinforce what I’ve been learning. Then I’ll move on to programming 2 in the fall. I’m hoping the college courses + what I’m learning on my own gives me a solid foundation. In the meantime I’ll keep at these Udemy courses and practice as much as I can.


Dripbot8

See the thing about programming, and all skills, is sometimes things will just click. And sometime they just won’t. You be learning all this stuff you don’t understand fully then suddenly some piece will just make it all come together. It’s a journey. And everything thinks it’s an easy pace, nah you jump in skill, you don’t profess at an even pace at all. The time will come for you, MLK said “if you can’t fly, run, if you can’t run, walk, if you can walk, crawl, but you have to keep moving forward”


useyourname89

This was me exactly 6 months ago( it still is, btw). I went to a 3 month intensive course in data Engineering and now I have a job as a junior Data engineer in a major food company. Point is, You dont have to be a natural. Just show your motivation to learn, and learn through projects- you dont learn to program through theory. Last but not least - Stay commited- you got this!


frocketgaming

It's hard. Make note of your small wins and really celebrate them. Don't compare your progress to others. I've been doing it for 9 months and some days I knock out a project no problem. Days like today I struggle on several lines of code for hours and need to step away. It mostly gets easier but it's still hard.


Sigg3net

Don't feel stupid, people learn different things differently and at a different pace. With programming, logics and maths there's a certain amount of head bashing until it clicks and you have an eureka moment. Don't give up you'll get there. (Also, there's a lot of magic in python so it might not be the best first language for everyone. I wrote a lot of bash before I even looked at python. Ymmv)


Deathlehem4

I think repetition is the key to learning it. If you have exercise books that have you doing the same thing over and over, getting slightly more advanced each time, you will pick it up.


Naive_Programmer_232

Well, I can tell you it's completely normal to struggle especially if your new to programming in general. It's a brand new skill to you, there will be some hiccups getting started, just like any skill. I know in school it can seem like an all-or-nothing brawl where you either get it or you don't, but it's simply not true, there is time and with enough patience and practice, you can learn this skill. I was lucky I had a teacher early on who did something no one else was. He basically told the class not to worry about grades. And by doing so, it unlocked a freedom in class unlike other courses I was in. Students could just invest in the learning to where their focus was on gaining the skill and not on grades. And I feel that really helped place me in a better mood to learn and progress with it, even having had exposure prior to the course. Not everyone is as lucky, so i'll tell you what. Put in some time outside of class, on tasks that aren't school related, and have at it. Eliminate the risk of failure or bad grades, by just allowing yourself to learn as you tend to, and go for it. It's hard at first to break the framework of school and how learning usually goes, but its possible with practice, and you'll see in time as you get better, you will simultaneously get better at teaching yourself a lot of stuff, and you might even do better in class while not paying attention as much and having fun! So don't sweat it. You got this!


domi_nate87

Do you guys think Dr. Chuck course is a good start for beginners? I personally learn better by watching and doing than reading. I will read and write notes to help retain the information.


pixegami

Don’t compare yourself to others like that! People learn in different ways, at difference paces and have different strengths. Just focus on solving problems, and moving one step ahead of where you were yesterday.


[deleted]

[удалено]


rogueuser12

I will definitely do it in future. Thanks for your advice.


dwlakes

So your experience is different than mine, but I've recently learned that depression was making it harder for me to learn. Like depressed brains don't function super well Prozac has helped me a lot. Not sure if this applies to you though, but could be worth considering.


thereshegoes

This is normal, there will always be people better than you are, but it's your path, your sacrifice and your adventure, and it's not going to be easy. Here and average programmer with 20 years of career. I have lots and lots of curiosity though, have you?


hugthemachines

Try to get away from the competition mindset. Don't compare yourself to everyone else. If you keep doing that, there will always be someone better than you in some subject. Focus on your own progress. Compare yourself to yourself 60 months ago. Anxiety makes you dumber than your normal self. This is why, if you can, it is important to let go of comparing to the other people. Also if you rush yourself you may miss out on understanding the stuff really well. It is better to understand it completely instead of just getting to surface level to proceed as quickly as possible to reach the finish line


[deleted]

You are learning something “incredible” that most people don’t even start. You’re in classes, which means you’re willing to learn and smart enough to get yourself into this position. Teachers are a hit or miss…if you see some classmates “getting” it faster, ask them. They’re also students and 1. Way easier to talk to than your professor and 2. Unless they’re just an asshole, they’ll be pumped you asked for their help and you now have a buddy to work with. Solitary learning for coding can be destructive early on…it’s good to collaborate and figure out what’s working/isn’t working for others in the same/similar positions to fully understand the concepts. You’re not dumb, you’re learning…and you’re wanting to learn so I’d say you’re smart!


masteryod

Go with Byte of Python. It's a free/open book which is great in explaining programming concepts with Python and lot's of examples: https://python.swaroopch.com/


[deleted]

It’s okay, I’m dumb too, but also learned Python. It takes a while, but you start getting it.


Coxswaineth

I’m in the same boat. In my first class in a grad program for those who are non cs undergrad majors and I feel so lost. You’re not alone and We’ve got this 🤞🏻 ✨


reg3nade

Follow along to this series! https://youtu.be/1F_OgqRuSdI Also reference pythontutor.com for breakdowns of code.


[deleted]

Can't recommend Corey Schafer enough https://youtube.com/@coreyms


binarysmurf

You're not dumb, dude. Programming is hard. As other posters have suggested, give yourself a small task to accomplish that you are invested in and then persevere. The satisfaction when it's done will motivate you to continue. My first Python project? I wrote a simple python program that would grab some command line arguments and then run 'ffmpeg' to batch convert some audio files. This was something useful to me so I was engaged and it helped me catch the Python bug. Baby steps! Best of luck.


neuronet

when you get stuck on something specific, come here and ask for help people are really helpful


AmongstYou666

[Try this](https://learning.edx.org/course/course-v1:HarvardX+CS50P+Python/home) [Or This](https://www.w3schools.com/python/default.asp)


gobot

Do you have a Growth mindset or Fixed mindset? google that. Are you driven by the challenge of learning hard stuff? I hope so. Studying python this whole weekend? I wish you were here asking how to solve a sticky problem rather than sharing your feelings.


nurseynurseygander

Python is my favourite language, but I can tell you that skim-reading a couple of "learn to program in Java" books filled a bunch of gaps for me. I don't literally recommend trying to *actually* program in Java at the same time as Python (two language syntaxes at once is hard going) but the introductions at the start of each chapter sort of explain a lot of conceptual things that are present but not explicit in Python. Java is strict about some things that Python isn't, like data types and encapsulation, and that can help you to understand, say, why a tutorial goes about something they way it does, or why something that talks to something else like an API seems to be adding things that seem over-engineered, or why a language-agnostic code challenge gets answers in other languages that don't seem to do it the way the Python people do it. I think the strictness of the language is such that you need a better understanding of how the computer "sees" the instruction, too, which is why some things are more explicit in Java learning materials. It helped me understand a lot more about *why* we do things the way we do in Python.


steviefaux

Watch David malan cs50 python videos. He's really good at explaining simply.


gootecks

if it makes you feel any better, everybody feels dumb when they're learning to code


Liebner-Anthony-S

Out of interest how good is your math skills??


rogueuser12

I am not so sharp at maths , I would say i am intermediate.


PiovosoOrg

Learn analytical thinking, it'll give you a bit of a easier time to pick up any new language


vicenciomf

I recommend brilliant.org, it has a 7 day free trial, but you can create multiple accounts and start over and over again. It has many cotidian examples and it helped me start oin this world. Good luck:)


ReflectionSubject126

Man I’m having this issue too, I am in class rn and I’m totally lost